Vibe Coding an entire game, Maze Trials
Rachit Khurana

Rachit Khurana @dilutewater

About: a.k.a. DiluteWater

Location:
Delhi NCR, India
Joined:
Jun 9, 2021

Vibe Coding an entire game, Maze Trials

Publish Date: May 11
11 0

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:

  1. 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.

  2. 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.

  3. Debugging Complex Issues: When I encountered issues with the player movement and collision detection, Amazon Q helped identify the root causes and suggested fixes.

  4. Sound Management System: Amazon Q helped me design and implement the sound system that handles ambient sounds, music, and spatial audio effects.

  5. Story Implementation: Amazon Q assisted in creating the cinematic sequence system and how to integrate the narrative elements into the gameplay.

  6. Performance Optimization: When the game started experiencing frame rate drops, Amazon Q suggested several optimization techniques like frustum culling and staggered updates.

  7. 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.

Comments 0 total

    Add comment