01:55Loads the original post from X.
The original recipe
From the creator3,985 chars
Build a complete, playable browser game called DEAD DROP. Create the working files in this workspace; do not just describe an implementation. Concept A stylish top-down extraction shooter set in a deserted neon industrial district. You have 180 seconds to collect three data cores and extract alive. It should feel like a small finished indie game, not a technical demo. Implementation Use HTML, CSS and vanilla JavaScript with Canvas 2D. Start at index.html. No frameworks, CDN imports, downloaded assets, external services or external model calls. Draw the artwork procedurally and synthesize optional sounds with Web Audio. It must run through `python3 -m http.server 8000` with no build step. Required gameplay - WASD movement, mouse aim, left-click fire, R reload, Space dash, 1/2 switch weapons, E interact, Escape pause. Explain these controls on the start screen. - A world larger than the viewport, a smooth following camera, solid buildings/cover, and collision for the player, enemies and projectiles. Movement and cooldowns must use elapsed simulation time, not frame counts. - Two meaningfully different weapons: a pistol and a shotgun. Both need limited magazines, finite reserve ammunition, a reload delay, visible ammunition counts, and consistent damage. No shooting through solid cover. - Twelve enemies at the start, with both pursuing melee enemies and ranged enemies. They must navigate around obstacles rather than permanently pushing into walls. Ranged enemies need line of sight to shoot. - Three collectible data cores, health pickups and ammunition pickups. Reach a core and press E to collect it. Place all objectives and the extraction zone in reachable locations. - Extraction only unlocks after collecting all three cores. Stand in the extraction zone and hold E for five uninterrupted seconds. Leaving the zone or taking damage resets extraction progress. - A circular danger zone starts shrinking after 60 seconds. Being outside it causes continuous damage. The final safe area must still contain the extraction zone. - Win by extracting before the 180-second timer expires. Lose when health reaches zero or time runs out. Clearly different victory and defeat screens, both with a working restart. - Pause must freeze every gameplay timer, movement, projectiles, damage and AI. Automatically pause when the tab becomes hidden; do not simulate a large time jump when returning. Restart must reset all gameplay state and not multiply event listeners. Presentation Use a coherent art direction with readable characters, depth/shadows, restrained effects and clear hit feedback. Include a useful HUD, minimap, objective indicator, reload feedback, extraction progress and mute toggle. Prioritize playability and visual hierarchy over decorative clutter. Desktop targets: 1366×768 and 1440×900. Reproducibility Use seed 12345 for the default world. The same seed must reproduce the initial map, enemy placements and pickups. Keep generated obstacles from sealing off objectives. Store the best successful completion time locally when storage is available, and continue working when it is not. Validation Actually run the game and exercise the controls if browser tools are available. Check collision, both weapons, reloading, objective collection, extraction, damage, pause, defeat, victory and restarting twice. Add any small automated checks that help you find bugs. Do not invent test results when a tool is unavailable. Work autonomously without clarification questions. Do not create a plan instead of the game. Keep all work inside this workspace and do not access unrelated files, secrets, other models' work or evaluator material. Deliver the complete source and a short README with the launch command, controls, tests actually performed and known limitations. In your final response, give the launch command and at most five short lines about what works and what remains broken. Do not claim completeness for mechanics you did not implement.





