Vibe Coding an entire game, Maze Trials
This is a submission for the Amazon Q Developer "Quack The Code" Challenge: That's Entertainment! What I Built I built a 3D Maze Game inspired by the Maze Runner series using web technologies. The game puts players in a mysterious research facility where they must navigate through a maze while battling an infection and avoiding dangerous creatures called "Grievers." Game Features: Immersive 3D Environment: A fully navigable maze with dynamic walls that shift in darkness Compelling Storyline: Players uncover the mystery behind the maze and their own identity through collectible story notes Survival Elements: Players must manage their infection level, health, and stamina while searching for serum vials Dynamic Day/Night Cycle: The environment changes as time passes, with increased danger at night Enemy: Grievers hunt the player, especially in darkness Cinematic Sequences: Story-driven cutscenes that reveal the narrative Atmospheric Sound Design: Dynamic audio that enhances the tense atmosphere Technical Highlights: Built with Three.js for 3D rendering Custom collision detection system Dynamic lighting and environmental effects Procedurally generated maze layout Optimized performance for smooth gameplay Responsive UI with health, stamina, and infection indicators Integrated sound system with spatial audio Demo You can try out the game at mazetrials.rachitkhurana.tech Code Repository The full source code is available on GitHub: notnotrachit / mazekiller How I Used Amazon Q Developer I used Amazon Q both as a CLI as well as a VSCode Extension. Amazon Q Developer was instrumental in creating this project: Game Architecture Design: I used Amazon Q to help design the overall architecture of the game, including the component structure and how different systems would interact. Three.js Implementation: Amazon Q provided guidance on implementing Three.js features like lighting, camera controls, and collision detection. It helped me optimize the rendering pipeline for better performance. Debugging Complex Issues: When I encountered issues with the player movement and collision detection, Amazon Q helped identify the root causes and suggested fixes. Sound Management System: Amazon Q helped me design and implement the sound system that handles ambient sounds, music, and spatial audio effects. Story Implementation: Amazon Q assisted in creating the cinematic sequence system and how to integrate the narrative elements into the gameplay. Performance Optimization: When the game started experiencing frame rate drops, Amazon Q suggested several optimization techniques like frustum culling and staggered updates. UI Development: Amazon Q provided guidance on creating responsive UI elements that update based on player status. The most valuable aspect of using Amazon Q was how it helped me understand complex game development concepts and implement them efficiently. It suggested best practices for game architecture that made the code more maintainable and performant. When I got stuck on technical challenges, Amazon Q provided clear explanations and sample code that helped me overcome obstacles quickly. For example, when implementing the dynamic wall movement system, Amazon Q suggested a pattern for updating the collision grid that I wouldn't have thought of on my own. This made the feature much more robust and eliminated several bugs I was experiencing. Overall, Amazon Q Developer acted as both a coding assistant and a mentor throughout the development process, significantly accelerating my progress and improving the quality of the final game.
This is a submission for the Amazon Q Developer "Quack The Code" Challenge: That's Entertainment!
What I Built
I built a 3D Maze Game inspired by the Maze Runner series using web technologies. The game puts players in a mysterious research facility where they must navigate through a maze while battling an infection and avoiding dangerous creatures called "Grievers."
Game Features:
- Immersive 3D Environment: A fully navigable maze with dynamic walls that shift in darkness
- Compelling Storyline: Players uncover the mystery behind the maze and their own identity through collectible story notes
- Survival Elements: Players must manage their infection level, health, and stamina while searching for serum vials
- Dynamic Day/Night Cycle: The environment changes as time passes, with increased danger at night
- Enemy: Grievers hunt the player, especially in darkness
- Cinematic Sequences: Story-driven cutscenes that reveal the narrative
- Atmospheric Sound Design: Dynamic audio that enhances the tense atmosphere
Technical Highlights:
- Built with Three.js for 3D rendering
- Custom collision detection system
- Dynamic lighting and environmental effects
- Procedurally generated maze layout
- Optimized performance for smooth gameplay
- Responsive UI with health, stamina, and infection indicators
- Integrated sound system with spatial audio
Demo
You can try out the game at mazetrials.rachitkhurana.tech
Code Repository
The full source code is available on GitHub:
How I Used Amazon Q Developer
I used Amazon Q both as a CLI as well as a VSCode Extension.
Amazon Q Developer was instrumental in creating this project:
Game Architecture Design: I used Amazon Q to help design the overall architecture of the game, including the component structure and how different systems would interact.
Three.js Implementation: Amazon Q provided guidance on implementing Three.js features like lighting, camera controls, and collision detection. It helped me optimize the rendering pipeline for better performance.
Debugging Complex Issues: When I encountered issues with the player movement and collision detection, Amazon Q helped identify the root causes and suggested fixes.
Sound Management System: Amazon Q helped me design and implement the sound system that handles ambient sounds, music, and spatial audio effects.
Story Implementation: Amazon Q assisted in creating the cinematic sequence system and how to integrate the narrative elements into the gameplay.
Performance Optimization: When the game started experiencing frame rate drops, Amazon Q suggested several optimization techniques like frustum culling and staggered updates.
UI Development: Amazon Q provided guidance on creating responsive UI elements that update based on player status.
The most valuable aspect of using Amazon Q was how it helped me understand complex game development concepts and implement them efficiently. It suggested best practices for game architecture that made the code more maintainable and performant. When I got stuck on technical challenges, Amazon Q provided clear explanations and sample code that helped me overcome obstacles quickly.
For example, when implementing the dynamic wall movement system, Amazon Q suggested a pattern for updating the collision grid that I wouldn't have thought of on my own. This made the feature much more robust and eliminated several bugs I was experiencing.
Overall, Amazon Q Developer acted as both a coding assistant and a mentor throughout the development process, significantly accelerating my progress and improving the quality of the final game.