--- title: Sunlit Slayer emoji: 😻 colorFrom: purple colorTo: yellow sdk: static pinned: false license: mit short_description: Level Design & Balancing Testbed FPS Game --- Overview This project is a WebGL-based FPS survival simulation built with Three.js. It demonstrates the integration of Generative AI (Gemini 3.5 Flash) into real-time gameplay loops. The system dynamically generates "Commander Communications" based on the current wave status and player performance, creating a non-linear narrative experience. Key Features (Tech & AI) 🤖 AI-Driven Narrative: Utilizes gemini-3-flash-preview to generate context-aware tactical briefings and encouragement messages at the start/end of each wave. 🌊 Progressive Wave Logic: Implements an exponential difficulty algorithm (Zombie count * 1.5x, Speed +0.015/wave) to stress-test combat mechanics. ⚡ Performance Optimization: Custom WebGL rendering pipeline ensuring stable 60 FPS in a "Sunlit Arena" environment with dynamic particle effects (muzzle flash, blood impact). 🎯 Core Mechanics: Features sophisticated FPS systems including ADS (Aim Down Sights), Recoil patterns, and a tactical radar system (65m radius detection). Development Context Developed as a 'Vibe Coding' experiment, aimed at verifying the efficiency of AI-assisted game prototyping and the potential of LLMs in dynamic in-game storytelling. ## 🎯 Level Design & Balancing Testbed This project serves as a spatial prototyping environment to verify FPS level metrics and combat pacing before full-scale production. Spatial Metrics Verification: The "Sunlit Arena" (open field) acts as a control group to test player movement speed vs. enemy density without cover variables. Dynamic Pacing Stress-Test: The wave logic (Zombie count * 1.5x) and speed increment (0.015/wave) are designed to identify the "Break Point" where player skill is overwhelmed by level difficulty. Information Architecture: The Radar (65m radius) and Commander Comms (Gemini API) test how audio-visual cues influence player decision-making in high-stress scenarios.