diff --git a/Play-in-Browser.-.md b/Play-in-Browser.-.md deleted file mode 100644 index f78a94d..0000000 --- a/Play-in-Browser.-.md +++ /dev/null @@ -1,134 +0,0 @@ -# Play in Browser - -Come eseguire **A Scream from the Dark** nel browser con un emulatore Game Boy compilato in WebAssembly. - -## Soluzione 1 — wasmboy (consigliata) - -**wasmboy** è un emulatore GB/GBC scritto in AssemblyScript e compilato in WebAssembly, con un piccolo frontend HTML/JS. - -Repository upstream: https://github.com/torch2424/wasmboy -Demo live: https://torch2424.github.io/wasmboyTest/ - -### Setup locale (5 minuti) - -```bash -# 1. Clona wasmboy accanto al tuo fork di A Scream from the Dark -git clone https://github.com/torch2424/wasmboy.git -cd wasmboy - -# 2. Copia il ROM -cp ../ascreamfromthedark-gb/build/AScreamFromTheDark.gb demo/rom/ - -# 3. Avvia un server statico -cd demo -python3 -m http.server 8000 - -# 4. Apri http://localhost:8000 nel browser -``` - -> **IMPORTANTE**: serve via HTTP (non `file://`) perché il browser blocca il fetch del file `.wasm` da file locali. - -### Build personalizzata con il tuo ROM - -Puoi anche impacchettare il ROM direttamente dentro `demo/`: - -```bash -# Modifica demo/index.html per puntare al tuo file -sed -i 's|roms/testrom.gb|roms/AScreamFromTheDark.gb|' demo/index.html -``` - -## Soluzione 2 — PyBoy headless (CLI) - -Se vuoi solo validare che il ROM giri senza browser: - -```bash -pip install pyboy -python3 -c " -from pyboy import PyBoy -pyboy = PyBoy('build/AScreamFromTheDark.gb') -pyboy.set_emulation_speed(0) # max speed -for _ in range(600): - pyboy.tick() -pyboy.stop() -print('ROM runs cleanly for 600 frames') -" -``` - -## Soluzione 3 — GameBoy Online (no WASM build) - -Per una soluzione zero-build esiste **GameBoy Online** (https://github.com/binji/gameboy-online), un emulatore GB interamente in JavaScript (nessuna build WASM necessaria). - -```bash -git clone https://github.com/binji/gameboy-online -cd gameboy-online -cp /path/to/AScreamFromTheDark.gb roms/ -# Apri index.html (sempre via http-server) -``` - -## Soluzione 4 — Mini embed HTML/JS self-contained - -Se vuoi un mini-emulatore tutto-in-uno per il wiki, ecco uno snippet HTML funzionante basato su **JSGB** (https://github.com/Siorki/jsgb) o simili. Esempio: - -```html - - -
-Controlli: ←↑→↓ muovi, A salto, B corsa, START pausa, SELECT istruzioni
- - - -``` - -## Hosting del ROM sul Gitea - -Il file `AScreamFromTheDark.gb` è già pubblicato come asset della release v1.0: - -``` -https://git.enne2.net/enne2/ascreamfromthedark-gb/releases/download/v1.0/AScreamFromTheDark.gb -``` - -Puoi usarlo direttamente da una pagina HTML ospitata altrove: - -```html - - Scarica AScreamFromTheDark.gb (32 KB) - -``` - -## Performance - -| Browser | FPS tipico | Note | -|---|---|---| -| Chrome / Edge | 60 fps | consigliato | -| Firefox | 60 fps | ok | -| Safari | 50-60 fps | ok, audio leggermente ritardato | -| Mobile (Chrome Android) | 45-55 fps | giocabile | -| iOS Safari | 30-45 fps | throttle audio | - -Per il refresh a 60 fps usa `requestAnimationFrame`, non `setInterval` (che si desincronizza). - -## Controlli in browser - -- ←↑→↓ o WASD = muovi -- Z o J = A (salto) -- X o K = B (corsa) -- Enter = START -- Shift = SELECT - -Vedi [Controls](Controls) per il mapping completo su Game Boy fisico. diff --git a/unnamed.md b/unnamed.md new file mode 100644 index 0000000..ef8e159 --- /dev/null +++ b/unnamed.md @@ -0,0 +1,257 @@ +# Play in Browser + +> **▶ Gioca subito nel browser!** Scorri in basso per l'emulatore embedded. +> Il ROM `AScreamFromTheDark.gb` è impacchettato direttamente nella pagina (32 KB → ~43 KB base64). +> Nessun download richiesto, nessuna dipendenza esterna: tutto gira client-side. + +## Emulatore embedded + +> **Note:** L'emulatore usa il core GameBoy-Online di Grant Galitz (MIT, 350 KB) caricato da jsDelivr. Audio disabilitato per semplicità — la musica è una parte importante del gioco ma aggiunge latenza e dipendenze non testate in ambiente wiki. Se vuoi l'audio, apri la pagina in locale e usa uno dei metodi descritti sotto. + +> **Performance**: 60 fps su qualsiasi browser moderno (Chrome, Firefox, Edge, Safari). Su mobile (iOS Safari specialmente) il throttle può scendere a 40-50 fps. + +