Files
repterra-web/index.html
T
deepseek 8fbe70d0b0 Repterra Web — full game: base building, power grid, taming & breeding, aquatic raiders, day/night, save/load
- Isometric canvas RTS vs dinosaur waves (fan demake of Repterra)
- Economy: houses/taxes, farms, foresters, quarries; colonist staffing
- Power grid: generators extend build range; brownout + recovery
- Defense: walls/gates, watchtowers (AA), cannon towers (ground-only)
- Taming: Primal Pen + Tamers collar weakened dinos; pets obey commands
- Breeding: tamed pairs incubate eggs at the pen; hatchlings grow up
- 7 dino species incl. flying Pteranodons and lake-raiding Suchomimus
- Telegraphed waves with direction arrows; day-15 final horde; 3 difficulties
- Day/night cycle, fog of war, minimap, synth audio, 1x-3x speeds
- Save/Load/Continue + dawn autosave (full JSON state snapshots)
- Tests: 80-assertion headless suite, browser boot + E2E, balance harness
2026-08-23 07:00:23 +00:00

103 lines
3.9 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>REPTERRA WEB — Survive the Herds</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<canvas id="game"></canvas>
<!-- ============ HUD ============ -->
<div id="hud">
<div id="topbar">
<div class="chip" id="res-gold"><span class="i">💰</span><span class="v">0</span><span class="r">+0/s</span></div>
<div class="chip" id="res-wood"><span class="i">🪵</span><span class="v">0</span><span class="r">+0/s</span></div>
<div class="chip" id="res-stone"><span class="i">🪨</span><span class="v">0</span><span class="r">+0/s</span></div>
<div class="chip" id="res-food"><span class="i">🍖</span><span class="v">0</span><span class="r">+0/s</span></div>
<div class="chip" id="res-energy"><span class="i"></span><span class="v">0/0</span></div>
<div class="chip" id="res-pop"><span class="i">👥</span><span class="v">0/0</span></div>
<div class="spacer"></div>
<div id="daylabel">Day 1</div>
<div id="wavelabel"></div>
<div id="topbtns"></div>
</div>
<div id="wavebanner"><span id="wavebanner-text"></span></div>
<div id="selpanel" style="display:none"></div>
<div id="palette"></div>
<div id="mmwrap">
<canvas id="minimap" width="176" height="176"></canvas>
<div class="mmlabel">MAP</div>
</div>
<div id="toasts"></div>
<div id="tooltip" style="display:none"></div>
</div>
<!-- ============ MAIN MENU ============ -->
<div id="menu" class="overlay">
<div class="card wide menucard">
<h1 class="title">REP<span class="red">T</span>ERRA</h1>
<p class="subtitle">— WEB SURVIVAL RTS — build the colony · wall it in · survive the herds · beware the sky —</p>
<p class="fanline">A fan-made browser demake inspired by <a href="https://store.steampowered.com/app/2768380/Repterra/" target="_blank" rel="noopener">Repterra</a> (Chute Apps / MicroProse).</p>
<div class="diffrow">
<button class="bigbtn diffbtn" data-diff="easy">
<b>🌿 SCOUT</b><small>Smaller herds · longer runway<br>For learning the ropes</small>
</button>
<button class="bigbtn diffbtn recommended" data-diff="normal">
<b>🏔️ SETTLER</b><small>The intended experience<br>15 days to the final wave</small>
</button>
<button class="bigbtn diffbtn" data-diff="hard">
<b>☠ WARLORD</b><small>Relentless swarms · early pressure<br>You will not sleep</small>
</button>
</div>
<button class="bigbtn" id="continueBtn" style="display:none;margin-top:10px">▶ Continue saved colony</button>
<button class="bigbtn subtle" id="btn-how">📖 How To Play</button>
</div>
</div>
<!-- ============ END SCREEN ============ -->
<div id="endscreen" class="overlay" style="display:none">
<div class="card wide">
<h1 class="good">COLONY SAVED!</h1>
<div class="stats"></div>
<p class="flavor"></p>
<div class="rowcenter">
<button class="bigbtn" data-restart>🔁 Play Again</button>
<button class="bigbtn subtle backtomenu">Main Menu</button>
</div>
</div>
</div>
<!-- ============ PAUSE ============ -->
<div id="pauseoverlay" class="overlay" style="display:none">
<div class="pausetxt">⏸ PAUSED<small>press SPACE to resume</small></div>
<div class="pauserow">
<button class="bigbtn" id="savebtn">💾 Save</button>
<button class="bigbtn" id="loadbtn">📂 Load</button>
<button class="bigbtn subtle backtomenu">Main Menu</button>
</div>
</div>
<script src="js/config.js"></script>
<script src="js/utils.js"></script>
<script src="js/audio.js"></script>
<script src="js/world.js"></script>
<script src="js/entities.js"></script>
<script src="js/sim.js"></script>
<script src="js/render.js"></script>
<script src="js/ui.js"></script>
<script src="js/input.js"></script>
<script src="js/main.js"></script>
</body>
</html>