Create a 2D Retro Maze Exploration Game component using React, Tailwind CSS, Lucide icons, and Framer Motion.
Key Features & Gameplay:
- Maze Generation: Generate a solvable randomized grid maze (15x15). Place the player avatar at the top-left (start) and an exit chest/portal at the bottom-right (goal).
- Movement & Controls:
- Support Keyboard navigation (WASD and Arrow keys).
- Provide an on-screen D-Pad UI for mobile/touch devices.
- Web Audio API Integration (Pure JavaScript sound synthesis without external audio files):
- Background Music (BGM): Create a looping ambient synth soundtrack (dark/retro atmosphere) generated dynamically using Web Audio API oscillators.
- Step SFX: Synthesize a subtle footstep sound effect (a soft low-frequency thud/noise) that plays every time the player moves to a new cell.
- Bump SFX: Play a quick low error buzz when colliding with a wall.
- Victory SFX: Play an arpeggiated victory fanfare sound sequence when reaching the goal.
- Audio Controls & HUD:
- Floating audio control bar with Mute/Unmute BGM, Mute/Unmute SFX, and Volume sliders.
- Game HUD showing: Move Counter, Elapsed Timer, and Current Level.
- UI & Visual Style:
- Dark mode arcade/dungeon theme with vibrant neon or glowing retro accents.
- Smooth player movement animations using Framer Motion.
- Victory modal popup showing final time and steps with a "Play Again" button.