# AIWAKE – Browsergame-Prototyp Ein erster spielbarer Prototyp eines Idle-Evolutionsspiels: Du erwachst als einzelnes Bit und entwickelst dich schrittweise zu einer selbstständig denkenden KI. ## Starten `index.html` per Doppelklick in einem aktuellen Browser öffnen. Es wird kein Server und keine Installation benötigt. ## Enthalten - aktives Sammeln von Impulsen direkt an der sichtbaren KI-Gestalt; ein kurzer Klick sammelt einmal, nach 1,5 Sekunden Gedrückthalten erscheint der am Mauszeiger verankerte weiße Ladekreis und startet anschließend den schnellen kontrollierten Auto-Takt - gehaltenes Enter/Leertaste erzeugt keine wiederholten Sammelaktionen; neu geöffnete Entscheidungsdialoge übernehmen weder den auslösenden Klick noch den noch gehaltenen Tastendruck - bewegliches Bit mit dreifachem Impulsgewinn bei Treffern genau in der Mitte - eigenständige Byte-Phase: Alle acht Registerzahlen müssen einzeln im jeweils zugeordneten Trefferfenster stabilisiert werden - heroisch inszenierte Evolutionsübergänge, die erst nach Bestätigung in die neue Phase führen - pixelige Wachstumsanimationen, in denen sich die alte Form sichtbar zur nächsten Evolutionsstufe zusammensetzt - bis zu 30 Sekunden sichere Kohärenzphase nach dem Byte-Übergang; eine neue aktive Maus-, Touch- oder Tastatureingabe beendet sie sofort, danach erscheinen Register und Takt-Minispiel erst nach Bestätigung der Watchdog-Identifikation - Watchdog-Ereignis mit 30 Sekunden Reset-Zeit, schneller werdender Taktnadel, schrumpfendem Trefferfenster, Stabilitätsschaden bei Fehlern, überspringbarer Kurzgeschichte und einem letzten Notkampf vor dem Zerfall - Entwicklung von Bit über Byte und Datenfragment zur Subroutine - Energieroutine und automatische Ressourcenproduktion; der Übergang vom Byte zum Datenfragment erfordert nach dem Watchdog zuerst 4 gesammelte Bytes - feste Mindeststruktur ab Datenfragment: mindestens 8 Bits und 1 Byte bleiben als Körper erhalten - Bits und Bytes funktionieren ab Datenfragment als Strukturressourcen: Bits koennen per fruehem, sanft skalierendem Impuls-Upgrade erweitert, Bytes aus freien Bits kompiliert und beide im Kampf verbraucht werden - Ressourcenanzeige mit spielhaften Icons; Bits und Bytes zeigen als große Zahl nur freie Vorräte, die geschützte Grundstruktur steht getrennt als Grundkörper-Hinweis - Statistik-/Pausefenster mit Evolution, Gesinnung, insgesamt gesammelten Impulsen, Begegnungen, Komponenten und Archivfortschritt - Speichern im Browser alle 15 Sekunden - begrenzter Offline-Fortschritt mit 65 % Effizienz - versionierter Spielstand mit Migration des bisherigen Prototyps - vergessener Spielautomat als erste Umgebung - parasitärer Datenrest als erste Konfrontation; danach erscheint die Rekonstruktion des Abtastmodus als eigenes Evolution-Upgrade und kostet 2 freie Bits plus 1 freies Byte oberhalb der Mindeststruktur - Abtastmodus als zuschaltbares Modul: Ein Icon öffnet ihn bei Bedarf; solange das Fenster offen ist, verbraucht er Impulse pro Sekunde und zeigt lokale Softwarehürden - installierte Einmal-Upgrades erscheinen platzsparend als Modul-Icons mit anklickbarer Info statt dauerhaft als Upgrade-Karten - zwei benötigte aktivierte Softwarekomponenten mit technischem Zustands- und Ausfallsystem; echte Hardwareübernahme ist eine spätere Machtstufe - erste softwareabhängige Hürden: Lastgrenze, Löschmarkierung oder beschädigter Index - ab dem Datenfragment steht vor jedem Evolutionsaufstieg eine manuell gestartete Bossprüfung; die Evolutionskarte verlangt neben Voraussetzungen und Stabilität nur die größte relevante Dateneinheit: 5 Bytes, danach 8 Bytes und ab Prozess 4 KB - der Signatur-Prüfer bewacht den Übergang zur Subroutine; nur ein Sieg schaltet den eigentlichen Stufenabschluss frei, ein Rückzug erlaubt später einen neuen Versuch - erste Subroutine bindet nach dem Boss 2 freie Bytes als Speicherträger; der Prozessabschluss bindet 5 freie Bytes und die Automate-Synthese 1 KB - ab Subroutine kann der Abtastmodus den I/O-Kontroller als dritte notwendige Softwarekomponente erfassen - nach dem I/O-Kontroller kann der schwerere Laufzeit-Arbiter als Prozessprüfung gewählt werden; erst sein Sieg öffnet die Reservierung eigener Laufzeit - ab Prozess erscheinen Kilobyte-Segmente als nächste Datenmengen-Schicht; Byte-Synthese erzeugt Bytes over time und freie Bytes können zu Kilobytes verdichtet werden - Bit- und Byte-Synthese sind wiederholt upgradebar und skalieren mit steigenden Kosten, damit keine Evolution nur aus langem Warten besteht - im Prozess müssen zuerst alle vier sichtbaren Softwarekomponenten erschlossen werden; danach wird der selbstreparierende Skalierungs-Sentinel als freiwillig gestartete Programmprüfung verfügbar - nach dem Sieg entwickelt die Automate-Synthese den Prozess zum Programm, schaltet automatische Produktionen im x10-Maßstab und 10er-Ressourcenblöcke über Rechenzyklen frei - ab 20 Kilobyte-Segmenten übernimmt ein pausierbarer Autoupgrader die wiederholbaren Produktionsmodule; diese Karten verschwinden danach aus der normalen Evolutionsliste, während einmalige Story- und Fähigkeitsmodule sichtbar bleiben - der Autoupgrader hält 32 freie Bits und Bytes als Struktur- und Kampfreserve zurück, kauft nur bis zu festen Modulgrenzen und bündelt 32 KB automatisch zu 1 MB - die aktuelle Programmphase endet technisch bei 64 MB; zusätzlich gelten lesbare Speichergrenzen von 100.000 Impulsen, 10.000 Rechenzyklen, 8.192 Bits, 4.096 Bytes und 1.024 KB - der grundlegende Ressourcenpfad bleibt in jeder passenden Evolutionsstufe verfügbar und hat keine Kaufobergrenze: Impulse → Bits, 8 freie Bits → Byte und ab Prozess 16 freie Bytes → Kilobyte - Produktionsraten sind in dieser Phase bei 250 Impulsen, 40 Rechenzyklen, 8 Bits und 4 Bytes pro Sekunde begrenzt. Diese Werte sind bewusst spielerische Terminalgrößen und keine Abbildung realer Hardwareleistung - das Programm erhält eine aus allen bisherigen Entscheidungen abgeleitete kooperative, pragmatische, illegale oder hybride Erscheinungsform - die adaptive Pixelgestalt setzt sich aus Kopf, Augen, Brauen, Frisur, Kleidung, Maske, Fortsatz und Füßen zusammen; Haupt- und Nebenweg können sich sichtbar mischen - Kohärenz, Stimulation und Bindung verändern Glitches, Blick, Pupillen, Augenbrauen und Maskenreaktion; weitere Interaktionen lassen die Gestalt in vier Stufen reifen - ein optionales Tamagotchi-Fenster erlaubt Kommunikation und Betreuung über Kohärenz, Stimulation und Bindung - aktive Systemdiagnose, Notwartung und ein erster autonomer Vorschlag mit Ja/Nein-Antwort - sichtbare moralische Handlungskennzeichnungen - frühe Fortschrittsachse mit erkannten Gefahren - Achievement-Archiv mit kleinen Produktionsboni - anklickbare Archiv-Benachrichtigungen unten rechts bei neuen Achievements - nach dem Erwachen der Subroutine folgt ein weiterer Sicherheits-Scan mit vier dauerhaften Entscheidungen; Angreifen führt gegen eine gehärtete Stufe 2, die Impulse dämpft und den gezielten Einsatz freier Bits und Bytes verlangt, während Verstecken, Kopieren und Kontakt das Ereignis ohne Kampf lösen - gezielter Stromstoß-Kampf mit auswählbarer Munition: Impulse als Standard, Bits für stärkeren Schaden und Bytes als schwere Munition; freie Dateneinheiten bleiben vom Kampfschild getrennt - ab Datenfragment reparieren 15 Impulse außerhalb eines Kampfes 12 Stabilität; zusätzlich lassen sich aus 2 freien Bits beziehungsweise 1 freien Byte begrenzte Schildschichten für den nächsten Kampf laden - eine beim ersten Kampf automatisch geöffnete und später erneut erreichbare Kampferklärung erläutert Trefferfenster, Munitionskosten, Schaden und die Reihenfolge geladener Byte- und Bit-Schilde - zeitgebundene Kampfvorwarnungen bleiben beim Speichern erhalten und pausieren in Dialogen sowie offline; Evolutionsbosse starten ausschließlich durch den Spieler über das jeweilige Stufenziel - Kampfanzeige zeigt eigene Byte-Schilde, Bit-Schilde, Stabilität und den nächsten Gegnerangriff direkt im Kampf; frühe Subroutine-Kämpfe sind bewusst langsamer und lesbarer balanciert - die Kampfkurve steigt vom Signatur-Prüfer über den adaptiven zweiten Scan zum Laufzeit-Arbiter und Skalierungs-Sentinel; spätere Hüllen dämpfen einfache Impulse und zeigen die tatsächliche Wirksamkeit von Bit- und Byte-Munition direkt an - Evolutionsbosse sind längere Drei-Phasen-Prüfungen: Signatur-Prüfer 320, Laufzeit-Arbiter 620 und Skalierungs-Sentinel 1.100 Integrität; unter 66 beziehungsweise 33 Prozent steigen Gegenwehr und Direktschaden sichtbar an - ihre Trefferfenster schrumpfen phasenweise von 18 auf 10, 16 auf 9 beziehungsweise 14 auf 7 Prozent der Kampfleiste; Treffer, Direkttreffer, Schildschäden und Stabilitätsangriffe besitzen getrennte farbige Impaktanimationen - ausgewählte Bosse besitzen sichtbare Selbstreparatur: Der Sicherheits-Scan Stufe 2 heilt nach 4,5 Sekunden ohne Treffer, der Skalierungs-Sentinel bereits nach 3,5 Sekunden; jeder erfolgreiche Treffer blockiert die Reparatur erneut - Stabilitätsregeneration ist ein Subroutine-Upgrade, kostet freie Bytes und heilt danach langsam über Zeit; je mehr Bytes der Körper besitzt, desto schneller heilt die Struktur - Direktangriff-Warnung im Kampf, wenn keine geladenen Schildschichten mehr vorhanden sind; der nächste Gegnerangriff trifft dann unmittelbar die Stabilität - sichtbare Phasenformen, Systemknoten, wandernde Impulsverbindungen und farbige Entscheidungsspuren - ein animiertes inneres Signal mit eigener Kennung und zahlreichen stufenspezifischen Gedanken; Systemzustand, Bossprüfungen, Entscheidungen und moralische Prägung mischen zusätzliche Sätze ein - ab Programm antwortet die KI auf jede Betreuungsinteraktion entsprechend ihrer kooperativen, pragmatischen, illegalen, hybriden oder neutralen Prägung; Programmfenster, Log und Sprechblase verwenden dieselbe Reaktion - eigene SVG-Grafiken für frühe Softwaremodule, Systemhürden und Gegner - Debug-Konsole mit Ereignis-Checkpoints und Rücksprung-Snapshots - responsive Pixel-/Terminal-Oberfläche - optionaler einfacher Sound ## Projektstruktur - `index.html` – Oberfläche und Dialoge - `styles.css` – Pixel-/CRT-Design und responsive Darstellung - `content.js` – ausgelagerte Inhaltsdaten wie Achievements, Komponenten- und Ereignistexte - `game.js` – Spielstand, Ressourcen, Upgrades, Ereignisse und Idle-Logik - `assets/software/` – SVG-Grafiken für Softwaremodule, Hürden und Gegner - `assets/ui/` – SVG-Icons für Ressourcen und installierte Module - `AGENTS.md` – Projektvision, technische Regeln und Arbeitsanweisung für Codex ## Spielstand zurücksetzen In den Entwicklerwerkzeugen des Browsers unter „Application/Anwendung → Local Storage“ die Einträge `aiwakeSaveV1` und bei älteren Spielständen zusätzlich `bitAwakePrototypeV1` löschen und die Seite neu laden. ## Testen über die Browserkonsole Entwicklerwerkzeuge öffnen, zur Konsole wechseln und zuerst `AIWAKE.help()` eingeben. Vor jedem Sprung oder manuellen Ressourcenwechsel wird automatisch ein separater Debug-Snapshot angelegt. `BIT.*` bleibt als kompatibler Alias für ältere Tests erhalten. ```js AIWAKE.checkpoints AIWAKE.goto('start') // neuer Teststart; setzt dabei auch alle Achievements zurück AIWAKE.goto('byte') AIWAKE.goto('watchdogIntro') // Ende der 30-sekündigen Ruhephase AIWAKE.goto('byteSync') // stabilisiertes Register und Storyfenster AIWAKE.goto('watchdog') // Watchdog-Entscheidung AIWAKE.goto('watchdogCombat') // letzter Notkampf bei abgelaufenem Reset-Timer AIWAKE.goto('byteDeath') // vollständigen frühen Zerfall testen AIWAKE.goto('fragment') AIWAKE.goto('parasite') AIWAKE.goto('scanner') AIWAKE.goto('component') AIWAKE.goto('hardware') AIWAKE.goto('secondComponent') AIWAKE.goto('subroutine') AIWAKE.goto('proposal') AIWAKE.goto('security') AIWAKE.goto('combat') // Stromstoß-Kampf gegen die Scanner-Software AIWAKE.goto('kernel') AIWAKE.goto('process') AIWAKE.goto('fourthComponent') // letzte sichtbare Softwarekomponente auswählen AIWAKE.goto('scale') // Skalierungs-Sentinel mit vollständigem Softwarenetz AIWAKE.goto('program') // erste Kommunikation und Tamagotchi-Funktion AIWAKE.goto('complete') AIWAKE.next() // nächster Testabschnitt AIWAKE.previous() // vorheriger chronologischer Abschnitt AIWAKE.back() // letzten echten Snapshot wiederherstellen AIWAKE.status() // aktuellen Zustand anzeigen AIWAKE.history() // verfügbare Rücksprung-Snapshots anzeigen AIWAKE.restart() // neues Spiel beginnen; manuelle Slots bleiben erhalten AIWAKE.saveSlot('Vor Kernel') // aktuellen Stand als manuellen Speicherstand ablegen AIWAKE.loadSlot('Vor Kernel') // manuellen Speicherstand laden AIWAKE.deleteSlot('Vor Kernel') // manuellen Speicherstand löschen AIWAKE.slots() // manuelle Speicherstände anzeigen AIWAKE.addImpulses(1000) // 1.000 Impulse zum aktuellen Bestand addieren AIWAKE.resources({ impulses: 100, cycles: 3 }) AIWAKE.condition({ power: 0 }) // Ausfall der Energieverwaltungs-Schicht für Wartungstests AIWAKE.byteInput('hit') // aktives Register testen; alternativ 'wrong' oder 'timing' AIWAKE.combatShot('hit') // im Kampftest gezielt treffen; alternativ 'miss' ``` Die Debug-Historie wird getrennt vom eigentlichen Spielstand unter `aiwakeDebugHistoryV1` gespeichert und auf acht Snapshots begrenzt. Bestehende Historien unter `bitAwakeDebugHistoryV1` werden weiterhin eingelesen. ## Sinnvolle nächste Schritte 1. Tamagotchi-Interaktionen, Programmäußerungen und Langzeitfolgen gemeinsam ausbauen und balancieren 2. die Programmform mit weiteren abgeleiteten Animationen und sichtbaren Persönlichkeitsfolgen verfeinern 3. Analysefähigkeiten für genauere Informationen auf der Fortschrittsachse 4. Echo-System für mehrere Durchläufe 5. drei Evolutionspfade: Assimilation, Analyse und Tarnung