Dino Land
No-build browser game using plain HTML/CSS/JS/PHP.
Run locally
cd "/Users/lawsonawhittington/.openclaw/workspace/Dino Land"
php -S 0.0.0.0:8000
Open on the same machine: http://localhost:8000
LAN test URL (from another device on your network):
- Find your LAN IP:
python3 -c "import socket;s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM);s.connect(('8.8.8.8',80));print(s.getsockname()[0]);s.close()" - Open:
http://<YOUR_LAN_IP>:8000(example:http://192.168.1.25:8000)
USB / thumbdrive distribution
Need to run Dino Land from a USB drive on unknown machines (Windows/macOS/ChromeOS)? See: thumbdrive-install.md
Controls
- Up Arrow: jump
- Down Arrow: duck
- Left Arrow: walk backward
- Right Arrow: walk forward
Gameplay Rules
- TRex starts with 5 hearts (or 10 hearts in VIP mode).
- Easy and Medium end with a portal that advances to the next difficulty while preserving score.
- Moving forward earns score (+1 per forward step unit).
- Water gaps cause instant death if landed in.
- Ant collision costs 1 heart; jumping on ants crushes them.
- Pterodactyls unlock after score > 100 (duck to avoid).
- Meteors unlock after score > 250.
- On death: top-10 leaderboard is shown; top-10 runs can be saved.
Leaderboard persistence
- Backend endpoint:
api/scores.php - Data file:
data/scores.json
Audio / music toggle behavior
- Music defaults to OFF when no preference exists in localStorage.
- Toggle preference key:
dinoLand.musicEnabled('1'on,'0'off). - First user click on the music toggle resumes/unlocks Web Audio and starts procedural music when turned ON.
- Music state is context-aware:
- Title/start screen uses title music profile.
- Gameplay switches profile by biome (Plains, Desert, Jungle, Snow, and Lava mapped to the Volcano profile).
- Death screen switches to death music profile.
- Restart/respawn to start screen returns to title profile.
- Turning music OFF performs a short fade to mute; turning back ON fades in the current state profile.
Quick verification checklist
- Start server and open game.
- Confirm score increases while moving right.
- Confirm hearts drop on ant / pterodactyl / meteor collisions.
- Confirm water causes immediate game over.
- Confirm leaderboard loads and score save works.
- With a fresh browser profile, confirm music button starts as
🔇 Music: Off. - Click toggle to ON and confirm audible looping background music starts.
- Click toggle to OFF and confirm music fades/mutes.
- Reload page and confirm toggle state persists.
Description
Languages
JavaScript
85.9%
Hack
5.5%
CSS
4.3%
PHP
4.3%