Zum Inhalt springen
Dokumentation
Auf dieser Seite

Startargumente

Startargumente öffnen sofort einen Bildschirm, ein Level oder einen Durchlauf, Schalter ändern einen einzelnen Start. Sie folgen auf die ausführbare Datei: in Verknüpfung, Terminal oder Steam

Ohne Argumente öffnet das Spiel das Hauptmenü

Ein über MCP verbundener KI-Assistent kann dieselben Argumente an ein bereits laufendes Spiel senden - KI-Assistent

Syntax

  • jedes Argument beginnt mit zwei Bindestrichen: --editor
  • ein Wert folgt nach einem Leerzeichen oder nach =: --speed 1.5 und --speed=1.5 sind dasselbe
  • Groß- und Kleinschreibung des Schlüssels spielt keine Rolle: --Editor funktioniert auch
  • Zahlen schreibt man mit Punkt, egal welche Systemsprache: 1.5, nie 1,5
  • ein Wert mit Leerzeichen steht in doppelten Anführungszeichen: --level "D:\My Levels\Volcano"

Ein Argument, mit dem das Spiel nichts anfangen kann, stoppt den Start nie. Es wird verworfen, eine Zeile dazu landet im Log, und das Spiel öffnet seinen gewohnten Bildschirm. Wo das Log liegt - Hilfe und Fehlerberichte › Logs

Unbekannte Argumente werden ignoriert. Das Spiel liest nur seine eigenen Argumente, die mit zwei Bindestrichen. Die eigenen Argumente von Unity mit einem Bindestrich, zum Beispiel -screen-width, gehen unangetastet durch. Damit stellst du Auflösung und Vollbild ein

Bildschirme

ArgumentWas sich öffnet
--menudas Hauptmenü, wie ohne Argumente
--editorder Leveleditor
--gamedas in --level angegebene Level, und der Durchlauf startet sofort
--settingsdas Hauptmenü mit dem Einstellungsbildschirm darüber

Es wird höchstens ein Bildschirmargument übergeben. Zwei verschiedene heben sich gegenseitig auf, und das Menü öffnet sich mit einer Warnung im Log

--settings kann einen Tab nennen: general, audio, controls, keybindings, graphics, interface, game-editor, profile, other. Ohne Namen öffnen sich die Einstellungen auf dem Tab, auf dem du zuletzt warst. Ein unbekannter Name wird verworfen, und die Einstellungen öffnen sich trotzdem

Die Einstellungen öffnen sich einmal pro Start. Kehrst du später ins Menü zurück, öffnen sie sich nicht erneut. Was jeder Tab enthält - Einstellungen

Ein Level wählen

--level nennt ein Level über seine Kennung (LevelId) oder über den Pfad zu seinem Ordner. Ein Titel funktioniert nie: Titel wiederholen sich, werden übersetzt und bearbeitet. Ein Wert, der sich als Kennung lesen lässt, wird immer als Kennung genommen

Das Level wird unter denen gesucht, die das Spiel bereits in seiner Liste zeigt. Einen Ordner, der nicht in der Liste steht, findet das Spiel nicht

Zusammen mitWas passiert
nichtsdas Menü öffnet sich auf dem Levelbildschirm und wartet auf Spielen
--editorder Editor öffnet sich mit diesem Level
--gameder Durchlauf startet sofort

Ein Passwort wird nie als Argument übergeben. Ein geschütztes Level fragt auf dem Bildschirm danach und öffnet sich nach der Antwort

Bedingungen des Durchlaufs

Diese Bedingungen füllen die Steuerelemente des Levelbildschirms aus, und der Durchlauf startet, als hättest du Spielen gedrückt. Sie wirken nur zusammen mit --game. Ohne es werden sie ignoriert, mit einer Warnung im Log

ArgumentWertSteuerelement auf dem Levelbildschirm
--speedüber 0 und bis 2, auf 0.1 gerundetTempo
--livesvon 0 bis 16, 0 ist ZenLeben
--seed0 oder eine positive ganze Zahl, 0 bedeutet einen neuen Seed bei jedem DurchlaufSpieler-Seed
--botnone, reflex, warmBot
--checkpoints, --no-checkpoints-Checkpoints
--no-collision-Ohne Kollision

Eine weggelassene Bedingung nimmt ihren Standardwert: 3 Leben, Geschwindigkeit 1.0, Checkpoints an, kein Bot, Seed 0, Kollision an

Ein so gestarteter Durchlauf ist ein gewöhnlicher Durchlauf. Er geht in die Statistik ein wie jeder andere, Statistik

Schalter für den ganzen Start

Diese drei funktionieren mit jedem Bildschirm und ändern nie eine gespeicherte Einstellung:

ArgumentWas es tut
--autosave on, --autosave offschaltet das Autospeichern des Editors für diesen Start ein oder aus. Der Einstellungstab Editor zeigt den erzwungenen Wert und lässt ihn nicht ändern
--suppress-game-savesanonymer Modus für den ganzen Start. Im Spiel lässt er sich nicht ausschalten, Einstellungen › Anonymer Modus
--frame-statsschreibt eine Zusammenfassung der Frame-Zeiten ins Log, mit GPU- und CPU-Zeit. Dient für Leistungsmessungen
--frame-stats-windowsschreibt, während ein Level läuft, zusätzlich alle 0,25 s Spielzeit eine Zeile: den Level-Frame und den Median der CPU- und GPU-Zeit. Schaltet auch --frame-stats ein. Wenn das Level geschlossen wird, vergleicht eine weitere Zeile jedes Fenster mit dem, was die Bewertung dafür vorhergesagt hat. Dient zur Prüfung der Leistungsbewertung

--frame-stats schreibt alle 30 Sekunden eine Zeile pro Bildschirm, und außerdem jedes Mal, wenn das Fenster über dem Bildschirm wechselt. Die ersten 3 Sekunden eines Bildschirms werden nicht gezählt

Kombinationen

BefehlErgebnis
nichts oder --menuMenü
--editorder Editor ohne geöffnetes Level
--settingsMenü, Einstellungen offen auf dem Tab, auf dem du zuletzt warst
--settings graphicsdasselbe, auf dem Tab Grafik
--level XMenü auf dem Bildschirm von Level X, wartet auf Spielen
--level X --gameLevel X, ein laufender Durchlauf
--level X --editorder Editor mit geöffnetem Level X
--game ohne --levelMenü und eine Warnung
--menu --editorMenü und eine Warnung
--speed 2 ohne --gamedie Bedingung wird ignoriert, mit einer Warnung
--editor --autosave offder Editor, Autospeichern nur für diesen Start aus
--autosave maybemit einer Warnung ignoriert, deine Einstellung entscheidet
--suppress-game-savesMenü. Keine der eigenen Speicherungen des Spiels aus diesem Start erreicht die Festplatte
--level X --game --suppress-game-savesLevel X, ein laufender Durchlauf, und danach bleibt keine Statistik zurück
--editor --suppress-game-savesder Editor. Levelspeicherungen, automatische Speicherung und Sicherungen werden geschrieben, Einstellungen und Statistik nicht

Beispiele

Unter Windows, aus einem Terminal oder einer Verknüpfung:

"Bullet Hero.exe" --editor
"Bullet Hero.exe" --level 5f2b0e6a-1c3d-4b5e-8a9f-0d1e2f3a4b5c --game --lives 1 --speed 1.5
"Bullet Hero.exe" --level "C:\Users\<you>\AppData\LocalLow\vertoker\Bullet Hero\levels\Volcano" --editor

In Steam nehmen die Startoptionen des Spiels nur die Argumente, ohne die ausführbare Datei: --editor --autosave off

Android

Android hat keine Kommandozeile. Die Argumente werden im String-Extra bh des Intents übergeben, der das Spiel startet, und genau wie eine getippte Zeile zerlegt. Vom Computer aus geht das mit adb:

adb shell "am start -S -n com.vertoker.BulletHero/com.unity3d.player.UnityPlayerGameActivity -e bh '--frame-stats --editor'"
  • Die Anführungszeichen sind wichtig. Das ganze am start steht in doppelten Anführungszeichen, der Wert von bh in einfachen. Sonst zerlegt die Shell des Geräts die Zeile: nur das erste Argument erreicht bh, und der Rest geht als eigene Parameter an am
  • -S beendet zuerst das laufende Spiel. Die Argumente werden einmal gelesen, beim Start. Sie an ein bereits laufendes Spiel zu senden, ändert nichts

iOS hat überhaupt keine Startargumente