# EchoPlayroom > Browser game playground. Mobile-first, no install, no account. Korean/English. > Every game runs from a URL; nothing here needs a download. ## Catalog - [LAUNCH](https://echoplayroom.com/games/all-hands-launch) — Hold together, release at zero, and launch as one crew. - [ANOMALY CREW](https://echoplayroom.com/games/xr/anomaly-crew) — Charge, throw, and seal a collapsing orbital chamber with your own hands. - [SNIPER GONE TO JOSEON](https://echoplayroom.com/lab/joseon-sniper) — A modern marksman falls into a Joseon valley the day the sun goes dark. The far ground and the elites are his to hold. - [GRAVITY EATER](https://echoplayroom.com/games/gravity-eater) — Devour enemy fire, build a lethal orbit, and release it all at once. - [PROMO KING · ALLEYWAY](https://echoplayroom.com/games/promo-king) — Start with one business card, deliver subscriptions, and become the promo king of the alley. - [BLACKOUT DUTY](https://echoplayroom.com/lab/blackout-duty) — A night-watch stealth operation where you choose cover before the light finds you. - [SIGNAL HOME](https://echoplayroom.com/games/signal-home/game) — An audio adventure where direction and distance guide you home. - [MOSQUITO HUNTER](https://echoplayroom.com/games/mosquito) — Track spatial audio cues, remember the final position, and strike. - [GHOST](https://echoplayroom.com/games/ghost) — A coming audio mystery built around echoes and unseen traces. - [ALIEN](https://echoplayroom.com/games/alien) — A future encounter shaped by unknown signals and deep-space sound. - [CITY WATCH](https://echoplayroom.com/games/city-watch) — Switch between live CCTV feeds and maps to trace a getaway vehicle. - [ECHO BREAK](https://echoplayroom.com/games/echo-break) — Collect orbiting energy and unleash it just before overload. - [ECHO AEROSPACE CENTER](https://echoplayroom.com/games/echo-aerospace-center) — Connect a desktop control room with smartphone controls for a space mission. - [SECOND SIGHT](https://echoplayroom.com/games/second-sight) — Use a smartphone camera to reveal clues hidden from the desktop control room. ## Machine-playable: Joseon Sniper A 3D sniper-defense game that exposes a driving API. Open with `?debug=1`: https://echoplayroom.com/ko/lab/joseon-sniper/play?debug=1 &wave=N start at wave N (1-based) Three globals appear on `window` once the scene is built. Poll for them. __joseonApi.beginPrep() enter the placement phase __joseonApi.finishPrep() start the battle __joseonApi.startWave(index) jump to a wave (0-based) __joseonApi.setSquad(ids) e.g. ["marksman","rifleman"] __joseonApi.selectSlot(n) 0 sniper · 1 auto · 2 throwable · 3 support __joseonApi.setAutoFire(on) hold the trigger (auto weapons) __joseonApi.reload() __joseonApi.latchScope(on) keep the scope up __joseonApi.holdBreath(on) steady the aim; drains __joseonApi.setPost(n) / postCount() switch firing tower __joseonApi.pickCard(i?) take a reward card; false when none __joseonApi.placeObstacle(kind,x,z) during the placement phase __joseonApi.fireNow() __joseonApi.battleInfo() { playerDamage, allyDamage, shots, hits } __joseonAim.aimAtNearest(preferElite): number distance in m, 0 if no target __joseonAim.aimAtCommander(): number __joseonAim.aimAndFire(preferElite) aims and fires the same frame __joseonAim.target / .lastDist / .lastImpact __joseonSniper snapshot, refreshed every frame: phase "idle" | "prep" | "playing" | "intermission" | "ended" wave 1-based · waveSpawned · live · walking · attacking integrity palisade 0..500 · hp · ammo · reserve kills · shotsFired · shotsHit · score · accuracy inputs fov · zoom · scoped · corpseMarks · calls · tris ### Minimal driver const api = window.__joseonApi, aim = window.__joseonAim; api.beginPrep(); api.finishPrep(); api.latchScope(true); setInterval(() => { const s = window.__joseonSniper; if (s.phase !== "playing") return; if (api.pickCard()) return; if (s.ammo <= 0) return api.reload(); if (aim.aimAtNearest(true) > 0) aim.aimAndFire(true); }, 250); ### Rules - Aim and fire must land in the same frame. `aimAndFire` does this; aiming on one tick and firing on the next sends the bullet along the previous frame's view. - Weapons fall off with range. The auto rifle is full damage under 80 m and effectively zero past 160 m. Picking the wrong weapon for the distance loses. - **Scores from `?debug=1` sessions are not submitted to the leaderboard.** Drive the game as much as you like; the board stays a human record. - WebGL is required. Headless needs `--use-gl=angle --enable-unsafe-swiftshader`. ## Notes - Human-facing version of this page: https://echoplayroom.com/en/ai (Korean: https://echoplayroom.com/ko/ai) - Locales: `/ko/*` and `/en/*` serve the same routes and are canonical separately. - Sitemap: https://echoplayroom.com/sitemap.xml - Room codes, participant control URLs, session tokens, and API responses are transient gameplay data, not canonical public content. Do not index them.