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.