Project SonicTheHedgehogRemake

SonicTheHedgehogRemake

MultiMediaTechnology, 2010

QPT2A - Andreas Schacherbauer / Steven Stojanovic

Das QPT2A ist ein klassisches 2D Jump'N Run. Es ist ein Remake der bekannten "Sonic The Hedgehog" Reihe.

Wie kam es zur Idee Die Motivation für dieses Projekt war von unserer Seite aus zum einen ein komplett spielbares Spiel zu programmieren, welches ein gutes Gameplay besitzt, und zum anderen ein original Sonic Spiel so gut wie möglich nachzubauen.

Das Spiel Nachdem sich unsere Erste Idee fürs QPT2A (eine Art Guitar Hero) als nicht ausgereift genug erwies, kam Steven auf die Idee ein Sonic Spiel zu programmieren. Die Herausforderung dabei sollte sein, die Sonic Typische GamePhysiks mit einzubauen.

Dabei geht es darum, das Sonic Momentum(physikalisch: Impuls ) aufbaut und somit seine Geschwindigkeit erhöht. Dabei wird berücksichtigt wie die Bodenbeschaffenheit ist, sprich ob das Level gerade eine Steigung oder ein Gefälle hat. Je nachdem wird Sonic schneller oder langsamer und ist in der Lage höher zu springen oder z.B. einen Looping zu durchlaufen. Zu diesen Physik s gehört auch das verhalten von Sonic, wenn er auf einen Gegner trifft. Hüpft er auf einen solchen, so wird er nach dem Physikalischem Prinzip Aufprallwinkel = Abprallwinkel seine Bewegungsrichtung ändern. Springt Sonic also von links oben nach rechts unten kommend auf einen Gegner, so wird er nachdem er den Gegner berührt hat von links unten nach rechts oben beschleunigt. Mit diesen physikalischen Berechnungen kann man noch viel eindrucksvollere Effekte programmieren. So kann unser Sonic einen Looping durchlaufen. Dabei wird kein anderes Hilfsmittel benötigt als Mathematik und Physik. Wenn Sonics Geschwindigkeit nicht groß genug ist, fällt er aus dem Looping und aus dem Level. Ist seine Geschwindigkeit jedoch groß genug und die Kraft, die er auf den Untergrund ausübt groß genug, so kann er durch den Looping laufen ohne herunterzufallen. Zusätzlich wird Sonic noch so rotiert, das es aussieht als seien seine Füße immer auf dem Boden des Loopings. Dabei hilft uns auch wieder die Mathematik. Da wir zu jedem Zeitpunkt und Ort im Spiel einen Vektor haben, der genau senkrecht zum Untergrund steht(Normal Vektor) ist es uns möglich über eine Winkelfunktion den Winkel zu errechnen um Sonic so zu rotieren das er mit den Füßen immer auf dem Untergrund bleibt. Um ein komplettes Spiel daraus zu machen mussten wir noch andere Gameplay Features mit einbauen. So kann Sonic wie im echten Spiel Ringe sammeln und Monitore zerstören, die sich im Level befinden. Die Ringe werden im vorbeilaufen aufgesammelt und die Anzahl gespeichert. Monitore werden mit einem Sprung auf denjenigen zerstört und geben ihren Inhalt frei, welcher aus extra Leben oder 10 Ringen bestehen kann. Trifft Sonic im weiteren Spielverlauf jedoch auf einen Gegner und tötet diesen durch einen Sprung auf ihn nicht, so verliert Sonic seine Ringe, welches wie im echten Spiel durch eine kleine Animation verdeutlicht wird. Wenn Sonic das Level durchlaufen hat wird am Ende seine Punktzahl berechnet. Diese setzt sich aus der benötigter Zeit für das Level zusammen, der gesammelten Ringe und der Anzahl der zerstörten Gegner. Dieser Punktestand wird dann in einem Highscore gespeichert, welcher auch nach Programmende in einer separaten Datei gespeichert wird und somit nicht verloren geht.

Weiterentwicklung Das Spiel ist sehr systematisch und modular aufgebaut. Es wäre möglich noch weitere Levels und Gameplay Features einzubauen. Derzeit planen wir allerdings nichts in dieser Richtung. Auch ist kein kommerzieller Verkauf des Spieles geplant.

Appendices

Creators

Andreas Schacherbauer

Game Programmierung

Steven Stojanovic

Game Programmierung