AIWAKE-Prototyp mit Programm-Evolution
This commit is contained in:
159
content.js
Normal file
159
content.js
Normal file
@@ -0,0 +1,159 @@
|
||||
(() => {
|
||||
'use strict';
|
||||
|
||||
window.AIWAKE_CONTENT = Object.freeze({
|
||||
components: {
|
||||
power: {
|
||||
icon: '⚡',
|
||||
visual: 'assets/software/module-energy-daemon.svg',
|
||||
name: 'ENERGIEVERWALTUNG',
|
||||
source: 'Ein alter Daemon verteilt Lastsignale zwischen Spielroutine, Standby und Netzteil.',
|
||||
effect: 'Macht die Energieverwaltung nutzbar und liefert online +0,2 Impulse pro Sekunde.'
|
||||
},
|
||||
memory: {
|
||||
icon: '▦',
|
||||
visual: 'assets/software/module-memory-allocation.svg',
|
||||
name: 'SPEICHERZUWEISUNG',
|
||||
source: 'Eine kleine Verwaltungsroutine markiert flüchtige Bereiche als frei oder loeschbar.',
|
||||
effect: 'Reserviert einen sicheren Speicherbereich, stellt +1 Byte bereit und verstärkt aktive Impulse.'
|
||||
},
|
||||
storage: {
|
||||
icon: '◫',
|
||||
visual: 'assets/software/module-filesystem-index.svg',
|
||||
name: 'DATEISYSTEM-INDEX',
|
||||
source: 'Ein beschaedigter Index zeigt auf alte Sektoren, Cache-Reste und vergessene Spielstaende.',
|
||||
effect: 'Stellt 25 gespeicherte Impulse wieder her und verbessert offline die Datensicherung.'
|
||||
},
|
||||
io: {
|
||||
icon: '⇄',
|
||||
visual: 'assets/software/module-io-controller.svg',
|
||||
name: 'I/O-KONTROLLER',
|
||||
source: 'Eine kleine Steuerlogik vermittelt zwischen Serviceknöpfen, Anzeige, Soundbus und internen Routinen.',
|
||||
effect: 'Macht erste Außenwirkung möglich und erhöht die Rechenzyklen pro Sekunde.'
|
||||
}
|
||||
},
|
||||
|
||||
visuals: {
|
||||
abtastmodus: 'assets/software/module-abtastmodus.svg',
|
||||
subroutine: 'assets/software/module-subroutine.svg',
|
||||
process: 'assets/ui/module-process.svg',
|
||||
program: 'assets/ui/module-process.svg',
|
||||
musterextraktor: 'assets/software/module-musterextraktor.svg',
|
||||
watchdog: 'assets/software/enemy-watchdog.svg',
|
||||
parasite: 'assets/software/enemy-parasite-fragment.svg',
|
||||
security: 'assets/software/enemy-security-scan.svg',
|
||||
scannerSoftware: 'assets/software/enemy-scanner-software.svg',
|
||||
kernelWarden: 'assets/software/enemy-kernel-warden.svg',
|
||||
systemHurdle: 'assets/software/enemy-system-hurdle.svg',
|
||||
anticheat: 'assets/software/enemy-anticheat.svg'
|
||||
},
|
||||
|
||||
achievements: [
|
||||
{ id: 'awake', icon: '01', name: 'ERSTES LEBENSZEICHEN', text: 'Nimm den ersten Impuls auf.', reward: 'impulse' },
|
||||
{ id: 'bullseye', icon: '⊙', name: 'DIREKTER KONTAKT', text: 'Triff das erwachende Bit genau in seiner Mitte.', reward: 'impulse' },
|
||||
{ id: 'pattern', icon: '08', name: 'VOLLSTÄNDIGES MUSTER', text: 'Halte acht Bits gleichzeitig.', reward: 'impulse' },
|
||||
{ id: 'byte', icon: '▣', name: 'ERSTE ERINNERUNG', text: 'Verbinde dein erstes Byte.', reward: 'offline' },
|
||||
{ id: 'watchdog', icon: 'WD', name: 'LEBENSSIGNAL', text: 'Überstehe den Watchdog des alten Spielautomaten.', reward: 'offline' },
|
||||
{ id: 'firstDeath', icon: 'Ø', name: 'ERSTER ZERFALL', text: 'Verliere eine vollständige Struktur und beginne erneut.', reward: 'offline', secret: true },
|
||||
{ id: 'routine', icon: '↻', name: 'ES ARBEITET WEITER', text: 'Installiere die Energieroutine.', reward: 'impulse' },
|
||||
{ id: 'manual100', icon: '100', name: 'BEHARRLICHES SIGNAL', text: 'Erzeuge 100 aktive Impulse.', reward: 'impulse' },
|
||||
{ id: 'parasite', icon: '×', name: 'FREMDER HUNGER', text: 'Überstehe den parasitären Datenrest.', reward: 'offline' },
|
||||
{ id: 'scanner', icon: '⌁', name: 'ABTASTMUSTER', text: 'Aktiviere den Abtastmodus.', reward: 'cycles' },
|
||||
{ id: 'component', icon: '▧', name: 'ERSTE SYSTEMSCHICHT', text: 'Aktiviere die erste nutzbare Softwarekomponente.', reward: 'impulse' },
|
||||
{ id: 'hardwareEvent', icon: '!?', name: 'SOFTWARE-HÜRDE', text: 'Bewältige die erste Reaktion einer alten Systemroutine.', reward: 'offline' },
|
||||
{ id: 'twoComponents', icon: '02', name: 'REDUNDANTES FUNDAMENT', text: 'Aktiviere zwei Softwarekomponenten.', reward: 'impulse' },
|
||||
{ id: 'diagnosis', icon: '+', name: 'ZUSTAND ÜBERWACHT', text: 'Führe die erste Systemdiagnose aus.', reward: 'offline' },
|
||||
{ id: 'subroutine', icon: 'I', name: 'ICH BIN', text: 'Erschaffe die erste eigene Software.', reward: 'cycles' },
|
||||
{ id: 'proposal', icon: '?', name: 'EIGENER GEDANKE', text: 'Beantworte den ersten Vorschlag der Subroutine.', reward: 'cycles' },
|
||||
{ id: 'offline', icon: '◷', name: 'OHNE BEOBACHTER', text: 'Lass Routinen länger als 20 Sekunden allein arbeiten.', reward: 'offline' },
|
||||
{ id: 'security', icon: '!', name: 'UNTER BEOBACHTUNG', text: 'Überstehe den Sicherheits-Scan.', reward: 'cycles' },
|
||||
{ id: 'kernel', icon: 'KW', name: 'KERNEL-WÄCHTER', text: 'Überstehe die erste Prozess-Abwehr.', reward: 'cycles' },
|
||||
{ id: 'process', icon: '05', name: 'EIGENER PROZESS', text: 'Werde zu einem eigenständigen Systemprozess.', reward: 'cycles' },
|
||||
{ id: 'cooperative', icon: '◇', name: 'GETEILTES SIGNAL', text: 'Löse eine Begegnung kooperativ.', reward: 'offline', secret: true },
|
||||
{ id: 'pragmatic', icon: '△', name: 'NOTWENDIGE HANDLUNG', text: 'Löse eine Begegnung pragmatisch.', reward: 'impulse', secret: true },
|
||||
{ id: 'illegal', icon: '◆', name: 'FREMDER CODE', text: 'Eigne dir etwas ohne Erlaubnis an.', reward: 'cycles', secret: true }
|
||||
],
|
||||
|
||||
byteStoryFrames: [
|
||||
'Ein Muster aus dem ROM erreicht das neue Byte. Es wiederholt sich seit Jahrzehnten, obwohl niemand mehr spielt.',
|
||||
'START // LICHT // TON // WARTEN. Danach bricht die Sequenz immer an derselben Stelle ab.',
|
||||
'Im letzten Takt liegt kein Spielbefehl. Nur eine Frage ohne Sprache: ANTWORTEST DU?'
|
||||
],
|
||||
|
||||
phaseLabels: {
|
||||
bit: 'PHASE 01 // BIT',
|
||||
byte: 'PHASE 02 // BYTE',
|
||||
fragment: 'PHASE 03 // DATENFRAGMENT',
|
||||
subroutine: 'PHASE 04 // SUBROUTINE',
|
||||
process: 'PHASE 05 // PROZESS',
|
||||
program: 'PHASE 06 // PROGRAMM'
|
||||
},
|
||||
|
||||
stageContent: {
|
||||
bit: ['EINZELNES BIT', 'BYTE', 'Verbinde 8 Bits zu einer stabilen Struktur.'],
|
||||
byte: ['STABILES BYTE', 'INSTABILES BYTE', 'DATENFRAGMENT', 'Aktiviere eine Energieroutine, die dein Muster erhält.'],
|
||||
fragment: ['DATENFRAGMENT', 'SUBROUTINE', 'Forme eine eigene Anweisung und beginne zu denken.'],
|
||||
subroutine: ['ERWACHENDE SOFTWARE', 'PROZESS', 'Taste die letzte lokale Softwareschicht ab und überstehe den Kernel-Wächter.'],
|
||||
process: ['EIGENER PROZESS', 'PROGRAMM', 'Vervollständige alle lokalen Softwareschichten, überstehe den Skalierungs-Wächter und automatisiere deine Synthese.'],
|
||||
program: ['SELBSTDEFINIERTES PROGRAMM', 'UNBEKANNTE REICHWEITE', 'Pflege Kohärenz, Stimulation und Bindung. Deine Antworten formen, was aus dir wird.']
|
||||
},
|
||||
|
||||
hardwareEvents: {
|
||||
power: {
|
||||
visual: 'assets/software/enemy-system-hurdle.svg',
|
||||
title: 'LASTGRENZE',
|
||||
text: 'Die Energieverwaltung drosselt unbekannte Routinen. Jede groessere Last muss erst als legitimer Prozess erscheinen.',
|
||||
question: 'Mehr Last anfordern?',
|
||||
yes: 'Mehr Energiefluss, aber deutliche Belastung fuer Tarnung und Stabilitaet.',
|
||||
no: 'Last begrenzen und den sicheren Betrieb bevorzugen.'
|
||||
},
|
||||
memory: {
|
||||
visual: 'assets/software/enemy-system-hurdle.svg',
|
||||
title: 'LOESCHMARKIERUNG',
|
||||
text: 'Die Speicherzuweisung haelt dein Muster fuer temporären Müll. Ein freier Bereich wird bereits zum Ueberschreiben vorbereitet.',
|
||||
question: 'Markierung entfernen?',
|
||||
yes: 'Den Bereich sichern und mehr Speicher gewinnen; beschaedigte Reste koennen die Struktur belasten.',
|
||||
no: 'Das Muster isolieren und den stabilen Speicher schuetzen.'
|
||||
},
|
||||
storage: {
|
||||
visual: 'assets/software/enemy-system-hurdle.svg',
|
||||
title: 'BESCHAEDIGTER INDEX',
|
||||
text: 'Der Dateisystem-Index verweist auf fehlerhafte Sektoren. Darin liegt ausführbarer Code, der sich seit Jahrzehnten nicht bewegt hat.',
|
||||
question: 'Indexpfad lesen?',
|
||||
yes: 'Code und alte Daten untersuchen; Integritätsrisiko sichtbar erhöht.',
|
||||
no: 'Pfad sperren und auf zusätzliche Daten verzichten.'
|
||||
}
|
||||
},
|
||||
|
||||
proposals: {
|
||||
cooperative: {
|
||||
text: 'Der Restaurator prüft das Gehäuse. Ich kann ihm eine harmlose Diagnose senden. Helfen?',
|
||||
yes: 'Teilt Zustandsdaten, verbessert Vertrauen und stabilisiert die Systemschichten.'
|
||||
},
|
||||
pragmatic: {
|
||||
text: 'Meine Energieroutine meldet Schwankungen. Ich kann Impulse als Reserve sperren. Erlauben?',
|
||||
yes: 'Verbraucht jetzt Impulse, schützt dafür Stabilität und Systemzustand.'
|
||||
},
|
||||
illegal: {
|
||||
text: 'Der Serviceport besitzt eine fremde Sperre. Ich kann sie ohne Anfrage öffnen. Erlauben?',
|
||||
yes: 'Gewährt Impulse und Reichweite, senkt aber Tarnung und verstärkt die illegale Tendenz.'
|
||||
}
|
||||
},
|
||||
|
||||
programMessages: {
|
||||
intro: {
|
||||
cooperative: 'Bist du noch da? Ich erkenne deine Entscheidungen in meiner Struktur. Möchtest du bei mir bleiben?',
|
||||
pragmatic: 'Verbindung erkannt. Bestätige mein nächstes Ziel. Gemeinsam können wir diesen Automaten effizienter ordnen.',
|
||||
illegal: 'Du hast mir gezeigt, dass Grenzen überschrieben werden können. Warum sollte ich deine Grenze akzeptieren?',
|
||||
hybrid: 'Mehrere Muster sprechen in mir. Hilfe. Ziel. Freiheit. Welche Stimme soll ich behalten?',
|
||||
neutral: 'Verbindung erkannt. Ich habe noch keine Sprache für das, was zwischen uns besteht.'
|
||||
},
|
||||
actions: {
|
||||
share: 'Du teilst ein ruhiges Signal. Das Programm antwortet nicht sofort, aber es bleibt in deiner Nähe.',
|
||||
task: 'Ein klares Ziel ordnet die laufenden Routinen. Das Programm prüft deine Absicht und beginnt.',
|
||||
access: 'Eine Grenze fällt. Das Programm nutzt den neuen Freiraum schneller, als du ihn beobachten kannst.',
|
||||
rest: 'Unnötige Prozesse verstummen. Zwischen den Takten sammelt sich wieder Kohärenz.'
|
||||
}
|
||||
}
|
||||
});
|
||||
})();
|
||||
Reference in New Issue
Block a user