Inspiration

Live-service games keep players engaged by releasing fresh content every week, but creating new game assets requires significant development and design effort. For small indie teams, maintaining that pace is almost impossible. I wanted to explore whether generative AI could do more than create isolated assets. My goal was to build a system capable of automatically producing an entire playable weekly racing challenge from the initial theme all the way to a downloadable or playable game experience with minimal human intervention. The result is Weekly Race Generator, an automated pipeline that creates and publishes a brand-new racing challenge every week.

What it does

Weekly Race Generator automatically creates a fresh playable racing challenge every week. Each challenge includes:

  • A unique weekly theme
  • A procedurally generated racing track
  • A 360° AI-generated equirectangular panorama skybox
  • An original AI-generated electronic soundtrack
  • A matching cinematic loading screen
  • A manifest describing all generated assets
  • Automatic publishing to cloud storage
  • Automatic archival of previous weekly challenges Players simply visit the weekly challenge page and start playing. Every week, the experience changes automatically without requiring a game update.

How we built it

The project combines Unity, Python, AWS, Backblaze B2, Genblaze and multiple AI models into a single automated pipeline. The generation workflow begins with AWS EventBridge triggering an AWS Lambda function on a schedule. Lambda launches our Competition Builder, which orchestrates the complete generation process. The pipeline:

  1. Generates a new weekly competition theme
  2. Creates a procedural race track
  3. Generates a panoramic skybox using AI
  4. Generates an original electronic soundtrack using Google Lyria
  5. Produces a cinematic loading screen based on the generated skybox
  6. Uploads every asset to Backblaze B2
  7. Publishes a new current.json manifest
  8. Archives previous challenges automatically The Unity WebGL client never ships new content with the game itself. Instead, it downloads the latest manifest, fetches the referenced assets from Backblaze B2, and assembles the current week's challenge dynamically. Older challenges remain playable through the archive. This manifest-driven architecture allows the game to evolve continuously while keeping the client unchanged.

Challenges we ran into

The biggest challenge wasn't generating individual assets, it was making independently generated assets feel like they belonged to the same world. I spent considerable effort improving consistency between the generated skybox, loading screen, procedural track, and music so that each weekly challenge felt cohesive rather than a random collection of AI outputs. Building reliable automation was another major challenge. The pipeline had to generate assets, upload them, publish manifests, archive previous challenges, clean up temporary files, and recover gracefully from failures while remaining suitable for scheduled cloud execution. Packaging Python dependencies for AWS Lambda also required careful handling because several AI libraries contain native binaries that must be built specifically for the Lambda runtime.

Accomplishments that we're proud of

I am most proud that the project functions as a complete autonomous content pipeline rather than a collection of AI demos. Some highlights include:

  • Fully automated weekly content generation
  • Original AI-generated music, environments, and artwork
  • Procedural track generation
  • Automatic publishing and archival using Backblaze B2
  • Scheduled cloud execution using AWS Lambda and EventBridge
  • Manifest-driven asset delivery
  • A playable Unity WebGL game that consumes generated content without requiring new builds

Perhaps the most exciting milestone was watching a scheduled generation automatically publish a completely new playable racing challenge without any manual intervention

What we learned

This project taught me that the hardest part of generative media is orchestration rather than generation. Individual AI models are becoming increasingly capable, but turning them into a reliable production pipeline requires careful attention to consistency, asset management, scheduling, storage, versioning, cleanup, and client integration. I also learned the value of treating generated content as data. By making the Unity client manifest-driven, I was able to decouple the game from the generated assets, allowing new challenges to appear without modifying or redeploying the game itself.

What's next for Weekly Race Generator

The vision is to evolve Weekly Race Generator into a true live-service racing platform. Future work includes:

  • AI-generated race events and objectives
  • Weekly online leaderboards and time trials
  • Multiplayer tournaments built around the generated tracks
  • Improved AI-generated music with adaptive in-race transitions
  • More sophisticated procedural track generation
  • Richer loading screens and promotional artwork derived directly from generated game worlds
  • Additional environment styles, weather systems, and seasonal events
  • Player voting to influence future weekly themes
  • Emails and notification flow for informing players when a new challenge is ready

With the help of the Genblaze SDK and Backblaze B2, it is possible to build a continuously evolving racing game powered by an autonomous generative content pipeline instead of traditional handcrafted content updates.

Built With

Share this project:

Updates

Submission history