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?











Beginnen wir mit dem letzen Punkt – dem Schwierigkeitsgrad. Die Häufigkeit (bzw. die Wahrscheinlichkeit), mit der ein bestimmter Schiffstyp von der KI auf Reisen geschickt wird, lässt sich mithilfe von sogenannten Flight-Probability-Faktoren festlegen, die in einer Schiffsdatenbank-Datei (z.B. SpaceShipDatabase1.txt) gespeichert sind.





Beispiel:

BattleCruiserEmpire2_FlightProbabilityFactor: 0.025

Möchte man nun den Schwierigkeitsgrad des Spiels verringern, muss man hierfür lediglich die feindlichen Flottenbewegungen ein wenig einschränken und/oder die Flottenbewegungen des vom Spieler kontrollierten Imperiums entsprechend intensivieren:

Wird ein Sonnensystem mit weniger Schiffen angegriffen, kann das System besser verteidigt werden.
Werden weniger Schiffe zur Verteidigung geschickt, dann kann ein Sonnensystem leichter erobert werden.

Zu diesem Zweck modifizieren wir die Flight-Probability-Faktoren der einzelnen Schiffstypen mithilfe zweier Faktoren (DifficultyValue, PlayerAISupportValue), die ihrerseits in der Datei GameSettings.txt gespeichert sind:

DifficultyValue(small==easy): 0.02
PlayerAISupportValue: 1.0


Spieler-Schlachtschiff:

BattleCruiserEmpire0_FlightProbabilityFactor *=
PlayerAISupportValue

gegnerisches Schlachtschiff:

BattleCruiserEmpire2_FlightProbabilityFactor *=
DifficultyValue


Special Operations (Spec Ops)

Damit der Kampf um die einzelnen Sternensysteme insgesamt ein wenig abwechslungsreicher wird, werden auf einzelnen Schlachtschiffen nach dem Zufallsprinzip (die zugehörigen Parameter sind in der Datei AIValues.txt gespeichert) zusätzliche Kommandoeinheiten für die Durchführung von militärischen Spezialoperationen stationiert:





Spec-Ops-Missionen:

Kein Spezialeinsatz ausgewählt
Unabhängiges Sonnensystem annektieren
Wirtschaftskraft schwächen
Politischer Umsturz







Realistischere Spielmechanik

In den bisherigen Spieleprototypen wirkte sich die Ankunft eines Raumschiffs im Zielsystem stets unmittelbar auf das Spielgeschehen aus (Beispiel: Raumfrachter trifft ein => wirtschaftliche Ressourcen steigen an). Im aktuellen Prototyp werden die jeweiligen Auswirkungen erst nach einer mehr oder weniger langen zeitlichen Verzögerung sichtbar, wodurch die Spielmechanik insgesamt deutlich realistischer wirkt:

Beispiel 1:

Raumfrachter trifft ein =>
Ladung wird gelöscht (beansprucht Zeit) =>
wirtschaftliche Ressourcen steigen an

Beispiel 2:

Militärschiff auf Spec-Ops-Mission erreicht ein Sonnensystem =>
Spec-Ops-Mission wird durchgeführt (beansprucht Zeit) =>
Auswirkungen einer erfolgreich durchgeführten Spec-Ops-Mission werden sichtbar (Beispiel: Annektierung des Sonnensystems)

Die für die zeitlichen Verzögerungen verantwortlichen Parameter sind in der Datei AIValues.txt gespeichert:

#SpaceShipStandardOpsExecutionDelayValue:# 500
#SpaceShipMilitaryOpsExecutionDelayValue:# 1000
#SpaceShipSpecOpsExecutionDelayValue:# 1000


Sektorisierung der Sonnensysteme – Rendezvous-Zonen, Kriegsgebiete

Bevor wir in unseren zukünftigen Prototypen spannende 3D-Echtzeit-Weltraumschlachten in den umkämpften Sonnensystemen inszenieren können, müssen wir zunächst klären, wann und wo diese Schlachten überhaupt stattfinden sollen. In den bisherigen Prototypen blieben bei der Simulation einer Raumschlacht die genauen Positionen der beteiligten Raumschiffe im betreffenden Sonnensystem stets unberücksichtigt. Sobald sich in einem System ein oder mehrere gegnerische Schiffe gegenüberstanden, wurde der Ausgang einer möglichen Schlacht unverzüglich berechnet.

Im aktuellen Prototyp lassen sich in einem Sonnensystem in der Nähe eines jeden Planeten oder Mondes Rendezvous-Zonen einrichten, auf die sich die einzelnen Schiffe dann verteilen. Zu einer Raumschlacht kommt es erst dann, wenn sich gegnerische Raumschiffe im gleichen Gebiet (Kriegsgebiet, z. B. ein bewohnter Planet) befinden. Ein KI-Angriff auf eine gegnerische Rendezvous-Zone findet nur dann statt, wenn der Gegner in Unterzahl ist.


actual Game Prototype
(LGPL-Licence; Visual C++ 2010):
actual Game Prototype