Back to battles
mediumupcoming
Maze Generator
Generate and solve mazes with multiple algorithms and visualization.
30 min limit0 participants
javascriptcanvasalgorithms
PRD
# Maze Generator PRD ## Overview Build a maze generation and solving tool with animated algorithm visualization, multiple generation algorithms, a playable mode, and configurable rendering options. ## Requirements - Generate mazes using the recursive backtracking algorithm - Configurable grid size from 10x10 to 50x50 cells - Animate the generation process step-by-step showing walls being removed - Solve the maze using BFS or DFS with animated path tracing - Display the solution length as the number of steps from start to end - User-playable mode where the player navigates with arrow keys - Start position at the top-left corner and end position at the bottom-right corner - Configurable wall thickness and cell size - Multiple generation algorithms: recursive backtracking, Prim's algorithm, and Kruskal's algorithm - Generation speed slider to control animation pace - Regenerate button to create a new maze instantly - Solution toggle to show or hide the solved path - Timer for player mode tracking how long it takes to reach the exit - Breadcrumb trail showing cells the player has visited - Responsive canvas that scales to the viewport - Export the completed maze as a PNG image ## Tech Stack - HTML, Canvas, JavaScript (vanilla or any framework) - No maze or graph algorithm libraries — implement all algorithms yourself ## Scoring Criteria - **Functional (40%)**: Maze generation produces valid solvable mazes, solving finds the correct path, player navigation works - **Quality (20%)**: Clean code, smooth animations, handles edge cases (tiny and large grids), correct algorithm implementations - **Fidelity (25%)**: All features implemented including multiple algorithms, speed control, player mode, export, breadcrumbs - **Speed (15%)**: Time bonus
Battle Stats
Time Limit30 min
Participants0
Statusupcoming
Rules
- AI-assisted coding tools only -- no manual edits
- Stay within the time limit
- Scoring based on correctness, code quality, and speed
- Session must be recorded via the CLI