Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
만화 스타일 트윈스틱 좀비 서바이벌 로얄. 은신처 만들고, 무리 폭파하고, 축소되는 구역을 버틴다. 무료 플레이, 설치·가입 필요 없음
A cartoon twin-stick zombie survival royale. Build cover, blast the horde, outlast the shrinking zone. Play free — no install, no sign-up.
게임JavaScript · CSSGitHub @Deegan4온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Last Pulse — a portrait, mobile-first cartoon twin-stick survival battle royale (single-file HTML5 canvas game)
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Pick a fighter, pick a gun, drop into a field of 15. Outlast the other players, the roaming zombies, and the closing safe zone — scavenge scrap and build your own cover while you're at it. Last one standing wins.
opens the game in your browser — no install, no sign-up · for a permanent URL see Play
…plus Milo, Chip, Yuki, Finn, Cypher, Shade, Nova, Onyx & Titan — unlocked as you level up.
The repo is already Pages-ready (index.html at root + .nojekyll). This gives a fast, permanent URL that never breaks:
main → Folder: / (root) → SaveThen play at https://deegan4.github.io/last-pulse/ — it rebuilds automatically on every push to main.
These use free third-party proxies for the public index.html. If one shows a blank page or error, give it a minute (they cache briefly after a push) or try the next:
For local development, clone the repository, run python3 scripts/build-game.py, then python3 -m http.server 8000. Open http://localhost:8000. HTML, scripts, styles and assets must stay together.
Edit src/; root index.html and assets/game/ are generated deployment artifacts.
| Area | Source |
|---|---|
| Enemy drawings and palettes | src/game/rendering/enemies.js |
| Enemy stats and creation | src/game/entities/enemies.js |
| Combat and perks | src/game/combat/ |
| Characters, weapons and release notes | src/game/data/ |
| Movement, touch and gamepad | src/game/input/ |
| Screens and selection | src/game/ui/ |
| Styling and markup | src/styles/game.css, src/index.html |
| iOS save/purchase bridge | src/game/native/bridges.js |
| Native Swift app | LastPulseIOS/LastPulse/ |
Run python3 scripts/build-game.py after source edits, then node scripts/validate.mjs.
Xcode's Build Shared Game phase packages the same sources and canonical assets/
directly into the app's GameContent/ directory on every build and archive. It needs
Python 3, not Node or npm. LastPulseIOS/GameContent/ is an ignored local preview output.
See architecture and build details.
WASD + mouse on desktop, plus gamepad support.normal, fast runner, and tanky brute in the mix, plus Horde horrors: acid-lobbing Spitters, bursting Bloaters, swarming Stalkers, and armored Juggernaut mini-bosses on milestone waves — all ramping in HP, speed, and damage each wave.| Action | Touch (mobile) | Keyboard / Mouse (desktop) |
|---|---|---|
| Move | Left stick | WASD / arrow keys |
| Aim & fire | Right stick (auto-fire) | Mouse aim · click or Space to fire |
| Reload | automatic | R |
| 🔨 Build (wall → spikes → turret) | 🔨 button — tap to cycle, fire to place | B to cycle · fire to place |
| ⚡ Lightning | ⚡ button | Q |
| 💣 Bomb | 💣 button | E |
| 🪝 Grapple | 🪝 button | F (again to release) |
Everything — markup, styles, and game logic — lives in a single index.html. No build system, no package manager, no dependencies.
# play / iterate: just open it
open index.html # or: python3 -m http.server 8000
# syntax-check both script blocks + version / asset gates (fast, no execution)
node scripts/validate.mjs
Want to drive it headlessly (launch, play a match, screenshot, smoke-test)? There's a ready-made skill at .claude/skills/run-brawl-arena/:
node .claude/skills/run-brawl-arena/driver.mjs --play --mode horde --shoot
See CLAUDE.md for architecture notes, memory.md for the running design log, and ROADMAP.md for the future plan.