Controls Guide: Steuerung, Player & Logic-Processor Guide
Steuerung deckt die Eingaben des Spielers und das ingame Logik-Kontrollsystem (Processors und Kontrollinstruktionen) ab, das zum Befehlen von Einheiten und Gebäuden verwendet wird. Gute Nutzung der Steuerung beschleunigt Mikromanagement, automatisiert Förderbänder und Maschinen und ermöglicht fortgeschrittenes Verhalten über den Logic-Processor.
Spielersteuerung (PC und Mobile)
Spieler-Einheit
- Bewegung: WASD / Pfeiltasten auf dem PC; Bildschirm ziehen auf Mobilgeräten.
- Interagieren: Linksklick (PC) / Tippen (mobil) zum Schießen oder Platzieren von Gebäuden.
- Abbauen: Linksklick auf Erz (PC) oder Tippen auf Erz (mobil) zum Abbauen.
- Besetzen: Strg + Linksklick (PC); Tippe eine Einheit an (mobil), um sie zu übernehmen.
- Respawn: Drücke die Respawn-Taste, um zum nächstgelegenen Core zurückzukehren.
- Boost: Drücke die Boost-Taste, um zu sprinten/boosten; auf Mobilgeräten ziehe den Bildschirm vom Unit weg, um zu boosten.
- Fracht: Hebe Fracht auf und lege sie ab mit den Pickup/Drop-Tasten; auf Mobilgeräten tippe und halte, um aufzuheben oder abzulegen.
Gebäude und Bau
- Gebäude platzieren: Linksklick (PC) oder Tippen (mobil).
- Löschen/Deselektieren: Rechtsklick (PC) oder benutze das Hammer-/Löschen-UI auf Mobilgeräten.
- Bauen pausieren/fortsetzen: benutze die Bauen-Pause-Taste.
- Regionsauswahl/Neubauen: benutze die Region-Auswahl- und Neuaufbau-Tasten, um mit mehreren Blöcken und Schemata zu arbeiten.
- Block-Konfiguration: Viele Blöcke sind konfigurierbar durch Antippen/Auswählen; einige Blöcke konsumieren das Touch-Event beim Antippen und können direkt konfiguriert werden.
Einheitsbefehle und Ansicht
- Öffne das Einheitsbefehls-UI mit der Einheitsbefehls-Taste.
- Gruppen-Auswahl: Shift + Linksklick, um einen Bereich von Einheiten auszuwählen.
- Wähle alle Einheiten oder alle Unit-Fabriken mit den jeweiligen Hotkeys aus.
- Mehrere Wegpunkte geben: Shift + Mittlere Maustaste (PC).
- Zoomen: Mausrad.
- UI-Sichtbarkeit umschalten, Vollbild, Menü und Konsole haben jeweils eigene Hotkeys.
- Multiplayer: Die Spielerliste und der Chat haben eigene Tasten; das Mausrad scrollt die Chathistorie.
Logic-Übersicht (was Controls ingame bedeutet)
Logic ist das ingame Skript-System, das von Processors ausgeführt wird. Es bietet deterministische, niedrigstufige Instruktionen ähnlich Assembler: Jede Instruktion wird basierend auf dem Instruktionszähler des Processors ausgewertet, und der Processor durchläuft sein Programm jeden Tick entsprechend seiner Geschwindigkeit/Uhr.
Processors können mit der Welt interagieren: sie lesen Sensoren, lesen/schreiben Speicherblöcke, steuern Blockzustände, drucken Nachrichten und springen bedingt. Es stehen visuelle Bearbeitungs- und Textbearbeitungsmodi zur Verfügung; der visuelle Editor ist einsteigerfreundlich und unterstützt mobile Nutzung sowie Clipboard-Import/Export.
Häufige Instruktionskategorien
- Sensoren: lesen Blockeigenschaften und spezielle Tags wie @enabled von Switches und anderen Blöcken. Beispielverwendung: sensor active switch1 @enabled weist den aktivierten Zustand des Switch einer Variable namens active zu.
- Kontrolle: ändert den Zustand eines Blocks. Beispiel: control enabled conveyor1 1 ... setzt ein
Förderband auf aktiviert; control enabled conveyor1 0 ... deaktiviert es.
- Sprung und Vergleiche: bedingte Ablaufsteuerung. Verwende jump
, um zu springen, wenn ein Vergleich zwischen a und b zutrifft. Die Vergleichsliste enthält Operatoren wie strictEqual und always; always gibt immer true zurück und erzwingt den Sprung. - Speicher lesen/schreiben: read var = cell at index liest numerische Werte aus MemoryCell oder MemoryBank in eine Variable. MemoryCell unterstützt indexierten Zugriff (Zellen sind nullbasiert).
- Drucken und Anzeigen: print speichert Text zur Anzeige; printflush target gibt gespeicherten Text an einen Message-Block oder ein Logic-Display aus.
- getlink/content Zugriff: Processor können das spezifische verlinkte Gebäude abrufen (z. B. eine bestimmte Sorter-Instanz) und es als Building-Content für gezielte Steuerung oder Abfragen behandeln.
Beispielmuster
Ein
Förderband mit einem Switch umschalten:
- sensor active switch1 @enabled
- jump 4 strictEqual active true
- control enabled conveyor1 0 0 0 0
- end
- control enabled conveyor1 1 0 0 0 Das liest den Switch, springt um das Förderband zu aktivieren oder zu deaktivieren und läuft unendlich.
Eine Nachricht in einen Message-Block schreiben:
- print "Hello world!"
- printflush message1 Verbinde den Processor mit dem Message-Block; print speichert, printflush gibt an den benannten Message-Block aus.
Inhalt einer MemoryCell lesen: read value = cell1 at 2 Das legt den numerischen Wert an Index 2 von cell1 in die Variable value (Indizes beginnen bei 0).
UI- und Usability-Tipps
- Verwende den visuellen Editor beim Einstieg: Er zeigt Variablen, Sprungfluss und ist auf Mobilgeräten einfacher zu bedienen.
- Nutze Clipboard-Import/Export, um Skripte zwischen Desktop- und Mobil-Editoren zu kopieren.
- Benenne verlinkte Blöcke (router1, conveyor1, switch1, message1) klar, um Logic lesbar und wiederverwendbar zu machen.
- Denke daran, dass Processor eine Instruktion pro Tick entsprechend ihrem Zähler/Uhr ausführen; strukturiere Schleifen und Sprünge mit diesem Timing im Hinterkopf.
Nuancen der Block-Interaktion
- Einige Blöcke geben eine pro-Instanz "building"-Verlinkung aus (im Gegensatz zu content/class). getlink ruft die verlinkte Building-Instanz ab, die inspiziert oder gesteuert werden kann.
- Blöcke können konfigurierbares Tap-Verhalten und die Eigenschaft ausgeben, ob sie Touch-Events konsumieren; konfigurierbare Blöcke können angetippt werden, um das Konfigurations-UI zu öffnen.
Dieses Dokument beschreibt die Control-Schicht: Spieler-Eingaben und das Logic-System, das zum Programmieren und Automatisieren von Einheiten und Blöcken verwendet wird. Nutze Processors, um Sensoren zu lesen, Blockzustände zu manipulieren, Nachrichten zu handhaben und komplexes Fabrik- und Einheitenverhalten zu orchestrieren.