Posts mit dem Label Programmierung werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Programmierung werden angezeigt. Alle Posts anzeigen

Spieleprototyp 7: Game Design mit Excel und OpenOffice (OLE Automation), neue Schiffsklassen und Ereignisse

Im Verlauf der Entwicklung des siebenten Spieleprototyps wurde der komplette Source Code noch einmal von Grund auf überarbeitet. Die wichtigste Neuerung besteht darin, dass man sich nun nicht mehr mit unübersichtlichen Textdateien herumärgern muss, wenn man die Parameter für die prozedurale Generierung der Spielewelt verändern möchte. Sämtliche Daten werden jetzt mit Hilfe von Excel- und OpenOffice-Arbeitsblättern (Worksheets) verwaltet, die ihrerseits im Verzeichnis Data/GameDataSheets zu finden sind.
Nachdem die gewünschten Änderungen beispielsweise im Excel-Worksheet InitialGameData.xlsx abgespeichert wurden, müssen wir sicherstellen, dass bei Neustart des Spiels zunächst sämtliche Daten, die für die Generierung der Spielewelt erforderlich sind, in ein für das Spieleprogramm verständliches Dateiformat konvertiert werden (OLE Automation). Zu diesem Zweck müssen wir in der Datei Config.txt (zu finden im Ordner Bin) folgende vier Parameter einmalig ändern:


Spieleprototyp 6: Rendezvous-Zonen, Kriegsgebiete, Special Operations (Spec Ops) und eine verbesserte strategische KI

Wie lassen sich spannende 3D-Echtzeit-Weltraumschlachten in den umkämpften Sonnensystemen einerseits und das strategische Flotten-Management auf galaktischer Ebene andererseits in einem Spiel miteinander kombinieren?

Wie lassen sich strategische Flottenoperationen abwechslungsreicher gestalten?

Was ist zu tun, damit die Spielmechanik insgesamt ein wenig realistischer wirkt?

Und wie lässt sich der Schwierigkeitsgrad des Spiels an die Fähigkeiten des Spielers anpassen?











Spieleprototyp 5: Raumschiffe auf interstellaren Reisen – der Warpflug

Obwohl mit der Darstellung von Planeten, Monden und Asteroiden im letzten Prototyp zum ersten Mal so etwas wie Weltraum-Feeling aufgekommen ist, hat doch bisher ein für Weltraumspiele so entscheidendes Gameplay-Element gefehlt – echte Raumschiffe anstelle simpler zweidimensionaler Icons.






Im aktuellen Spieleprototyp werden wir nun endlich dreidimensionale Raumschiffmodelle in unser Spiel integrieren, um mit ihrer Hilfe den Warpflug zu simulieren – klicken Sie einfach ein Raumschiff-Icon mit der linken Maustaste an und schon befinden Sie sich in der Warpflug-Ansicht. Mit einem weiteren Linksklick können Sie jederzeit zurück in die strategische Ansicht wechseln.




Spieleprototyp 4: Prozedurale Planeten, Monde und Asteroiden

Die Darstellung von Planeten, Monden und Asteroiden wird bei steigender Anzahl von spielrelevanten Sonnensystemen schnell zum Albtraum. Während man als Grafiker damit beschäftigt ist, hunderte von hochaufgelösten Planetentexturen in mühevoller Kleinarbeit zu modellieren, muss man als Spieler mit mehr oder weniger langen Wartezeiten rechnen, bis alle nicht mehr benötigten Texturen des zuletzt besuchten Sonnensystems aus dem Grafikspeicher entfernt und durch die Texturen des aktuellen Systems ersetzt worden sind.

Im Rahmen unseres vierten Spieleprototyps werden wir einen vollkommen anderen Weg einschlagen und auf die Verwendung von hochaufgelösten Oberflächentexturen verzichten. Lediglich die Wolken und Planetenringe werden auf herkömmliche Weise mithilfe von im Vorfeld erstellten Texturen dargestellt. Die Planetenoberflächen werden jedoch im Zuge des Renderings mithilfe von wenigen Parametern in Echtzeit prozedural erzeugt.



Spieleprototyp 3: Planetensysteme, strategisches Gameplay und Missionen

Fehlende Planetensysteme wie in unserem zweiten Prototyp sind für jede Art von Weltraumspielen ein absolutes No-Go. Darüber hinaus ist das Gameplay – freundlich gesagt – ein wenig zu schlicht geraten, da wir bisher auf die Implementierung von Missionen verzichtet haben.
Im Rahmen eines dritten Prototyps werden wir nun mithilfe von Planetensystemen und Missionen für ein wenig mehr Weltraum-Feeling sowie für zusätzliche Spannung und Unterhaltung sorgen.

Spieleprototyp 2: strategisches Gameplay – Test 1

Im Unterschied zum ersten Spieleprototyp, bei dem die prozedurale Generierung der Spielewelt im Vordergrund steht und der Spieler lediglich die Rolle eines Beobachters einnimmt, dient Prototyp 2 dem Test grundlegender Gameplay-Elemente eines Echtzeit-Strategiespiels.








Eckpunkte bei der Entwicklung des zweiten Spieleprototyps:


Ein in sich abgeschlossenes kleines Strategiespiel um die Vorherrschaft im Weltall:
  • Bis zu drei galaktische Imperien treten gegeneinander an. Imperium 1 wird vom Spieler kontrolliert, die Imperien 2 und 3 vom Computer.
  • Die Anzahl der Heimatwelten der galaktischen Imperien ist frei wählbar.
  • In allen bewohnten Sternensystemen werden Änderungen der wirtschaftlichen und politischen Verhältnisse in Abhängigkeit vom aktuellen Spielverlauf dynamisch simuliert.

Galaxy Generation – 3D Nebulae

Gigantische dreidimensionale Nebel gehören zu den schönsten und zugleich faszinierendsten Gebilden im Universum. Im heutigen Beitrag widmen wir uns der Verteilung und Farbgebung dieser Nebelwolken; mit der Nebel- und Sternen-Darstellung werden wir uns dann in den nächsten Artikelen befassen.






Beim Rendern der Nebelwolken-Objekte kommen texturierte 3D-Modelle zum Einsatz. Die Anzahl der hierbei verwendeten Texturen lässt sich nach belieben festlegen. Zu beachten ist, dass in den Texturen möglichst nur Grauwerte gespeichert sein sollten, denn die Farbgebung erfolgt unabhängig von der Texturierung:





Galaxy Generation – Sterne Teil 2

Die Bedeutung aller für die prozedurale Generierung einer Galaxie benötigen Parameter haben wir im vorangegangenen Beitrag ausführlich besprochen. Im Rahmen des heutigen Artikels werden wir nun die Erzeugung einer neuen Galaxie in Form einer Schritt-für-Schritt-Anleitung in allen Einzelheiten erörtern.






Galaxy Generation – Sterne Teil 1


Im ersten Beitrag über die prozedurale Erzeugung von Galaxien befassen wir uns zunächst mit den einzelnen Parametern, mit deren Hilfe wir die Größe und Gestalt der zu generierenden Galaxie beeinflussen können. Die einzelnen Techniken, die hierbei zum Einsatz kommen, behandeln wir dann im nachfolgenden Artikel.






Bei der Erzeugung einer neuen Galaxie werden insgesamt acht verschiedene Sternentypen berücksichtigt:

  • Blauer Stern (Spektralklasse A)
  • Oranger Stern (Spektralklasse K)
  • Roter Zwerg (Spektralklasse M)
  • Roter Riese (Spektralklasse M)
  • Gelber Stern (Spektralklasse G)
  • Weißer Stern (Spektralklasse F)
  • Blauer Riese (Spektralklasse B)
  • Blauer Überriese (Spektralklasse O)

Eckpunkte bei der Entwicklung eines ersten Spieleprototyps

Spieleprototyp 1 - Screenshot 1
Gute Spiele spielt man bis zum Ende durch, schlechte Spiele werden deinstalliert oder landen im „Papierkorb“. Doch warum genau sind die einen Spiele so erfolgreich, während andere wiederum zu Ladenhütern mutieren? Was ist das Besondere an Titeln wie Wing Commander oder Conflict Freespace? Die Antwort ist einfach – sieht man einmal von sogenannten Sandbox-Titeln wie Minecraft ab, dann verfügt ein beliebtes Spiel immer auch über eine erstklassige Storyline. Verliert man andererseits das Interesse an der erzählten Geschichte, so wird man über kurz oder lang das betreffende Spiel auch nicht mehr weiterspielen.

Für sehr storylastige Weltraumspiele kommen insbesondere die folgenden beiden Szenarien in Betracht:

  • Ein einzelnes Sonnensystem; Planeten, Monde, Planetoiden sowie die wichtigsten Asteroiden sind mit detailliert ausmodelliert:
Spieleprototyp 1 - Screenshot 2
Das beschriebene Szenario eignet sich für Spiele, die in der näheren Zukunft angesiedelt sind und den Wettstreit um die wertvollsten interplanetaren Rohstoffe – wie beispielsweise Helium-3 für die Energiegewinnung – thematisieren.

 






  • Wenige Sonnensysteme, die der Spieler mit seinem Raumschiff (Space Combat) oder seiner Raumflotte bereisen kann. Auch hier sind die einzelnen Planeten, Monde, Planetoiden sowie die wichtigsten Asteroiden detailliert ausmodelliert:
Spieleprototyp 1 - Screenshot 3
Interstellare Reisen sind einzig durch natürlich vorkommende Wurmlöcher möglich, was die geringe Anzahl der erreichbaren Sonnensysteme erklärt. Technologien für den überlichtschnellen Raumflug (Warpantrieb, Sprungantrieb, etc.) stehen nicht zur Verfügung, wodurch die Kontrolle der Wurmloch-Passagen zum wichtigsten Gameplay-Element wird.







Computerspiele mit prozedural erzeugten Galaxien und Planetensystemen bieten dem Spieler die größtmögliche Freiheit. Für einen Game Designer stellt sich jedoch die Frage, wie sich hunderte oder gar tausende Sonnensysteme vernünftig in ein Spiel integrieren lassen. Szenarien wie „Erobere alle Sternensysteme des Galaktischen Imperiums XY“ erweisen sich als unspielbar, wenn das gegnerische Imperium bereits eine zu große Anzahl von Systemen okkupiert hat.
Wird jedoch die Anzahl der momentan erreichbaren Sonnensysteme dadurch limitiert, dass der Spieler beispielsweise unerforschte Sektoren zunächst über einen längeren Zeitraum mithilfe von interstellaren Sonden und Forschungsschiffen aufwändig kartografieren muss, dann bieten sich vielfältige Möglichkeiten für zahlreiche spannende Missionen, Kampagnen und Storylines. Aus diesem Grund nimmt die prozedurale Generierung der Spielewelt eine zentrale Rolle bei der Entwicklung des ersten Spieleprototyps ein.