This is a submission for the Amazon Q Developer "Quack The Code" Challenge: That's Entertainment!
Ever get that itch for a simple, addictive arcade game that throws you straight into the action with a killer retro vibe? That's exactly what I aimed for with RetroWave Rider, my submission for the "That's Entertainment!" challenge! Imagine strapping into a sleek, neon-glowing car, hurtling down an endless, procedurally generated highway, dodging obstacles, and snatching up data packets β all set to a synthwave dreamscape.
What's RetroWave Rider All About?
At its heart, RetroWave Rider is a love letter to classic arcade racers like Spy Hunter, but drenched in the vibrant, glowing aesthetics of OutRun. Itβs built from scratch using vanilla JavaScript, HTML5 Canvas, and CSS.
The Core Thrill:
- Endless Neon Highway: No two rides are the same thanks to procedural generation of obstacles, collectible data packets, and game-changing power-ups.
- Lane-Switching Action: Navigate your car across three lanes, making split-second decisions to survive and score.
- Power Up Your Ride: Grab shields for invincibility, warp time to slow the chaos, attract data packets like a magnet, or snag a precious extra life.
- Boost to Survive: Got a tight spot? Hit the boost for a burst of speed (but watch that cooldown!).
- Pure Retro Style: From the glowing vector lines and particle effects to a subtle CRT screen flicker, itβs designed to immerse you in a digital retro world.
The goal is simple: drive as far as you can, collect as many data packets as possible, and chase that high score!
See It In Action!
The best way to experience RetroWave Rider is to play it!
π¬ Video Demo:
Want to play it now?
- Head over to the GitHub repository.
- Download or clone the project.
- Open
index.html
in your web browser, and you're ready to hit the digital asphalt!
Quick Controls:
- Arrow Keys / A/D: Change lanes
- Spacebar: Activate Boost
- P: Pause
Peek Under the Hood
Curious about how the neon magic happens? The entire game is built with plain old JavaScript, HTML, and CSS β no external libraries or frameworks. You can explore all the code, tweak it, or even build upon it!
π Dive into the Code on GitHub: RetroWave Rider
You'll find a clean structure with index.html
for the page, style.css
for all the retro visuals, and game.js
where all the gameplay logic lives.
My Coding Co-Pilot: Amazon Q Developer
Building RetroWave Rider was a solo mission, but I had an incredibly helpful co-pilot: Amazon Q Developer. It was like having a senior dev buddy on call, ready to brainstorm, debug, and offer suggestions.
Here are a couple of highlights of how Q "Quacked The Code" with me:
Nailing the Retro Aesthetics: I had a clear vision for the neon glow and CRT screen effect. I described this to Amazon Q, and it provided CSS snippets and ideas for using
box-shadow
,text-shadow
, andanimation
keyframes. This saved me a ton of trial-and-error, letting me quickly iterate on the visual style until it felt just right. For instance, Q helped me structure the keyframes for a subtle screen flicker that really sells the retro vibe.Streamlining Procedural Logic: Generating an endless, varied, and fair road isn't trivial. I bounced ideas off Q about how to spawn obstacles and power-ups. Q helped me think through how to avoid impossible scenarios and how to gradually increase difficulty. It suggested approaches for managing arrays of game objects efficiently, which was key to keeping the game running smoothly.
Untangling Collision Conundrums: While the core collision detection is a simple rectangle check, ensuring it worked reliably with objects moving at different speeds and appearing from the horizon required careful implementation. When I hit a snag where collisions weren't registering correctly at certain speeds, I described the issue to Q. It helped me walk through my logic and identify a subtle timing issue in how object positions were updated relative to the collision check.
My Pro-Tip for Amazon Q: Don't be afraid to ask "why" or "what are the alternatives?" Besides getting code snippets, Q can explain the underlying concepts, which is fantastic for learning!
Building RetroWave Rider was a super fun journey into game development, and Amazon Q was a genuinely useful tool that helped bring the vision to life more efficiently. I hope you'll give it a spin!
Top comments (0)