Golder Sash-A

Top  Previous  Next

Ulrich Seiffert, das Gehirn hinter Golder Sash-A, war so freundlich, die Fragen für das diesmonatige Interview zu beantworten und ein paar Spielelevel für die Mitglieder der Gamestudio-Community zu erstellen.

 

F: Golder Sash-A7 sieht aus als würde es ein vielversprechender Boulder-Dash-Klon werden. Wieviel Zeit hast Du dazu investiert?

A: Ich habe nicht allzulange dafür gebraucht, dieses Spiel zu erstellen. Angefangen habe ich mit ein wenig Nachforschen über die vielen Boulder-Dasch-Klone (~1St.). Dann habe ich mich entschlossen und mein Konzept aufgeschrieben (~30 Min.). Das animierte Player-Modell habe ich schon vor langem von Blattsalat gekauft (ich verwende es für viele Projekte), die anderen Modelle sind einfache, texturierte Primitives (~ 2 St.). Das Progammieren hatte den größten Anteil (~7-8 St.) inklusive Soundauswahl, Dialoge (~2St.), Leveldesign für 3 Levels (~2St.). Und last but not least das Testen und Feinabstimmen (~4 St.). Alles in Allem habe ich also etwa 20 Stunden gebraucht, um dieses Game mit Gamestudio zu erstellen.

 

F: Wo liegen die Unterschiede zwischen Deinem Game und anderen Boulder-Dash-Klonen?

A: Das Hauptaugenmerk für diesen Klone lag darin, ein erweiterbares Spiel zu erstellen (und natürlich der Versuch, den Wettbewerb zu gewinnen ;)). Es sollte sehr bald spielbar sein, um zu sehen, dass das Konzept aufgeht. Die Levels werden in externen ASCII-Dateien gespeichert, so dass sowohl ich als auch jeder kreative Player die Möglichkeit hat, neue trickreiche Levels zu erstellen. Das ist einfach zu machen (nur Felsen und Bomben und etwas Grün, um den Rest abzudecken - der Spaß der Level liegt im Level-Design). Wenn das Basis-Spiel Fans bekommt, kann ich es auch erweitern indem ich einfach ein neues Skript für ein Objekt schreibe, das durch einen ASCII-Buchstaben dargestellt wird (beispielsweise Monster, Türen und Schlüssel, Fallen). Ausserdem plane ich, Level-Downloads direkt aus dem Internet zu implementieren.

 

F: Die Spiele-Level sind 3D und haben dennoch ein sauberes 2D-ähnliches Aussehen. Das Player-Modell, die Diamanten etc. sehen scharf aus - was hast Du gemacht, um das zu erreichen?

A: Es gibt einen hohen Kontrast zwischen dem (hellen, farbenfrohen, cartoonmäßigen) Vordergrund und dem (dunklen, unscharfen) Hintergrund, einem Sky-Cube. Die Goodies (Gold und Edelsteine) sind minimale Primitves mit harten Oberflächen und harten Texturkanten.

 

F: Wie hast Du die Physik für die Felsen implementiert?

A: Das Spiel repräsentiert ein Array [x][z]. Ist die Zelle unterhalb des Felsens freigeräumt, fällt er (wenig schneller, als de Player laufen kann) in die darunterliegende Zelle. Ist die Zelle links leer und die Zelle unter der linken Zelle auch, fällt der Felsen diagonal in das linke, untere Feld. Dasselbe geschieht auf der rechten Seite. Jede Änderung wird im Array gespeichert.

 

F: Soweit ich das sehe, verwendest Du in einem komplexeren Level ungefähr eintausend Entities und doch bleibt das Gameplay flüssig. Hattest Du irgendwelche Probleme, das zu erreichen oder ist das von selbst do gekommen? :)

A: Das kommt alles fast von selbst :) . Wenn man einige Regeln beachtet, rendert die Engine schnell. Die Objekte haben keine komplexen Skripte. Es gibt (derzeit) keine AI, keine Shader, keine Schatten (man vermeide viele Entities mit komplexem, zugewiesenem Code!). Die Modelle haben wenig Flächen und kleine Texturen (256x256 Pixel) und es gibt ein Maximum von 425 Modellen, die gleichzeitig sichtbar sind (die meisten sind nicht animiert).

 

F: Wie lange braucht ein normaler Mensch dazu, ein mittelgroßes Level für das Spiel zu erstellen? Warum?

A: Probier' es einfach! :) Klar braucht das erste Level länger als das nächste aber für ein Level der Grösse 40x30 Zellen dürfte es ungefähr 10 - 30 Minuten dauern, je nach Design-Komplexität.

 

Warum? - Man kann einen einfachen Editoren (beispielsweise Notepad) benutzen, um die Levels per Platzieren der Buchstaben zu erstellen. Schreibe einen Rahmen aus "W"änden, platziere einen "p"layer und einen Ausgang, also e"x"it. Dann fügst Du ein paar "a"urm (Gold), "g"rüne und "r"ote Edelsteine hinzu sowie ein paar Felsen (b"O"ulders) und einige B"o"ben. Damit Du das Level starten kannst, nennst Du es "a.lvl". Du kannst das Design mit zusätzlichen Objekten immer weiter optimieren. Das ist ein einfaches Level, das in 5 Minuten gemacht war:

 

 

aum90_5min.lvl_Edit2Map

F: Wie hast Du das Programmieren in lite-C gelernt?

A: Ich habe von C-Skript zu lite-C gewechselt. Ich kannte C / C++ und daher war es einfach lite-C zu lernen, ich kannte ja das Konzept hinter C-Skript / lite-C. Dein AUM ist immer eine gute Quelle für Code-Teile, neue Features usw. Und ich liebe das Game-Designen und das Programmieren also verbringe ich damit Unmengen an Zeit! Mein Tipp für all die C-Skript-Programmierer: lernt lite-C! Ich werdet erstaunt sein!

 

F: Ich weiß, dass das nicht Dein erstes Spiel ist. Welchen Rat würdest Du einem blutigen Anfänger in Sachen Spieleentwicklung geben?

A: Das hängt komplett von Deinen Ambitionen ab. Wenn Du einfach zum Spaß Spiele programmieren willt - dann hab einfach Spaß daran. Fang' klein an. Und mit Sicherheit ist Gamstudio die richtige Wahl für Dich. Nutze jede Quelle aus der Du lernen kannst. Du kannst sicher sein, daß Du verzagen wirst - immer und immer wieder - aber halte durch, Du wirst besser und besser!

 

Wenn ein Projekt allzusehr stockt - setze es aus und fang' mit einem Neuen - einfacheren - an (kleine Schritte!). Hab' Spaß! Hab' Spaß"! "Hab' Spaß"! Spiele Games und analysiere was gut und was nicht so gut ist. Finde heraus (oder frag' jemanden) wie diese und jene Features / Effekte erreicht wurden. Finde heraus, wo Dein Talent steckt (das Spieleentwickeln hat so viele Gesichter (zufällige Reihenfolge)): Modelling, Animation, Geschichten-Erzählen, Coden, Projektführung, Controlling, Sound-Design, Musik-Komponieren, Grafik-Design, Assembling, Testen, Qualitätssicherung, Übersezten, Level-Design, Anzeigenschaltung, Publishing, Marketing, Kaffe-Kochen, Pizza-Liefern, Aschenbecher-Leeren...). Also los, verbessere Dein Talent. Dür die Aufgaben mit denen Du Schwierigkeiten hast, solltest Du versuchen ein Team oder ähnlich gestrickte Leute zu finden oder Du lernst es einfach (so gut Du kannst).

 

Willst Du ein Profi werden, dann finde Dein Talent und arbeite hart daran. Biete Deine beste Arbeit mitsamt ausführlichem Demo an. Du mußt in Deinem Bereich / Deinen Bereichen sehr gut sein. Und generell: wähle die besten Tools, die Du Dir leisten kannst und lerne damit umzugehen. Ja und habe ich es erwähnt? "Hab' Spaß"! :)

 

Vielen Dank , Ulrich!