-
Pleasure Park (Freizeitpark-Simulator, Teil 11)
In dieser Reihe geht es um ein geplantes Computerspiel mit dem Arbeitstitel “Pleasure Park“, in welchem der Spieler einen Freizeitpark aufbauen kann. Die Beiträge stellen eine Art Tagebuch dar, in welchem der Fortschritt Ideen und Überlegungen in groben Zügen dokumentiert werden. Alle Beiträge zu diesem Thema werden hier angezeigt.
Fahrgeschäft: Coaster
Ein Freizeitpark benötigt natürlich auch Fahrgeschäfte. Insbesondere Schienen-Fahrgeschäfte wie Achterbahnen dürfen nicht fehlen. Der Steckenverlauf kann mittels Bézier-Splines definiert werden, wie bereits im letzten Beitrag geschildert.
Mittlerweile ist ein rudimentärer Spline-Editor implementiert, so dass der Spieler den Streckenverlauf mit einfachen Werkzeugen selbst gestalten kann. Kontrollpunkte können hinzugefügt, verschoben, rotiert und gelöscht werden. Außerdem gibt es spezielle Kontrollpunkte, mit denen vereinfacht gesagt die Biegeradien beeinflusst werden können.
Das Geometrie-Mesh der Schienen wird dann automatisch entlang der vorgegebenen Kurven generiert. Stützen und Streben fehlen bislang noch.
Zur besseren Veranschaulichung dienen die nachfolgenden Videos:
-
Pleasure Park (Freizeitpark-Simulator, Teil 10)
In dieser Reihe geht es um ein geplantes Computerspiel mit dem Arbeitstitel “Pleasure Park“, in welchem der Spieler einen Freizeitpark aufbauen kann. Die Beiträge stellen eine Art Tagebuch dar, in welchem der Fortschritt Ideen und Überlegungen in groben Zügen dokumentiert werden. Alle Beiträge zu diesem Thema werden hier angezeigt.
Fahrgeschäft: Coaster
Ein Freizeitpark benötigt natürlich auch Fahrgeschäfte. Insbesondere Schienen-Fahrgeschäfte wie Achterbahnen dürfen natürlich nicht fehlen. Der Steckenverlauf kann mittels Bézier-Splines definiert werden. Eine gute Erklärung zu Bézier-Kurven ist bei Wikipedia zu finden.
Die Geometrie für die Schienen muss dann automatisch entlang der vorgegebenen Kurven gerendert werden.
Die Fahrzeuge werden entlang der Bézier-Kurven bewegt so dass der Eindruck entsteht, sie würden auf den Schienen fahren.
Der Streckenverlauf der einzelnen Schienen-Fahrgeschäfte soll vom Spieler während des Spiels bearbeitet und verändert werden können. Hierzu muss der Spieler die Bézier-Kurven über Kontrollpunkte editieren können.
Zu Beachten ist auch, dass es bei Achterbahnen natürlich verschiedene Streckenabschnitte gibt. Neben den regulären Fahrstrecken werde beispielsweise auch Lifte, Katapulte und Bremsbereiche benötigt. Dies wird später von Bedeutung sein wenn es darum geht, die Fahrphysik zu simulieren.
Für den Anfang muss zunächst eine Möglichkeit gefunden werden, in der Unity-Umgebung mit Splines zu arbeiten. Sehr hilfreich hierfür ist das Tool UnityBezierSolution von Süleyman Yasir KULA (yasirkula).
Zur besseren Veranschaulichung dient das nachfolgende Video:
-
Pleasure Park (Freizeitpark-Simulator, Teil 9)
In dieser Reihe geht es um ein geplantes Computerspiel mit dem Arbeitstitel “Pleasure Park“, in welchem der Spieler einen Freizeitpark aufbauen kann. Die Beiträge stellen eine Art Tagebuch dar, in welchem der Fortschritt Ideen und Überlegungen in groben Zügen dokumentiert werden. Alle Beiträge zu diesem Thema werden hier angezeigt.
Fahrgeschäft: Breakdance
Ein Freizeitpark benötigt natürlich auch Fahrgeschäfte. Zum Einstieg soll es einen Breakdance geben.
Zur besseren Veranschaulichung dient das nachfolgende Video:
-
Pleasure Park (Freizeitpark-Simulator, Teil 8)
In dieser Reihe geht es um ein geplantes Computerspiel mit dem Arbeitstitel “Pleasure Park“, in welchem der Spieler einen Freizeitpark aufbauen kann. Die Beiträge stellen eine Art Tagebuch dar, in welchem der Fortschritt Ideen und Überlegungen in groben Zügen dokumentiert werden. Alle Beiträge zu diesem Thema werden hier angezeigt.
Texturen und Material
Die virtuellen Objekte in einem Computerspiel sehen nicht sonderlich realistisch aus wenn sie nur einfarbige Modelle sind. Um beispielsweise die Maserung von Holz oder die feinen Adern eines Blattes darzustellen, werden die Modelle mit Texturen versehen, so als würde man ein Foto auf das Objekt kleben. Der Vorgang ist sehr komplex. Teilweise werden mehrere Texturen übereinandergelegt und miteinander vermischt. Zudem gibt es Texturen, die nur Informationen über Unebenheiten der Oberfläche enthalten. 3D-Modelle, die so fein sind, dass sie jeden Kratzer auf der Oberfläche beinhalten, wären viel zu umfangreich und könnten mit der üblichen Hardware nicht in Echtzeit dargestellt werden. Also gestaltet man die Modelle so grob wie möglich und “speichert” die Eigenschaften der Oberfläche in ein Bild. Unter Zuhilfenahme dieses Bildes kann dann der Einfluss von Kratzern und Dellen auf einfallendes Licht simuliert werden. Das Ergebnis ist zwar nicht physikalisch korrekt, aber im Endergebnis sehen die so berechneten Oberflächen täuschend echt aus.
-
Pleasure Park (Freizeitpark-Simulator, Teil 7)
In dieser Reihe geht es um ein geplantes Computerspiel mit dem Arbeitstitel “Pleasure Park“, in welchem der Spieler einen Freizeitpark aufbauen kann. Die Beiträge stellen eine Art Tagebuch dar, in welchem der Fortschritt Ideen und Überlegungen in groben Zügen dokumentiert werden. Alle Beiträge zu diesem Thema werden hier angezeigt.
Bodentexturen zeichnen
Der Boden kann unterschiedliche Beschaffenheit haben. Rasen, Sand, Steine und viele andere Oberflächen sind denkbar. Die grobe Texturierung soll der Anwender mittels eines Pinsel-Werkzeuges vornehmen können.
Im ersten Teil bei der Entwicklung des entsprechenden Werkzeuges habe ich mich darauf konzentriert, verschiedene Pinselformen und -Größen zu ermöglichen. Die Pinselformen werden in Texturen als Graustufenbilder gespeichert. Die Pinselgröße kann in ein Textfeld eingegeben werden.
Derzeit fehlt noch eine “Projektion” des Pinsels auf die Oberfläche, damit der Anwender sieht wie groß der Pinsel ist und welche Stellen des Terrains beim Zeichnen beeinflusst werden.
-
Pleasure Park (Freizeitpark-Simulator, Teil 6)
In dieser Reihe geht es um ein geplantes Computerspiel mit dem Arbeitstitel “Pleasure Park“, in welchem der Spieler einen Freizeitpark aufbauen kann. Die Beiträge stellen eine Art Tagebuch dar, in welchem der Fortschritt Ideen und Überlegungen in groben Zügen dokumentiert werden. Alle Beiträge zu diesem Thema werden hier angezeigt.
Himmel und Erde
Der Himmel war bislang etwas monoton und hat nun eine Skybox-Textur erhalten. Eine Skybox dient im Game-Design dazu eine Karte größer erscheinen zu lassen als sie wirklich ist. Typischerweise wird der Himmel auf der Innenseite eines Würfels, der die Szene umgibt, abgebildet zusammen mit unerreichbaren Landschaften und Bergen oder Gebäuden in der Ferne.
Sonne und Wolken sind Teil der Textur und können damit vorerst nicht dynamisch verändert werden. Zukünftig soll sich der Sonnenstand mit der Tageszeit ändern können und Nachts sollen natürlich Mond und Sterne sichtbar sein. Auch die Wolken sollen sich verändern können, so dass unterschiedliches Wetter simuliert werden kann.
-
Pleasure Park (Freizeitpark-Simulator, Teil 5)
In dieser Reihe geht es um ein geplantes Computerspiel mit dem Arbeitstitel “Pleasure Park“, in welchem der Spieler einen Freizeitpark aufbauen kann. Die Beiträge stellen eine Art Tagebuch dar, in welchem der Fortschritt Ideen und Überlegungen in groben Zügen dokumentiert werden. Alle Beiträge zu diesem Thema werden hier angezeigt.
Gizmo
Zum Verschieben, Skalieren und Rotieren der Objekte, die der Anwender in der Szene platzieren kann, sollen entsprechende Werkzeuge eingeblendet werden, wie man sie auch aus Programmen wie Blender kennt.
Diese sogenannten Transformation-Gizmos sind für die Anwendung als 3D-Modelle erstellt und liegen in Form eines AssetBundles vor. Unity kann die Modelle dann bei Bedarf Laden und Instanziieren. Derzeit werden diese Gizmos allerdings noch vom zu bewegenden Objekt verdeckt und sind bei großen Modellen eventuell nicht sichtbar. Um dieses Problem zu umgehen könnte beim Zeichnen des Gizmos der Tiefenpuffer ignoriert werden, so dass Gizmos einfach vor alle anderen Objekte gezeichnet werden. -
Pleasure Park (Freizeitpark-Simulator, Teil 4)
In dieser Reihe geht es um ein geplantes Computerspiel mit dem Arbeitstitel “Pleasure Park“, in welchem der Spieler einen Freizeitpark aufbauen kann. Die Beiträge stellen eine Art Tagebuch dar, in welchem der Fortschritt Ideen und Überlegungen in groben Zügen dokumentiert werden. Alle Beiträge zu diesem Thema werden hier angezeigt.
Liste der verfügbaren Modelle organisieren
Dem Anwender sollen vorgefertigte Modelle (Pflanzen, Steine, Tiere, …) zur Verfügung stehen, um sie in die Szene einzufügen. Die Verfügbaren Modelle sollen zukünftig ergänzt werden. Um bei einer umfangreichen Sammlung nicht den Überblick zu verlieren muss es möglich sein, die Objekte nach verschiedenen Kriterien zu filtern.
-
Pleasure Park (Freizeitpark-Simulator, Teil 3)
In dieser Reihe geht es um ein geplantes Computerspiel mit dem Arbeitstitel “Pleasure Park“, in welchem der Spieler einen Freizeitpark aufbauen kann. Die Beiträge stellen eine Art Tagebuch dar, in welchem der Fortschritt Ideen und Überlegungen in groben Zügen dokumentiert werden. Alle Beiträge zu diesem Thema werden hier angezeigt.
Gespeicherte Objekte wieder laden
Grundsätzlich können gespeicherte Szenerie-Objekte nun auch wieder geladen werden. Bei der Transformation an die richtige Stelle gibt es jedoch noch Probleme, wie die Palme zeigt, die unter dem Terrain positioniert ist. -
Pleasure Park (Freizeitpark-Simulator, Teil 2)
In dieser Reihe geht es um ein geplantes Computerspiel mit dem Arbeitstitel “Pleasure Park“, in welchem der Spieler einen Freizeitpark aufbauen kann. Die Beiträge stellen eine Art Tagebuch dar, in welchem der Fortschritt Ideen und Überlegungen in groben Zügen dokumentiert werden. Alle Beiträge zu diesem Thema werden hier angezeigt.
Speichersystem
Damit der Spieler seinen Fortschritt nicht verliert, ist ein Speichersystem notwendig. Grundsätzlich können die Inhalte binär oder in Textform gespeichert werden. Binär gespeicherte Dateien sind schwerer zu manipulieren und damit etwas sicherer. Da das Spiel aber einen eher offenen Charakter haben soll, bevorzuge ich derzeit die Speicherung in einem Text-Format wie XML. Wer die entsprechende Motivation dazu hat, kann die Speicherstände relativ leicht mittels eines einfachen Text-Editors verändern, beispielsweise neue Objekte einfügen oder vorhandene Objekte löschen und die geänderten Speicherdateien dann im Spiel laden.
-
Pleasure Park (Freizeitpark-Simulator, Teil 1)
Eigentlich beschäftigt sich dieser Blog damit, wie Politik und Wirtschaft die Welt zugrunde richten. Schöner wären aufbauende Themen. In der realen Welt aber etwas aufzubauen, ist eine Herkulesaufgabe. Dazu muss man
1. viel Geld haben,
2. viel Zeit für die bürokratischen Hürden haben und
3. ein Jurist sein, der alle Regeln, Vorschriften, Normen, Verordnungen und was es sonst so alles gibt kennt.
In der virtuellen Welt ist es leichter, etwas aufzubauen das anderen Menschen vielleicht sogar eine Freude bereitet. Beispielsweise könnte man Computerspiele erschaffen. Auch hier sind zwar Regeln und Gesetze einzuhalten, aber man benötigt zumindest keine Baugenehmigung. Videospiele werden allerdings immer noch belächelt und als Zeitverschwendung angesehen. Aber warum soll es schlechter sein, eine Computerspiel zu spielen, als in die Fantasiewelten eines Romans oder eines Kinofilms einzutauchen? Bücher und Filme sind als Kunstform völlig selbstverständlich. Computerspiele sollten dies auch sein, den letztendlich sind Computerspiele interaktive Filme, die eine Geschichte erzählen.
Faszination der Computerspiele
Computerspiele können durchaus faszinierend sein. Neugierig wurde ich, weil ich wissen wollte wie es möglich ist, dass man sich in einem Computerspiel frei bewegen kann. Während man im Film nur die aufgenommene Perspektive anschauen kann, ist es im Computerspiel möglich, beispielsweise um ein Objekt herumzulaufen und dieses von allen Seiten zu betrachten. Computerspiele sind quasi interaktive Filme. Wie aber kann das funktionieren fragte ich mich. Spielprogrammierer können doch nicht jede erdenkliche Bewegung vorab aufzeichnen!
Im Prinzip ist es ganz einfach. Die virtuelle Welt, in der sich der Spieler bewegen kann, wird vorab modelliert. Im Prinzip handelt es sich um eine mathematische Beschreibung der Szene. Die Modelle in der Szene bestehen aus Punkten, deren Position mittels Koordinaten im Raum festgelegt wird. Die Punkte werden zu Linien und die Linien zu Flächen verbunden. Die Flächen können dann mit Bildern “texturiert” werden um den Anschein realistischer Oberflächen zu erzeugen.
Das Bild, das der Spieler auf dem Minitor sieht, wird erst erzeugt wenn man sich durch die Szene bewegt. Auf Grundlage der mathematischen Beschreibung der Welt, wird ein Bild berechnet und angezeigt.