Bachelorprojekt – Mein Spiel Code Bread

Hallo! Leider geht es heute wieder nicht mit Yii weiter, da ich momentan aus meiner Wohnung ausziehen muss und mich auf dem Endspurt des Bachelorprojekts befinde. An diesem ändert sich jetzt eigentlich nix mehr, das einzige was fehlt ist die abschließende mündliche Prüfung und das Verfassen eines dicken Reports. Daher kann ich das Projekt nun in seiner Gänze hier vorstellen und archivieren!

pfeildings

Projekterfahrungen

Ausgeschrieben war das Projekt damals als ‚Development of a browser-based game framework‘ und ich dachte, super! Meine zwei großen Interessensgebiete (Spiele und Web) in der Informatik/Programmierung in einem! Die Anforderungen waren knackig für mich und ich wusste nicht genau worauf ich mich einließ, aber was konnte schon schlimmes passieren? einzelbrotRückblickend war das für meine Informatikfähigkeiten die beste Entscheidung überhaupt. Bisher habe ich mich durch viele Programmierkurse so an der unteren Grenze durchgehangelt und recht schnell wieder Dinge verlernt. Das war hier nicht möglich, da ich für die nächsten 360 Stunden Projektzeit so ziemlich auf mich alleine gestellt war. Kaum woanders ist der ‚Learning by doing‘-Spruch so wahr wie in der Programmierung. Ich habe mich also durchgebissen, ich habe eine Menge Fehler gemacht, Programmierarbeit von Tagen mussten oft komplett erneuert werden, ich habe programmiert. Und auch wenn ich deutlich über den 360 Stunden rauskomme, wird das Ganze wohl keine 1 mit Stern werden, aber das ist ok. Selbst wenn ich durchfallen sollte, sehe ich das als Win (mit miesem Beigeschmack ok^^), weil ich so viel gelernt habe. So viel zu meinen Erfahrungen, worum gings denn jetzt genau bei diesem Projekt??

Das Projekt

Zwar ist mein Projekt für sich recht abgeschlossen und eigenständig, bettet sich jedoch in ein größeres Projekt ein, das für dieses Semester aus zwei Leuten bestand. Das gesamte Projekt sollte eine web-basierte IDE liefern, die es Schülern ermöglicht Programmieren zu lernen. Damit das einen gewissen Reiz bekommt, programmieren die Schüler ein Spiel. Dieses Spiel und eine einfache Schnittstelle zum programmieren des Spiels war meine Aufgabe und die habe ich meiner Meinung nach gut erfüllt. Zwei Sachen die nicht so gut liefen, war einerseits der Aspekt der Quality Assurance (Tests schreiben) und einige Funktionalitäten zum Debuggen für den Spieler. Tests schreiben war etwas, das ich noch nicht wirklich gemacht habe und bei Spielen auch schwer ist, weshalb ich mich immer eher auf andere Dinge konzentriert und das verdrängt habe. Die Funktionalität zum Debuggen erforderte viel Zusammenarbeit mit dem Studenten, der die IDE entwickelte. Zusammenarbeit ist irgendwie nie ganz leicht, wurde hier aber auch noch durch seinen super engen Terminkalender erschwert und weil er ,glaube ich viel weniger Zeit als ich reingesteckt hat (dafür konnte er schon mehr zu Anfang). Wir mussten die Regeln von SCRUM streng verfolgen, was sich bei einem 1-2 Mann Projekt für mich oft nervig und nach Overkill angefühlt hat. Nichtsdestotrotz habe ich auch das durchgezogen. Also, nach vielen Stunden Programmieren, modellieren , diskutieren und Haare verlieren habe ich ein funktionierendes und sogar spaßiges Spiel mit API erschaffen! Es nennt sich Code Bread und funktioniert ähnlich wie Doodle Jump. Da die Spieler in der IDE eine eigene Version des Spiels erschaffen, ist es immer ein bisschen anders. Natürlich könnt ihr hier aber eine Version mit einer Musterlösung von mir spielen.

– hier spielen –
title

 

Großes, großes Poster

Zum Projekt gehört auch die Erstellung eines Größe A0 Posters und die Schriftgröße der Vorlage ist echt klein. Hier erfährt man noch genauer worum sich das Projekt dreht. Besonders gut sieht man hier die Aufgaben, die dem Schüler beim programmieren des Spiels gestellt werden.

pfeildings

 

Das wars. Vorbei. Gelernte Weisheiten: Ein fertiges Projekt ist immer besser als ein unfertiges. Programmieren lernt man nur durch programmieren. Bis nächste Woche, in welcher ich dann schon in Bulgarien bin 🙂

*geht ins Powerpointland*