Projekt ConfusingBall: Unterschied zwischen den Versionen
K (→Die Entwicklung) |
K (→Die Entwicklung) |
||
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
Das grobe Grundprinzip von Confusing Ball basiert auf dem (schon sehr alten, warscheinlich unbekanntem) Spiel "Kula World", damals für die Playstation. Da mir die Idee des Spiels gefiel, habe ich Confusing Ball nach einem ähnlichen Prinzip aufgebaut. Einige Spielelemente sind jedoch verändert worden/neu hinzugekommen. | Das grobe Grundprinzip von Confusing Ball basiert auf dem (schon sehr alten, warscheinlich unbekanntem) Spiel "Kula World", damals für die Playstation. Da mir die Idee des Spiels gefiel, habe ich Confusing Ball nach einem ähnlichen Prinzip aufgebaut. Einige Spielelemente sind jedoch verändert worden/neu hinzugekommen. | ||
+ | |||
+ | ==Spielprinzip== | ||
+ | Ziel ist es den Ball durch einen 3D-Parcours zu einem Ziel zu manövrieren. Und zwar ohne, dass der Ball die Strecke verläßt. | ||
==Die Entwicklung== | ==Die Entwicklung== | ||
+ | [[Bild:Thumb_confusingball.jpg|right|framed|ConfusingBall]] | ||
Da Confusing Ball mein erstes größeres OpenGL-Projekt war, hat sich die Entwicklung dem entsprechend lange hingezogen. Rund 8 Monate hat es gedauert das Spiel inklusive Editor fertigzustellen. Den Editor habe ich parallel dazu geschrieben: Kamen im Spiel neue Features hinzu wurde zunächst der Editor um eben diese Features erweitert. | Da Confusing Ball mein erstes größeres OpenGL-Projekt war, hat sich die Entwicklung dem entsprechend lange hingezogen. Rund 8 Monate hat es gedauert das Spiel inklusive Editor fertigzustellen. Den Editor habe ich parallel dazu geschrieben: Kamen im Spiel neue Features hinzu wurde zunächst der Editor um eben diese Features erweitert. | ||
− | Das größte OGL-Technische Problem war die "Kamera". Ich habe jedoch keine Kamera-Unit verwendet, sondern alles nur über viele, in If- | + | Das größte OGL-Technische Problem war die "Kamera". Ich habe jedoch keine Kamera-Unit verwendet, sondern alles nur über viele, in If-Abfragen verschachtelte, Translate und Rotate Befehle gemacht. Dabei traten immer wieder viele Fehler auf, als der Ball die Seiten wechselte. Durch langes testen und noch mehr Abfragen hat es irgendwann ohne Probleme funktioniert, wobei ich dann selbst nicht mehr wirklich durchblickte... |
Wenn ich das Spiel neu schreiben würde, käme als erstes eine Kamera-Unit hinzu, und der Quellcode würde um einige hundert Zeilen schlanker, übersichtlicher und wesentlich schneller. | Wenn ich das Spiel neu schreiben würde, käme als erstes eine Kamera-Unit hinzu, und der Quellcode würde um einige hundert Zeilen schlanker, übersichtlicher und wesentlich schneller. | ||
Zeile 23: | Zeile 27: | ||
*[http://texelviews.delphigl.com Die Projektseite zu Confusing Ball] | *[http://texelviews.delphigl.com Die Projektseite zu Confusing Ball] | ||
*[http://www.delphigl.com/forum/viewtopic.php?t=4983 Der Projektthread im Forum] | *[http://www.delphigl.com/forum/viewtopic.php?t=4983 Der Projektthread im Forum] | ||
− | *[http://texelviews.delphigl.com/ | + | *[http://texelviews.delphigl.com/projects.php Download Seite] |
Aktuelle Version vom 14. September 2007, 09:55 Uhr
Inhaltsverzeichnis
Projekt: Confusing Ball
Die Vorgeschichte
Am Anfang war... der Ball.
Das grobe Grundprinzip von Confusing Ball basiert auf dem (schon sehr alten, warscheinlich unbekanntem) Spiel "Kula World", damals für die Playstation. Da mir die Idee des Spiels gefiel, habe ich Confusing Ball nach einem ähnlichen Prinzip aufgebaut. Einige Spielelemente sind jedoch verändert worden/neu hinzugekommen.
Spielprinzip
Ziel ist es den Ball durch einen 3D-Parcours zu einem Ziel zu manövrieren. Und zwar ohne, dass der Ball die Strecke verläßt.
Die Entwicklung
Da Confusing Ball mein erstes größeres OpenGL-Projekt war, hat sich die Entwicklung dem entsprechend lange hingezogen. Rund 8 Monate hat es gedauert das Spiel inklusive Editor fertigzustellen. Den Editor habe ich parallel dazu geschrieben: Kamen im Spiel neue Features hinzu wurde zunächst der Editor um eben diese Features erweitert.
Das größte OGL-Technische Problem war die "Kamera". Ich habe jedoch keine Kamera-Unit verwendet, sondern alles nur über viele, in If-Abfragen verschachtelte, Translate und Rotate Befehle gemacht. Dabei traten immer wieder viele Fehler auf, als der Ball die Seiten wechselte. Durch langes testen und noch mehr Abfragen hat es irgendwann ohne Probleme funktioniert, wobei ich dann selbst nicht mehr wirklich durchblickte...
Wenn ich das Spiel neu schreiben würde, käme als erstes eine Kamera-Unit hinzu, und der Quellcode würde um einige hundert Zeilen schlanker, übersichtlicher und wesentlich schneller. Auch würde ich zuerst alles planen, bevor ich anfange zu schreiben, dann wäre das Einbauen neuer Features erheblich leichter gewesen.
So konnte das Spiel irgendwann nicht mehr ohne große Probleme erweitert werden. Ich kann bei größeren Projekten nur raten sich vorher ein Plan zu machen, wie alles am Ende aussehen soll, denn diese Vorarbeit spart einem später sehr viel Zeit und Ärger.
Praktisch an der Entwicklung war, das sich nebenher einige Units automatisch mitentwickelt haben, die auch in meinen zukünftigen Programmen/Spielen ihren Dienst leisten werden.
Darunter eine SoundUnit für FMod, einen TexturenManager, und eine GUI-Unit.