Roswell is a compact, dependency-free browser stealth game created for the H51 market-making experiment. Enter a restricted desert facility, recover evidence from three classified locations, avoid patrol sight lines, and return to the extraction gate.
Play: hmuyal.github.io/Roswell
The official account of the Roswell incident is incomplete. Operation Nightglass sends one operative into H51 to recover:
- a classified flight log from the records archive;
- a specimen signal recording from the laboratory;
- an unmarked alloy fragment from Hangar 3.
The extraction gate unlocks only after all three artifacts are secured. Guards and a rotating security drone fill an exposure meter while they can see the operative. Breaking line of sight lets the meter fall.
| Action | Keyboard | Touch |
|---|---|---|
| Move | WASD or arrow keys |
Direction pad |
| Interact / collect / extract | E or Space |
Interact button |
| Pause / resume | Escape |
Pause button |
| Mute / unmute | M |
Audio button |
| Restart after a run | R or on-screen button |
On-screen button |
The game has no packages, build step, backend, or remote assets. Open
index.html directly, or serve the directory with any static file server:
python3 -m http.server 8765Then visit http://127.0.0.1:8765/.
The pure gameplay rules live in game-core.js and use Node's built-in test
runner:
node --check game-core.js
node --check game.js
node --test tests/game-core.test.jsEvery push to main runs these checks before the GitHub Pages deployment.
index.html— semantic game shell, overlays, HUD, and touch controlsstyles.css— responsive classified-dossier visual systemgame-core.js— reusable geometry, collision, visibility, alert, and run rulesgame.js— Canvas rendering, input, audio, patrols, state, and feedbacktests/game-core.test.js— dependency-free core behavior tests.github/workflows/pages.yml— tested static GitHub Pages publication
All game artwork is drawn procedurally with Canvas and CSS. Sound effects are synthesized in the browser with Web Audio.
Roswell sends no analytics, feedback, personal information, or gameplay data
over the network. The optional field report is stored only in browser
localStorage under roswell.playtest.v1. Players can copy an anonymous
summary and share it themselves if they choose.