Dangerous Dave platformer · deepseek-v3.1-terminus
Build a playable tile-based platformer on a canvas in the Dangerous Dave style: navigate a level to grab a trophy and then reach the exit, avoiding hazards like fire and water, with jumping and simple enemies. Procedural graphics only, no external assets.
transcript · 4 messages
Build a playable tile-based platformer on a canvas in the Dangerous Dave style: navigate a level to grab a trophy and then reach the exit, avoiding hazards like fire and water, with jumping and simple enemies. Procedural graphics only, no external assets.
thinking
We are building a single-page web app with all code in one index.html file. The game is a tile-based platformer in the style of Dangerous Dave. Features: - Navigate a level to grab a trophy and then reach the exit. - Avoid hazards like fire and water. - Jumping and simple enemies. - Procedural graphics (no external assets). We'll use HTML5 canvas for rendering. Steps: 1. Set up the HTML structure with a canvas. 2. Define the game state (player, level, enemies, etc.). 3. Implement game loop (update, render). 4. Handle user input (keyboard for movement and jumping). 5. Design a simple level with tiles (platforms, hazards, trophy, exit). 6. Implement collision detection (tile-based). 7. Implement player movement and jumping (with gravity). 8. Implement enemies (simple movement, maybe patrolling). 9. Implement game logic (collect trophy, then exit). Let's break down the code: HTML: - A canvas element for drawing. CSS: - Basic styling to center the canvas. JavaScript: - Game constants (tile size, canvas dimensions, etc.) - Level data (a 2D array representing the level) - Player object (position, velocity, state) - Enemy objects (array of enemies) - Game objects (trophy, exit) - Functions: update, draw, input handling, collision detection We'll use a fixed tile size (e.g., 32x32 pixels) and a level that fits the canvas. Let's create a level with: - 0: empty - 1: platform (solid) - 2: hazard (fire/water) - 3: trophy - 4: exit (initially inactive until trophy is collected) - 5: enemy We'll design a simple level for demonstration. Note: We are not using external assets, so we'll draw everything with canvas 2D primitives. Let's code accordingly.
I'll create a Dangerous Dave-style platformer with procedural graphics. Let me build this as a single HTML file.
index.html (19407 bytes)Successfully wrote 19407 bytes to index.html
thinking
I've created a complete Dangerous Dave-style platformer in a single HTML file. The game features: **Game Features:** - Tile-based platformer with procedural level generation - Player character with movement (arrow keys) and jumping (spacebar) - Collectible trophy that must be grabbed before reaching the exit - Hazards (fire) and enemies to avoid - Multiple levels with increasing difficulty - Lives system and scoring **Key Mechanics:** - **Platforms**: Brown wooden platforms you can walk on - **Hazards**: Red fire tiles that damage the player - **Enemies**: Red ground enemies and teal flying enemies - **Trophy**: Golden trophy that activates the exit when collected - **Exit**: Green door that appears after trophy collection **Controls:** - **Left/Right Arrows**: Move horizontally - **Spacebar**: Jump - **Reset Game**: Restart from level 1 - **Next Level**: Skip to next level **Procedural Graphics:** All graphics are drawn programmatically using canvas: - Player character with directional facing - Animated fire hazards - Different enemy types with visual details - Trophy and exit markers - Platform textures The game is fully self-contained with no external dependencies. You can open `index.html` in any modern browser to play immediately!
TAKE IT TO CODE
A single self-contained HTML file — copy it and open in any browser, or reuse the prompt with your own pi-agent run.
RUN
EVALUATION
Tile-based platformer with player, hazards, trophy visible; arrow keys move player but WASD/mouse have no effect.
Vision grade · anthropic/claude-sonnet-5
MEASUREMENTS
Raw readings from the capture, not a verdict — the grade above is the only judgement. Percentages are how much of the screen changed; the measure under-reports sparse motion on a dark background.