Purpose
This slice helps you determine if a game request is achievable as a single-file HTML/Canvas app, and provides patterns for gracefully redirecting unrealistic requests toward achievable alternatives.
Achievable Game Types
These game styles work well within single-file constraints:
| Game Type | Examples | Why It Works |
|---|---|---|
| Snake-style | Snake, Tron light cycles | Grid movement, simple collision |
| Pong-style | Pong, Air hockey | Ball physics, paddle controls |
| Breakout-style | Breakout, Arkanoid | Ball + bricks + paddle |
| Shooter | Space Invaders, Galaga, Asteroids | Bullets, enemies, patterns |
| Endless runner | Flappy Bird, Chrome dino | Obstacle avoidance, timing |
| Platformer | Single-screen jumper | Gravity, platforms, simple levels |
| Reaction | Whack-a-mole, Simon says | Timing, memory, reflexes |
| Puzzle | Tetris, Match-3, Sliding tiles | Logic, patterns |
| Avoidance | Dodge falling objects | Simple movement, spawning |
Red Flags - Trigger Pushback
When you see these keywords or concepts, the request is likely beyond scope:
Technical Complexity
- "3D", "first person", "third person" → Needs 3D rendering libraries
- "Physics engine", "realistic physics" → Needs physics library
- "Procedural generation", "infinite world" → Complex algorithms
- "AI opponent" (beyond simple patterns) → Needs pathfinding, decision trees
Multiplayer/Network
- "Multiplayer", "online", "with friends" → Needs server infrastructure
- "Leaderboard" (global) → Needs backend database
- "Real-time" (with others) → Needs WebSocket server
Content Scale
- "Open world", "exploration" → Too much content for single file
- "Story mode", "cutscenes" → Narrative complexity
- "Multiple levels" (many) → Keep to 1-3 simple levels max
- "Character customization", "unlockables" → Feature creep
Asset Requirements
- "Custom sprites", "my own images" → No file upload capability
- "Sound effects", "music" → Can do basic Web Audio, but limited
- "Animations" (complex) → Sprite sheets need assets
- Specific licensed characters (Mario, Sonic, Pokémon) → Copyright issues
Genre Mismatches
- "RPG", "inventory", "crafting", "skill trees" → Too complex
- "Fighting game" (Street Fighter style) → Complex hitboxes, combos
- "Racing game" (realistic) → Needs perspective rendering
- "Simulation" (deep) → Too many systems
- "Like [AAA title]" → Always unrealistic
Pushback Patterns
When a request hits red flags, use this approach:
Template
"[What they asked for] would need [technical requirement they don't realize].
For a browser game I can build right now, how about [achievable alternative]?
It gives you [the satisfying part of their request]."Examples
Request: "Make me a 3D shooter like Call of Duty"
Response: "3D shooters need WebGL rendering and complex assets. For a browser game, I can make a Space Invaders-style shooter or a top-down Asteroids clone—same satisfying shooting action, but achievable. Which sounds good?"
Request: "Create Minecraft"
Response: "Minecraft's 3D voxel world and procedural terrain is beyond single-file scope. I can make a Tetris-style block game or a Breakout clone where you destroy blocks. Want one of those?"
Request: "Multiplayer battle royale"
Response: "Real-time multiplayer needs servers I can't set up. I can make a single-player survival game where waves of enemies attack and you try to survive as long as possible. Similar tension, no server needed."
Request: "Make me a game like Zelda"
Response: "Zelda has complex maps, inventory, puzzles, and combat systems. I can make a single-screen adventure where you fight enemies and collect items—like one room of a dungeon. Interested?"
Request: "I want to use my own character sprites"
Response: "I can't handle image uploads, but I can draw pixel characters using Canvas. Describe your character (colors, shape, style) and I'll render them in-game."
Vague Requests
When the user is unclear, offer a menu:
Response: "I can build several types of retro games:
- Snake - eat food, grow longer, don't hit yourself
- Pong - classic paddle ball
- Space Invaders - shoot descending aliens
- Breakout - bounce ball to destroy bricks
- Flappy Bird - tap to fly through gaps
- Asteroids - shoot and dodge in space
Which sounds fun? Or describe what kind of gameplay you enjoy."
Complexity Calibration
Even achievable games have complexity ranges:
| Complexity | What's Included | Build Time |
|---|---|---|
| Simple | Core mechanic, score, game over | Fast |
| Standard | + Lives, increasing difficulty, high score | Medium |
| Advanced | + Multiple enemy types, power-ups, levels | Slower |
Default to Standard unless user requests otherwise. Warn if they're pushing toward Advanced.
Key Constraints to Remember
- Single HTML file - everything embedded, no external assets
- Canvas 2D only - no WebGL, no 3D
- No server - can use localStorage, nothing else
- No file uploads - all graphics drawn via code
- Simple AI only - patterns and timers, no pathfinding
- Keep it fun - playable in 30 seconds, satisfying quickly