Kategorie-Archiv: Programmierung

Building a compact arduino based DMX testing device

We are currently working on a project that involves a device that reacts in a certain way to signals it gets via DMX. DMX is a protocol that is widely used for lighting and effects.

We had the option to rent a fully fledged DMX console for testing our hardware prototypes. But this would have been cost-intensive and time consuming. And i knew that the protocol itself is not the most complex thing in the world. I had the idea to build a small device that could send a DMX signal. Weiterlesen

Stupid swarm agents in Unity3d for Global Game Jam 2017

Recently i participated in the Global Game Jam 2017 at our University in Koblenz. With a team of five on location and another helpful friend that donated the awesome music we made a small strategy game within this years theme „waves“ in the unity3d engine. The name is „Tower Offense – Final Wave“ and you can find the executable and the full unity3d project here.


The basic idea is that each player has a base that constantly produces small autonomous robots. These robots are under your control as long as the radio waves of your base tower or the radio towers you can build reach it. As soon as it leaves the influence radius of your towers it losses signal strength and eventually you loose control. You have the option to change from building attack robots to build harvesters which bring in ressources you need to build more towers. The aggressive robots try to find the nearest enemy robot or building and engage it. The enemy can, like the player, build more towers and when a hostile robot stays in the range of an opposing tower for too long, the owner of that tower gains control of the robot. The winning condition is easy: Destroy the enemy base!

My part this time was the programming of the „artificial intelligence“. But because i like to work quick and see results fast my solution might (definitely) not be the most elegant or efficient solution.
Weiterlesen

Version Control in Unity3D with Perforce

unityperforce_1

We have been using Unity for a long time now and we have always been struggling with any type of version control / centralized storage for our projects. We tried different solutions like svn or git and always ran into troubles often sooner than later.

After licensing Unity Pro we planned to at least use the asset server to avoid having to sort trough tons of indiviual copies and „branches“ on multiple workstations. But unfortunately, when we finally found the spare time to set it up, the asset server was somehow marked as deprecated.  But the accompanying documentation page recommended Plastic SCM or Perforce as alternate solutions.

Our decision to try out Perforce was based solely on the fact that i had heard more about Perforce than Plastic SCM. Weiterlesen

Unity3D – global Highscore for Android games without external tools

We recently released a little game into the wild: Just Jumping on the Google Playstore.

Beside creating an easy to pick-up game with some sort of addictive gameplay we wanted to create a bit of a competition by collecting global highscores.

There are many options on how to achieve this, most of them include external tools or libraries. And we wanted to avoid that. DIY it was…

What you need to collect global highscores:

  • A transfer method to get data from the device to where the scores a stored.
  • A place where you can collect the highscores. Preferably a web server with a database.
  • A way to identify players.
  • Methods to make cheating hard or impossible.

Weiterlesen

MaxScript – Color By Poly Count

colorbypolyWhen trying to optimize the polygon count of a model or scene you often run into the problem of finding out which object is the culprit. I have done a lot of searching by hand in crowded scenes over the years and i finally decided to write this really simple script to ease the process.

The script iterates over all the objects in the scene and changes their wirecolor to a hue between red and green. The object with the lowest face count in the whole scene is pure green, the one with the highest face count is pure red. Everything else is between those.

Using the wireframe mode or the object overview you can tell at a glance where all those polys are!

You can download it here.

If you have any questions or comments, feel free to write an email!

 

Touch Input in der Unity Engine

inputDa man mit der kostenlosen Version der Unity-Engine nun schon seit Mitte des letzten Jahres auch Software für die verschiedenen Mobilplattformen erzeugen kann steigt die Anzahl der Unity-Projekte die auch auf eben diesen Geräten veröffentlicht werden immer weiter an.

Gerade auf Handys und Tabletts die nur eine begrenzte Zahl an Eingabemöglichkeiten haben ist es enorm wichtig ein konsistentes, intuitives und vor allem zuverlässiges Eingabeschema zur Verfügung zu stellen. Weiterlesen

Billboards

BillboardsEinfach ausgedrückt sind Billboards flächige grafische Elemente die immer zum Betrachter ausgerichtet sind. In der Computergrafik werden sie verwendet um Partikeleffekte wie Rauch oder Feuer mit moderatem Rechenaufwand darzustellen oder auch um bei weit entfernten Objekten anstelle eines aufwändigen 3D Modelles nur noch ein „Bild“ des Modells anzuzeigen.

Will man nun Billboards selbst implementieren gibt es mehrere Varianten zur Auswahl, eine davon möchte ich jetzt kurz vorstellen. Weiterlesen