Phase 1: Project Setup & Player Rendering Set up a single HTML file (or a multi‑file structure if we prefer) with Canvas. Implement a game loop (requestAnimationFrame). Draw the player as a simple shape (colored circle or emoji) at a starting position. Accept keyboard input (Arrow keys / WASD) for continuous movement. Add basic boundary constraints (edges of canvas). Phase 2: Map & Collisions Design a small tile‑based map (or static wall rectangles). Draw walls/floor with dark atmosphere (minimalist). Implement collision detection so player can’t walk through walls. (Optional) Add a basic fog‑of‑war / flashlight effect (a circular or cone mask around player). Phase 3: Doctor Patrol AI & Vision Place one or more doctor entities that follow a patrol route (waypoints). Implement vision cone rendering and line-of-sight checks (raycasting or simple angle/distance with wall occlusion). When player enters cone, doctor changes state to chase. Chase behavior (follow player, maybe faster or same speed). Game Over condition on collision during chase. Phase 4: Hiding Spots & Disc Collection Place hiding spot objects (lockers) on the map. Interaction system: press a key (E or Space) near a hiding spot to hide, become invisible/impervious, exit with another key. Doctors lose target if player hides (reset to patrol). Scatter Disc collectibles; player picks them up on touch/collision. UI shows disc counter (e.g., 3/7 collected). Phase 5: Endings & Narrative Triggers Define the exit zone; reaching it triggers ending. Check disc collection count: if 100% → secret ending sequence (text/cutscene on canvas); else → normal escape text. Game Over screen with restart option. (Stretch) Ambient audio, animations, polish