MaxScripts (28.04.2010)
in: Leveldesign, Modelling, Screenshots, Worlddesign

Ich habe mir, als eine Art zusätzliche Unterstützung für meine Pipeline, zwei Scripts gebastelt, welche in 3dsmax zur Anwendung kommen. (Sie wurden also in MaxScript geschrieben.)

Das erste ist für's Exportieren da:



Mit einem Klick habe ich dann meine Objekte im Spiel. Das Script nutzt hierbei die Scripting-API von OgreMax. Da OgreMax ein Szenen-Exporter ist, legt es bei jedem Klick auch eine .scene-Datei an, die ich nicht benötige (genauso wenig wie die Materialenbeschreibungs-Datei) - mein Script löscht sie daher.
Etwas komplexer wurde mein Script durch die Tatsache, dass ich Objekte mit unterschiedlichen Material IDs habe, auf denen aber keine echten 3dsmax-Materialien liegen - OgreMax fasst solcherlei Teil-Objekte dann automatisch zusammen (mit einem Material namens "NoMaterial"). Daher muss mein Script Meshes selbst erst einmal aufsplitten, bevor sie exportiert werden.

Mein zweites Script ist eigentlich eine (ständig wachsende) Script-Sammlung, mit kleinen aber feinen Funktionalitäten:



Wichtig ist vor allem die "Distributing"-Gruppe - schnell und einfach lassen sich dann kleinere Assets auf einem größeren Mesh entlang der Oberflächennormale verteilen, mit zufälliger Skalierung und Rotation. Das kann dann so aussehen aus wie auf diesen Bildern:

Ygnes (25.04.2010)
in: Characters, Konzept, Modelling, Skizzen

Ygnes ist nun so gut wie fertig. Sie ist sozusagen der "erste Offizier" auf dem Inselschiff (oder Erster Maat, der genaue Titel ist im Grunde egal), auch wenn es nicht militärisch angehaucht sein soll. Auf jeden Fall ist sie nicht nur die rechte Hand des Kapitäns, sondern auch seine Ehefrau. In meiner offiziellen Beschreibung im Konzept habe ich sie vor allem als streng und herrschaftlich charakterisiert, und versucht, dies in die Umsetzung miteinfließen zu lassen.

Von den Skizzen her gefällt mir die rechts oben am besten ("Piratestyle!"), sie war am Ende meine hauptsächliche Vorlage.

Die Bilder im Ganzen zeigen, was zu einem Characterdesign so dazu gehört: Skizzen, Modellierung, Unwrapping (in Roadkill, zum Vorbereiten der Texturierung), Rigging und Skinning (d.h. mit Knochen ausstatten), Animation. Die Textur ist auch beinahe fertig, kann jedoch jederzeit überarbeitet werden.
Da Ygnes in meinem Konzept über und über mit Efeu bedeckt ist, habe ich ihr der Einfachheit halber grüne Haut gegeben; denn das es würde den Aufwand kaum rechtfertigen, jede Menge Blätter zu modellieren - zumal ich sowieso einen eher einfachen Stil anstrebe, wie man sieht.

Die ersten beiden Screenshots demonstrieren übrigens, dass sich Ygnes auch schon in den Prototypen einbauen lässt, allerdings noch ohne Animation. Denn dafür muss ich erst alle Animationsphasen, die ich erstellt habe, in einer einzigen Datei in Reihenfolge bringen und dann entsprechend exportieren. Diese Aufgabe spare ich mir für den Moment, in dem ich Ygnes auch tatsächlich als Story-Element in meinem Präsentations-Level brauche.

Nebenbei kann man auf dem allerersten Screen auch erkennen, welcher Unterschied hinsichtlich Körpergröße zwischen ihr und dem Protagonisten besteht. Dieser Unterschied ist nicht zufällig, sondern wurde auf Größenvergleichs-Skizze links bereits geplant. Es wäre langweilig, wenn alle Figuren gleich groß wären - eine Lehre, die auch ganz nett im Manga Zeichenkurs von Akira Toriyama und Akira Sakuma erklärt wird.

Ygnes ist übrigens die erste Frau, die ich jemals modelliert habe ...

Geschichten eingestellt (26.10.2009)
in: Allgemeines, Dokumente, Konzept

Auch wenn ich selbst nicht hundertprozentig zufrieden damit bin, habe ich mal die Geschichten, die ich speziell für mein Spieleprojekt erfunden habe, online gestellt.
Der Inhalt sind vor allem die Hintergrundinformationen und die Handlung des Spiels. Ersteres ist wichtig für denjenigen, der sich die Geschichten ausdenkt, die im Universum von "Schwere in der Schwebe" spielen; das Zweite ist wichtig für den Spieler. Und um mir selbst Vorgaben zu machen, ich welche Richtung meine Character- und Level-Designs gehen, habe ich mir auch noch verschiedene Figuren und Missionen ausgedacht.

Mein Spiel hat jetzt - rein konzeptionell - ein mehr oder weniger festes Grundgerüst, und hätte ich die Zeit, würde ich mich sofort daran setzen, es weiter umzusetzen. Aber momentan steht noch das an, was eigentlich vor dem Konzept kommt: der schriftliche Teil meiner Diplomarbeit.

Nun ist es so, dass sich das Konzept jederzeit noch ändern kann; rein aus Zeitgründen werden es aber wohl keine fundamentalen Veränderungen mehr werden. Insgesamt hatte ich beim Schreiben oft das Gefühl, mir die Geschichten förmlich aus den Fingern zu saugen, daher freue ich mich eigentlich auf die etwas "handfestere" Arbeit des Recherchierens und Erörterns.

Es fehlt jetzt, für das Konzept, noch der Teil, der sich mit dem Design beschäftigt. Obwohl ich eigentlich früher damit fertig werden wollte, ist es auch nicht schlecht, wenn sich dieser Abschnitt etwas mehr hinzieht und über mehrere Monate verteilt. Immerhin ist es der wichtigste Part, und immer mal ein bisschen Abwechslung von der ganzen Theorie wird mir gut tun.

Gedanken zur Hintergrundgeschichte (10.10.2009)
in: Allgemeines, Konzept

Momentan sitze ich von Zeit zu Zeit an der Hintergrundgeschichte für mein Spiel. Am Anfang sah es so aus, als würde ich einfach ein paar der Fakten, die ich mir im Voraus überlegt hatte (verrückte Physik, gewisse Pflanzen als Ursache, zersplitterter Planet aus Auswirkung, schwebende Inseln, etc.) ausformulieren und zusammen bringen, ohne allzu prosaisch zu werden.
Das Problem ist, dass damit zwar einiges über die Welt gesagt wird, aber so gut wie nichts über die Bewohner und ihre Sprache, über die Zeitrechnung, das aktuelle Zeitalter und über Flora und Fauna. All dies ist aber ebenso wichtig, um eine interessante Geschichte entwickeln zu können, die konsistent ist und konform mit anderen Geschehnissen gehen.

Also ist es jetzt mein Ziel, die "Hintergrundgeschichte" nicht mehr als eine Art Abhandlung zu formulieren. Stattdessen wird es einzelne Unterkapitel mit Themata geben, die meiner Meinung nach den signifikantesten Einfluss auf eine Welt und eine darauf existierende Kultur besitzen. Momentan sind das:

Eigenart der Sprache und wichtige Bezeichnungen
Zeitrechnung und aktuelles Zeitalter
Wichtige Ereignisse im Laufe der Zeit
Landkarte der Welt
Bewohner der Welt
Flora und Fauna

Weniger wichtige, aber dennoch interessante Fakten bekommen ein Extra-Kapitel.

Update 15.10.: Ich habe die genannten Punkte jetzt fast alle untergebracht (bis auf "Sprache"), aber wie anfangs geplant in einem sehr knappen Beschreibungstext. Mir fehlt z.Zt. das Wissenschaftliche dabei; das ganze könnte jeder geschrieben haben. Würde ich mir noch mehr aus den Fingern saugen würde das diesen Eindruck noch viel mehr verstärken.
Im Großen und Ganzen brauche ich auch gar keine Hintergrundgeschichte; ein paar Fakten reichen völlig. Viel wichtiger ist jetzt eine (ebenfalls knappe) Handlung, die mich auf die zu designenden Charaktere und Levels einschwört.

Spielmechanik aktualisiert, Spielelemente online (24.09.2009)
in: Allgemeines, Dokumente, Konzept

Die zweite Hälfte des Konzepts ist jetzt einsehbar: die Spielelemente. Dabei handelt es sich vor allem um eine Konkretisierung der doch eher abstrakten und allgemeinen Aussagen, die unter "Spielmechanik" getroffen wurden. Letztere wurde übrigens etwas verändert und ausgebaut.
Fehlen nur noch die dritte und vierte Hälfte ... nämlich Story und Design. Bei der Story wird nochmals alles spezifiziert (z.B., wen man eigentlich spielt, und welchen Figuren man so begegnet). Das Kapitel Design behandelt natürlich Stil und Aussehen des Ganzen.

Meine TODO-Liste vom letzten Mal sieht nun so aus:


  • Testgrafiken erstellen

  • Das Konzept weiterschreiben, es fehlen die Spielelemente, das Design, die Hintergrundstory und der Plot.

  • Die Stückliste muss angepasst, zudem ein Zeitplan erstellt werden.

  • Der Prototyp muss erweitert werden.

  • Eine Gliederung für den schriftlichen Teil der Diplomarbeit muss vorbereitet werden.


Es wird so langsam.
Da dieses Tagebuch nur den praktischen Teil behandelt, werde ich die Gliederung und alles weitere, was die Theoriearbeit betrifft, wohl eher nicht online stellen.

Ingame-Editor (14.09.2009)
in: Leveldesign, Prototyp, Screenshots

Nach der letzten Konsultation bei meinem betreuenden Professor (bezüglich der Gliederung meiner schriftlichen Arbeit), habe ich endlich mal wieder die Muße, ein wenig zu schreiben.
Zur Zeit arbeite ich ab und zu mal an dem bereits erwähnten Ingame-Editor. Wie man auf den Screenshots sieht, kann das Verschieben, Rotieren, Skalieren von Objekten jetzt auch mittels "Gizmos" ausgeführt werden. Das Vergeben von neuen Meshes, Shapes und Materialien ist ebenfalls möglich. Nicht im Bild: Das Erstellen, Löschen und Kopieren von Gegenständen, sowie ein halbwegs funktionierendes Undo/Redo.
Im Grunde ist die Implementierung eines Editors für ein Projekt dieser Größe eigentlich sinnlos, weil unnötig zeitraubend. Andererseits muss ein Großteil der Funktionalität, die ich für den Editor basteln muss, am Ende sowieso vorhanden sein. Überdies hat es mir nochmals ein paar Ideen zum sinnvolleren Codedesign geliefert - auch wenn der Editor selbst nicht gerade sauber programmiert wird. Hauptsache, er läuft mehr oder weniger, und ich kann am Ende schnell ein paar Levels basteln. Je weniger Schritte die Pipeline bedarf, desto besser.

(Was man auf den Screenshots eventuell ebenfalls sieht: Ich habe AntTweakBar zugunsten einer einfacheren Debug-Anzeige entfernt.)

Interface-Sachen (25.08.2009)
in: Leveldesign, Prototyp, Screenshots

Da ich bis jetzt nichts über das Thema "Interface" geschrieben habe, will ich das jetzt mal nachholen. Auf dem Screenshot sieht man dabei die drei Arten an Menüs, die mich zur Zeit begleiten. Jedes der Fenster lässt sich ein- und ausblenden.

Unten links befindet sich das Hauptmenü. Es ist das einzige der drei, das später auch der Spieler zu Gesicht bekommen wird (natürlich nicht in dieser Gestalt). Momentan kann man hier vor allem die Bildschirmeinstellungen verändern. Wechselt man den Renderer (Direct3D oder OpenGL), muss man das Spiel allerdings neu starten.
Um dieses Menü anzuzeigen benutze ich Hikari, eine Bibliothek, die es erlaubt, Flash-Inhalte in OGRE darzustellen. Auf diese Weise werde ich recht einfach anspruchsvolle Menüs erstellen können.

Links oben sieht man eine Art Debug-Fenster, erstellt mittels AntTweakBar. AntTweakBar ist unabhängig von OGRE, daher war der Einbau etwas schwieriger (und ist es noch). Aber dank diesem leicht anpassbaren Fenster kann ich mir schnell und übersichtlich diverse Variablen innerhalb meines Programmcodes anzeigen lassen. Es ist sogar interaktiv, sodass ich diese Variablen auch unmittelbar verändern kann, so ich denn will.
Selbstverständlich wird das fertige Produkt dieses Fenster nicht beinhalten.

Den aktuellen Stand meines Ingame-Editors sieht man ganz rechts auf dem Screenshot. Das meiste davon ist noch Fake, aber das Darstellen und Ändern der Eigenschaften Masse, Gravitation, Position und Rotation eines ausgewählten Objektes (erkennbar an der roten Wireframe-Box) funktioniert bereits relativ problemlos. Als nächstes steht hierbei das Hinzufügen und Löschen von Objekten auf dem Plan.
Mittels dieses Menüs werde ich innerhalb der Applikation neue Level erstellen und vorhandene ohne Umwege bearbeiten können; was das Testen einer Spielsituation wesentlich vereinfachen sollte.
Natürlich müssen die eigentlichen Meshes bereits in 3D Studio Max oder einem anderen 3D-Modeller gebaut worden sein - mehr aber auch nicht.

Jetzt sollte ich aber mal aufhören, mich vor der Erweiterung und Bearbeitung meines Konzepts zu drücken ... So viel zu tun, so wenig Zeit!

Spielmechanik online (27.07.2009)
in: Allgemeines, Dokumente, Konzept

Mit leichten Zweifeln im Hinterkopf habe ich mal die erste Hälfte des Konzepts hochgeladen: das Gameplay. Die Zweifel rühren daher, dass ich das Gefühl habe, ein Spiel beschrieben zu haben, dass sowieso schon längst existiert. Auf der anderen Seite ist mir aber auch klar, dass ich im Grunde gar kein völlig neues Spiel mit lauter Innovationen basteln möchte, nicht in diesem Fall.

Logisch ist allerdings, dass das Konzept keinesfalls endgültig ist. Bis zum Ende des Projekts werden noch jede Menge Änderungen ihren Weg in den Text finden. Zumindest hoffe ich das.

Die nächsten Schritte sehen in etwa so aus:


  • Testgrafiken erstellen (Modelle, Texturen) - damit ich ansehnlichere Screenshots erstellen kann. Die Testgrafiken sollten simpel sein, von daher ist ein karikierender Stil wahrscheinlich.

  • Das Konzept weiterschreiben, es fehlen die Spielelemente (Definitionen der Charaktere, Power-Ups, Level, etc.), das Design, die Hintergrundstory und der Plot.

  • Die Stückliste muss angepasst, zudem ein Zeitplan erstellt werden.

  • Nebenbei muss der Prototyp erweitert werden. Bis zum Beginn des praktischen Teils der Diplomarbeit im Februar will ich ein halbwegs funktionierendes Framework haben, bei dem ich nur noch Anpassungen machen muss.

  • Der schriftliche Teil muss vorbereitet werden. Daher muss ich mir den eigentlichen Inhalt und eine Gliederung überlegen.


Uff.

>>>
© 2009 Friedrich Hanisch