PLANET COWARD (Prototyp, Amiga, 2024) oder eine Anwendung der erweiterten CryAEngine (Experimentelle Archäologie)

PlanetCoward – ein Projekt um eine Forschungsfrage

Lange Zeit (bis 1990) waren die technischen Vorreiter der GameDesign-Scene die ShootEmUps.

Mehr dazu im folgenden BlogEintrag:

Dabei stellt man fest, dass die meisten ShootEmUps sehr geradlinig sind und die Fläche von vorne nutzen – also eine Art Front. Alles dahinter scheint unerreichbar. Siehe dazu auch ZType (https://zty.pe), wo auch hinter die Linien „getippt“ werden kann. Warum gab es wenig Spiele in die Richtung wäre Frage 1 und eine zweite Frage war auch: Lässt sich so ein Spiel mit einer Maus realisieren (also in der Steuerung, die danach auf den VGA+-Homecomputern Standard wurde).

TopDown-Artillerie

Es stellt sich also die Frage, wie würde ein ShootEmUp TopDown aussehen, das mehr „Artillerie“ wäre und welchen Arte von Spielmechanik könnte man benutzen. Siehe dazu auch Atari Rampage (Arcade), Gauntlet II-Werfer etc.

Titel des Prototypen

Warum der Titel Planet Coward? Wir befinden uns im Jahr 2024 und die Ukraine wird weiterhin von Russland angegriffen/überfallen. Artillerie spielt dabei eine entscheidende Rolle. Dabei ist Artillerie mit seinen Bogenschüssen immer eine Coward Taktik, da der Angreifer gar nicht sieht, was er eigentlich anrichtet. In diesem Sinn: Die unrechtmässigen Kriegsherren sind letztlich eben Cowards.

Setting

Das Setting ist so ein Planet mit Inseln in der „Dunkelsee“. Dabei muss man das Wasser in Sicherheit bringen. Das Wasser wird abtransportiert in wandernden „Aquarien“.

Mechanik

ShootEmUp-Mechaniken, die mit einer Szene (nicht scrollend) arbeiten oft wie Space Invaders, Phoenix, Galaga etc damit, dass der Avatar pausenlos beschossen wird. Der Avatar ist unten und kann links und rechts sich bewegen und schiessen. Ein einfaches Konzept mit 3 Inputmöglichkeiten.

Dieses Konzept sollte beibehalten werden wegen seiner Einfachheit und mit der Maus kombiniert werden. Insofern klar: Links und rechts mit der Maus X-Position und Y-Position der Mauscursor darüber. Dadurch müsste man immer auch unten schauen, was passiert da bei meinem Avatar.

Prinzipiell muss man wie oben beschrieben Objekte retten/beschützen. Dies führt dazu, dass die Gegner auf zwei Dinge schiessen können: den Avatar und die Schützenswerten „Aquarien“. Diese müssen nach unten für den Avatar und die Gegner müssen verhindern, dass sie unten ankommen oder den Avatar zerstören. Es gibt dadurch für den Spielenden vieles im Blick zu behalten.

Der Avatar und das zu Schützende.

Die Wassertank können entweder direkt irgendwo eingesetzt werden oder sie werden gespawnt in einer „Wasserquelle“, die natürlich auch zerstört werden kann.

Das Interessante an dieser Mechanik ist das Beschützen der wandelnden Ziele. Die Mechanik orientiert sich an WhiteShades (Mac, 200x) bei dem man eine Zielperson beschützen muss gegen Angreifer. Hier ist nie klar, wie bewegen sich diese im Raum. Dabei gibt es auch Elemente, mit denen man in gewissen Levels den Weg verändern kann. Es gibt auch Minen, die versteckt werden können.

Alles in allem ein grosser Möglichkeitsraum.

Gegner

Als Gegner bieten sich Gebäude an, die zerstört werden müssen oder dann konkret sich bewegende Gegner.

Ziele pro Level

Dabei kommt bald die Frage auf, welche Ziele hätte ein Level und hier gab es mehrere: x von y nach unten bringen, x Sekunden überleben und und und. Dabei ist bei diesem Setting gar nicht so einfach einen Level zu planen, da es kein Stragiespiel ist sondern eher ein Actionspiel und wer weiss schon, wann wer wie oft trifft der Gegner. Alles ein schwieriges Unterfangen für eine allgemeine Lösung.

Levels (Tile & LevelEditor)

Levels und Co wurden per TileEditor realisiert. Das ermöglicht wie an anderer Stelle ausgeführt schnelles Prototypen und genieren von Levels und war in jenen Jahren sehr verbreitet.

Ein klassischer Level.

Einfachste Sache: Hier erscheint ein Wasserbot beim Aufschalten des Levels.

oder ein Gegner

Codierung

Leider reicht das von Anfang spawnen aller Gegner wie bei den Klassikern nicht, das Spiel/Level wäre dann nämlich am Anfang immer am Schwersten und würde dann leichter. Deswegen gibt es noch ein Zusatzsystem bei dem Gegner später gespawned werden können.

Hier wird der Gegner P gespawnt nach 2 Sekunden. Danach sein S nach 15 Sekunden.

Der Schuss: Komplexer

Der normale Schuss in einem ShootEmUp fliegt von vorne nach hinten und zerstört dabei das Vorderste. Der Schuss in PlanetCoward hat eine doppelte Funktion:
1. Er schiesst als Bogenschuss an einen bestimmten Ort (Vergrösserung in der Luft)
2. Wenn er autrifft wird er für einige Pixel zum normalen Schuss.

Dadurch ist es möglich Artillerie-Funktionalität mit einem begrenzten klassischen ShootEmUp zu kombinieren.

Es zählt also nicht nur das Treffen einer Sache hinter der Frontlinie.

Die Höhe über Boden wird durch Grösse und Schattenwurf dargestellt und ‚erlebbar‘ gemacht.

Getroffen – Was explodiert? Schuss oder Haus?

Minimalste erkennbare Bewegung: Auflösung als Grenze

AI in PlanetCoward

Visuelles: Tiles und Perspektive

Mehr dazu mit einem frühen Prototypen von PlanetCoward

Das Ganze nochmals radikalisiert

An dies angelehnt wurde mit auch bei PLANETCOWARD mit lokalen Perspektiven gearbeitet.

Das Tilesheet enthält dann auch verschiedenste Perspektiven.

Tilebasiertes Design: Detaildiskussion

Mehr zur Frage wie nutzt man Tiles hier

Sprites

Die rechentechnisch gratis Sprites sind vorallem für die Schüsse eingesetzt worden.

Bobs & Bob-Editor

Vorallem die klassischen Sprites wurden in BOBs realisiert. Hier kann man ja alle 16 Farben nutzen.

Performance

Der Amiga hat natürlich auch seine Grenzen in Sachen Grafik-Performance. Hier eine Diskussion dazu am Beispiel von PlanetCoward.

Fazit

Das Spiel hat durchaus potential. Natürlich ist dabei ein Hauptkritikpunkt, dass die „Mäuse“ auf den 16/32Bittern leider noch nicht die besten gewesen sind und solche Spiele auch rein daran hätten scehitern können.

Siehe dazu auch hier: Squarez mit einer ähnlichen Fragestellung

Leider gibt es keine Ressourcen/Energie mehr für die Weiterentwicklung.

CryAEngine mit PlanetCoward Devs

Die letzte Version des Source-Codes findet sich hier:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert