1. Spielkonzept & Steuerung
Worum geht es?
Du bewegst dich über eine IT-Weltkarte und startest einzelne Level. Ziel ist klassisches Jump-&-Run: laufen, springen, Items sammeln, Gegner ausweichen oder besiegen, Schalter aktivieren, Ausgang erreichen und dabei möglichst viele Punkte sammeln.
Das Spiel ist als Techdemo gedacht. Es zeigt Weltkarte, Login-Session, Level-Fortschritt, Levelabschluss, Items, Schlüssel, Geheimräume, Gegnerverhalten, Soundeffekte und einen eigenen Level-Editor.
Grundsteuerung auf der Weltkarte
- WASD / Pfeiltasten: Node auf der Karte auswählen.
- Enter / Leertaste: ausgewähltes Level starten.
- Mausrad: Karte zoomen.
- Mausrad gedrückt halten: Karte verschieben.
- R: Ansicht zurücksetzen.
- P: Level-Editor öffnen.
- E: Map-Editor öffnen.
- J: LE-Level testweise an Node hängen und Config erzeugen.
Steuerung im Level
- A/D oder Pfeile: links/rechts laufen.
- Shift: schneller laufen.
- Leertaste: springen.
- E: Schalter, Ausgänge und Geheimräume benutzen.
- F / Schusstaste: schießen, wenn Munition vorhanden ist.
- ESC: zurück zur Map.
Spielregeln
- Du startest mit Lebensenergie und begrenzter Zeit.
- Items geben Punkte und werden pro Session gespeichert, damit man sie nicht endlos farmen kann.
- Schlüssel sind besondere Sammelobjekte. Bosslevel benötigen später mehrere Schlüssel.
- Admin-Rechte sind ein Powerup: Ein Gegnerkontakt wird überlebt und der Gegner wird erledigt.
- Geheimräume können versteckte Items, Munition oder Schlüssel enthalten.
- Nach Levelabschluss gibt es eine Auswertung mit Punkten, Items, Zeitbonus und Schlüsselstatus.
Login-System / Session-Code
Vor dem Spielen muss ein Spielerprofil angelegt werden. Das ist kein Internet-Account und keine Registrierung mit Passwort, sondern eine einfache lokale Techdemo-Session im Browser.
- Log In: öffnet ein Fenster für Spielername und Session-Code.
- Spielername: frei wählbar und später änderbar.
- 6-stelliger Code: wird automatisch erzeugt und gehört zu deinem Spielstand.
- Weiterspielen: bekannten Namen und bekannten Code eingeben, dann wird die passende lokale Session wieder geladen.
- Info: zeigt Name und Code erneut an. Praktisch, wenn man den Code notieren will.
- Logout: beendet die aktuelle Session und setzt die Spielfigur zurück auf Level 1.
Wichtig: Der Fortschritt wird lokal im Browser gespeichert. Auf einem anderen Gerät oder in einem anderen Browser ist der Spielstand nur dann verfügbar, wenn dort dieselbe Session mit Name und Code existiert. Für die Spielwiesen-Techdemo ist das bewusst einfach gehalten — kein Serverkonto, kein Passwort, kein Cloud-Gedöns.
2. Level-Editor komplett erklärt
Grundidee
Der Level-Editor ist der Baukasten für eigene Level. Du kannst Levelgröße, Zeitlimit, Thema, Leveltyp, Blöcke, Items, Gegner, Spawnpunkte, Geheimräume und Bossräume vorbereiten. Das Ganze wird als JSON gespeichert und später im Spiel geladen.
Level-Einstellungen
- Level-ID: technischer Name der JSON-Datei, zum Beispiel
office_lan_01.
- Name: sichtbarer Levelname.
- Thema: optische/inhaltliche Einordnung, etwa Office LAN, WLAN, Druckerhölle oder Rechenzentrum.
- Leveltyp: normales Level oder Bosslevel.
- Breite/Höhe: bestimmt die Ausdehnung des Levels.
- Zeit: Zeitlimit in Sekunden.
- Grid: Rastergröße für sauberes Platzieren.
- Am Raster ausrichten: sorgt dafür, dass Objekte sauber einrasten.
Werkzeuge
- Auswählen: Objekt anklicken und Eigenschaften bearbeiten.
- Stein / Wand: solide oder nicht solide Blöcke setzen.
- Item: Sammelobjekt platzieren.
- Schlüssel: besonderes Schlüssel-Item platzieren.
- Gegner: Gegner mit Bewegung, Typ und optionalem Hüpfverhalten setzen.
- Spawn: Startposition des Spielers festlegen.
- Geheim-Eingang: Zugang zu einem Geheimraum markieren.
- Geheimraum-Exit: Ausgang aus einem Geheimraum zurück ins Hauptlevel.
- Boss platzieren: nur bei Bossleveln sichtbar.
Mehrfach platzieren
Ist die Checkbox aktiv, kannst du mehrere Objekte nacheinander setzen. Ist sie aus, wird nach einem platzierten Objekt automatisch wieder auf „Auswählen“ gewechselt. Praktisch, wenn du nur einen Block setzen und direkt bearbeiten willst.
Bibliothek & Kategorien
Rechts wählst du eine Kategorie aus der LE-Bibliothek. Direkt darunter erscheinen passende Bausteine. Diese Tiles können als Wände, Böden, Türen, Kabel, Deko oder Technikobjekte verwendet werden. Bilder werden bei größeren Blöcken gekachelt statt gestreckt.
Objekteigenschaften
- Solide: Spieler kann darauf stehen oder dagegenlaufen.
- Nicht solide: sichtbar, aber ohne Kollision – perfekt für Deko, Kabel oder Hintergrundteile.
- Schaden: Objekt verletzt den Spieler.
- Zerstörbar: Objekt kann kaputtgehen.
- Punkte: Bonus bei Zerstörung oder Interaktion.
- Schalter / Ausgang: ein gesetzter Block kann als Schalter oder Levelausgang markiert werden. Es gibt jeweils nur einen.
Geheimräume
Du kannst Geheimräume anlegen, sie im Editor bearbeiten und über Eingänge im Hauptlevel erreichbar machen. Im Spiel wird mit E gewechselt. Beim Verlassen landest du wieder am Eingang.
Gegner
- Bodengegner können patrouillieren.
- Checkbox Hüpfen: Gegner macht zufällig kurze Hüpfer.
- Fliegende Gegner können Pfade abfliegen.
- Vertikale Luftgegner bewegen sich auf einer einstellbaren Linie hoch und runter.
- IT-Gegner sind thematisch angelegt: Malware, Trojaner, Firewall, Rootkit, Update-Daemon und ähnlicher digitaler Abschaum.
Builder
Der Builder erzeugt automatisch ein Grundlevel aus der geladenen Bibliothek. In fünf Stufen wird mehr oder weniger Inhalt platziert. Das Ergebnis ist als Ausgangspunkt gedacht, nicht als fertiges Meisterwerk. Also: bauen lassen, dann nachwürzen.
Ansicht & Analyse
- Mausrad: zoomen.
- Mausrad gedrückt halten: Arbeitsfläche verschieben.
- Raster an/aus: Hilfsraster umschalten.
- Sprunghilfe: zeigt, ob Plattformen erreichbar sind.
- Erreichbarkeit prüfen: analysiert Sprünge und markiert kritische Stellen.
- L / Entf: ausgewähltes Objekt löschen.
Speichern & Laden
Level werden als JSON exportiert. Damit sie im Spiel auftauchen, gehören sie in assets/levels/ und müssen in den passenden Config-Dateien eingetragen werden. Der LE kann außerdem vorhandene Level aus dem Level-Ordner laden, sofern sie in level-files.json stehen.