Logo ICT-BZ

Berserk

Kurzinfo

Themenbereich

Softwareentwicklung

Lernende/r

Pascal Hocher

Lehrbetrieb

suva

Betreuer

Manuel Gut

Download Website

Berserk.zip

Aufgabenstellung

In wenigen Tagen ein eigenes Projekt realisieren – das war das Ziel des Projekts. Die Aufgabenstellung war frei wählbar. Ich entschied mich für ein "einfaches" Jump 'n' Run, das ich mit Python und Pygame realisierte. Das Spiel sollte aus einem mehr oder weniger schwierigen Level bestehen, das der Spieler durchlaufen muss. Dabei sollte er von Plattform zu Plattform springen. Auch sollte es vor dem Ende einen Bosskampf geben. Mein Hauptziel war es, nur selten auf KI zurückzugreifen und etwas Neues zu lernen. Dazu gehörte auch das Arbeiten mit Python, Pygame und das Erstellen eigener Grafiken.

Ergebnisse

Obwohl ich nicht alle meine Ziele erreicht habe, bin ich mit dem Ergebnis zufrieden. Ich habe ein einfaches Jump 'n' Run erstellt, das ein Level und einen Bosskampf enthält. Das Spiel ist spielbar und hat eine einfache Steuerung. Auch wurden alle Grafiken, außer der Spieler und der Boss, von mir erstellt. Der Spieler ist nicht in der Lage, illegale Aktionen auszuführen, kann also den Bildschirm nicht verlassen oder einen Doppelsprung machen.

Lösungskonzept

Um meine Ziele zu erreichen, habe ich mich zuerst mit Pygame auseinandergesetzt. Ich schaute mir einige Tutorials an und begann dann mit der Programmierung. Als Erstes programmierte ich die Steuerung des Spielers und die Kollisionen mit den Plattformen. Danach erstellte ich die Grafiken und fügte sie ins Spiel ein. Da die Grafiken und die zuvor benutzten Rechtecke nicht übereinstimmten, musste ich die Kollisionen anpassen. Anschließend erstellte ich den Boss und den Bosskampf. Die Spikes mussten natürlich auch noch hinzugefügt werden. Zum Schluss ersetzte ich die provisorischen Grafiken durch die endgültigen und testete das Spiel. Natürlich war das Ganze nicht so einfach wie beschrieben. Ich musste viele Tutorials ansehen und im Internet nach Lösungen suchen.

Aufgetretene Probleme

Es gab viele Probleme, die ich lösen musste. Das größte Problem war, dass die Kollisionen nicht funktionierten. Nach langer Recherche fand ich heraus, dass ich die Kollisionen mit Pygame Mask lösen konnte. Auch das richtige Bewegen des Hintergrunds war nicht ganz so einfach. Dass sich der Boss bewegt, aber nicht zu weit weggeht, war ebenfalls ein größeres Problem, als ich anfangs dachte.

Ausblick

Soundeffekte und Musik fehlen noch. Auch die Grafiken könnten noch verbessert werden.