Metall Meta
A downloadable game for Windows and Linux
Gameplay
In einem lokalen Multiplayer Match treten zwei Roboter gegeneinander an. Jeder verfügt über eine bestimmte Anzahl unterschiedlicher Arme. Diese können mit Strom versorgt werden um ihre Effekte wirken zu lassen. Der Strom wird dabei aus einem Akku bezogen, der mit jeder Runde schneller ausläuft. Ziel ist es, den gegnerischen Roboter zu zerstören, bevor der eigene Akku ausläuft.
Matchmaking
Das Matchmaking erfolgt manuell. Der erste Spieler muss im Startmenü das Match mit einem Button-Klick erstellen, der zweite Spieler gibt die lokale IP-Adresse des ersten ein und tritt dem Spiel mit einem Button-Klick bei. Wichtig: Dies funktioniert nur lokal und erfordert zwei Geräte. Beide Geräte müssen am selben Router angeschlossen sein. Es gilt die IPv4 Address des jeweiligen Geräts am Router einzugeben. Diese kann gegebnenfalls über die Netzwerkeinstellungen ermittelt werden.
Steuerung
Mit den Stromverteilern kann der in der Runde zur Verfügung stehende Strom vom Akku auf die Armsockel verteilt werden.
Mit A und Y oder durch Klicken kann zwischen Stromverteilern umgeschaltet werden.
Mit S und X oder durch Klicken auf die angezeigten Pfeile kann der Armsockel ausgewählt werden.
Mit D und C oder durch Klicken kann zwischen Armsockeln umgeschaltet werden. Details werden über dem Roboter angezeigt.
Mit F und V oder durch Klicken auf die angezeigten Pfeile kann ein Arm ein- oder ausgefahren werden.
Mit G und B oder durch Klicken auf die angezeigten Pfeile an der Spitze eines Arms kann das Ziel des Arms gewählt oder abgewählt werden. Dies startet die Auflade- bzw. Abkühlphase, die ab der folgenden Runde nicht mehr abgebrochen werden kann.
Ist ein Arm aufgeladen und somit in der Effekt-Phase, kann das Ziel frei geändert werden, solange die Effekt-Phase anhält. Sie kann abgebrochen werden durch die Abwahl eines Ziels.
Mit H und N oder durch Klicken können die zuletzt bekannten Details eines gegnerischen Armsockels angezeigt werden.
Nach allen Eingaben muss die Runde beendet werden. Dafür funktionieren ein Klick auf den Button, Leertaste oder Enter.
Strom
Jeder Roboter hat einen Akku. Dieser liefert pro Runde immer mehr Leistung, verliert aber auch Strom, der nicht verwendet werden kann. Je mehr Strom einem Arm zugeführt wird, desto stärker seine Effekte. Ein Arm verbraucht nur so viel Strom, wie für sein aktuelles Powerlevel nötig sind. Hohe Level sind generell ineffizienter auf Dauer, wenn Effekt auf den gesamten Stromverbrauch der Auflade-, Effekt- und Abkühlphase verrechnet wird. Sie sind als Burst gedacht und sollen durch hohen Stromverbrauch die Spieler betrafen, die sie übermäßig nutzen.
Arm-Effekte
Laser-Arme schaden dem gegnerischen Kern oder ausgefahrenen Armen. Wird ein gegnerischer Arm zerstört, verursacht er in der Regel mehr Schaden am Kern, als hätte man diesen direkt angegriffen.
Block-Arme schützen vor gegnerischen Laser-Angriffen. Da sie nicht immer rechtzeitigt abblocken können und in der Unterzahl sind, schützen sie vor mehr Schaden, als ein Laser anrichtet.
Sensor-Arme spionieren Aktionen gegnerischer Armsockel aus. Um zu wissen, was diese gerade tun, insbesondere wo ein Arm ausgefahren ist, sind Sensoren unumgänglich.
Stör-Arme verheimlichen eigene Aktionen vor dem Gegener. Sie sind notwending um den Gegner zu überraschen.
In-Match-Balance
Um Schneeballeffekten entgegenzuwirken, verringert sich der Akkuauslauf wenn Schaden genommen wird und die maximale Leistung pro Runde wird erhöht.
Ein angeschlagener Gegner hat also mehr Leistung für Aktionen, bei gleichem Stromverbrauch insgesamt. Das steuert außderdem Strategien entgegen, die ein stumpfes Feuern auf den Roboter-Kern vorsehen.
Das ist eine explizit unerwünschte Strategie, da sie jegliche Interaktion mit Sensoren ignoriert. Der Kern muss aber für einen Finisher trotzdem angreifbar sein.
Balance-Änderungen
Balance-Änderungen können durch editieren der .xml-Dateien in Assets/StreamingAssets vorgenommen werden.
MetallMeta.xml definiert für Feinanpassungen mehrere Skalierungswerte, mit denen einheitlich hochskaliert werden kann, falls man einen Wert unter 1 festlegen möchte.
Z.B. die Stromskalierung mit 2 multiplizieren und einen Stromwert auf 1/2 setzen. Somit wäre dieser insgesamt wieder auf 1, aber im Verhältnis zu allen anderen Stromwerten halb so groß.
Dem Roboter-Kern können neue Teile (Stromverteiler, Armsockel) hinzugefügt werden, indem eine entsprechende Zeile ergänzt wird. Bei den Stromverteilern ist darauf zu achten, dass die Stromskalierung durch die Anzahl der Stromverteiler teilbar ist.
Jedem Arm können neue Power-Level als Referenz zu einer .xml-Datei hinzugefügt werden, die neue Stromgrenzwerte und Effekt-Stärken festlegen können.
Replay-Feature
Nach jedem Match werden in Assets/Saves/Replays/EquipHash_XXXXXXXX Replay-Dateien der eigenen und gegnerischen Züge gespeichert. XXXXXXXX steht hier für den Hash des aktuellen Equipments des Roboter-Kerns.
Hierdurch wird sichergestellt, dass die alle Roboter-Teile, die im Replay vorkommen auch existieren, wenn das Replay ausgeführt wird. Das Ausführen von Replays (Taste R) erlaubt es zum einen, Balance-Änderungen im selben Match direkt zu testen und zu sehen, ob diese den gewünschten Effekt erzielt haben.
Sie erlauben es außerdem, die eigene Strategie inkrementell anzupassen oder die gegnerische Strategie zu analysieren und zu übernehmen.
Turnlogs
Für jede Runde werden alle Daten mitgeschrieben, die von beiden gewusst werden. Das sind vorallem Batterie- und Zustandsverlauf und ein- und ausgehende Effekte, aber auch Anzahl verfügbarer Arme.
Diese Logs finden sich in Assets/Saves/Turnlogs. Um Vergleichbarkeit mit unterschiedlichen Equipments zu sichern, werden für Arme die Summe über alle Arme ausgewertet.
Mitwirkende
Kai Müller (Teamleitung): Game Design, Programmierung, Networking, Balancing, GUI.
Stefanie Jobst (ehemaliges Team Mitglied): Bilder, Fonts.
Status | Prototype |
Platforms | Windows, Linux |
Author | Kai Müller |
Genre | Strategy |
Made with | Unity |
Tags | Local multiplayer, PvP, Robots, Sprites, Turn-based Strategy, Two Player, Unity |
Install instructions
Archiv downloaden und extrahieren.
Unter Linux MetallMeta.x86_64 ausführen.
Unter Windows MetallMeta.exe ausführen.