Aaron Fischer Ingenieur, Vater, Heimwerker, Problemlöser

Open Source (Advent2009)

Viele reden von Open Source, doch die wenigsten beteiligen sich aktiv. Mit dieser Serie von Artikeln will ich den Open Source Gedanken etwas näher bringen und ein interaktives Projekt zum mitmachen schaffen. Verpackt als Adventskalender (in kooperation mit Florian) gibt es jeden zweiten Tag im Advent ein Teil dieser Serie.

Tag 24: Ausblick, wie gehts weiter? über 8 Jahre

Geschafft! Wir haben ein kleines Spiel von Anfang bis zum Ende begleitet. Wirklich bis zum Ende? Das ist jetzt die Frage. Gibt es ein Ende bei einem Open Source Projekt? Wann hört man auf mit Entwickeln? Was passiert, wenn der Hauptentwickler die Lust verliert? Haben wir etwas vergessen? Das werden wir jetzt klären.

Tag 22: Deployment und Portierung auf andere Systeme über 8 Jahre

Das Spiel ist (theoretisch) fertig. Klar, alles wurde nur ansatzweise programmiert, aber gehen wir mal davon aus, dass wir nun eine stabile Version haben, die wir der Öffentlichkeit zeigen wollen. Wir müssen jetzt dafür sorgen, dass wir den Programmcode unters Volk bekommen und eine möglichst große Zielgruppe ansprechen. Deshalb werden wir uns noch ein paar Gedanken über Portierung machen.

Tag 20: Testen, Dokumentation und User Contributions fast 9 Jahre

In den letzten Teilen ging es ziemlich zur Sache. Wir haben eine Menge programmiert, überlegt und konstruiert. Nun wollen wir sicherstellen, das das, was wir gemacht haben, funktioniert und andere auch verstehen. Deshalb werden wir unseren Code testen, dokumentieren und auch eine kleine Bedienungsanleitung schreiben. Da nicht nur ich selbst Code schreibe, sondern auch Patches und andere Anfragen von Benutzern kommen, müssen wir hier auch sicherstellen, diese mit in die Software einfließen zu lassen.

Tag 18: Menü und Game States fast 9 Jahre

Soweit ist unsere Spielfläche fertig. Zwar bewegt sich noch nicht all zu viel, doch bevor wir jetzt mit dem Programmieren weiter fortfahren, sollten wir uns Gedanken über die Struktur machen. Momentan steckt ziemlich viel in der draw.c und der Rest ist in main.c. Auch landen wir beim Start der Anwendung direkt auf dem Spielfeld. Ein Menü wäre wünschenswert sowie etwas mehr Ordnung im Code.

Tag 16: Farben und Interaktion fast 9 Jahre

So wie die Landschaft jetzt ist, sieht sie noch nicht sehr einladend aus. Wir brauchen also noch etwas Farbe. Was momentan auch noch etwas schlecht gelöst ist, ist die Tatsache, dass wir den Landschaftsgenerator nicht richtig testen können, da wir jedes Mal das Programm aufrufen und mit STRG + C wieder schließen müssen. Hier wollen wir uns auch etwas mehr Komfort gönnen.

Tag 14: Die mathematisch beschriebene Landschaft fast 9 Jahre

Widmen wir uns nun wieder dem eigentlichen Spiel zu. Das Erste, was wir versuchen, ist ein zweidimensionales Profil einer Landschaft, ähnlich wie in den Spielen Tank Wars, Artillery Duell, Bang Bang oder Worms. Hier gibt es natürlich mehrere Ansätze, so ein Landschaftsbild zu generieren. Das dies mehr oder weniger realistisch gemacht werden kann, sieht man schon an den Screenshots. Wir wollen zwei verschiedene Varianten ausprobieren.

Tag 12: Die eigene Toolbox und Code debugging fast 9 Jahre

Heute wollen wir richtig in die Programmierung mit C einsteigen. Die Umgebung steht, die IDE ist aufgebohrt, der Build-Prozess automatisiert und der Rahmen steht auch schon. Nun gehen wir daran, uns ein kleines Set an Grafikbefehlen zusammenzubauen, mit denen wir Linien, Flächen, Rechtecke oder Kreise zeichnen können. Spätestens jetzt werden wir zwangsläufig Fehler machen. Damit wir die Fehler auch schnell lokalisieren und beheben können, schauen wir uns den Debugger gdb an.