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?
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
PlayerAISupportValue
gegnerisches Schlachtschiff:
BattleCruiserEmpire2_FlightProbabilityFactor
*=
DifficultyValue
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:
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