A Case Study of Terrain Generation, Audio Analysis, and Multithreading

Project Overview

Beat Vortex is a music-driven flight game I developed solo, and released on Steam in mid 2025. The game lets players input any audio file, analyzes it in real time, and generates dynamic 3D tunnels tailored to the rhythm and structure of the music. Players navigate their ship through these procedurally created environments, making every song a unique gameplay experience.

Project Owner

Myself

Role

Designer, Developer

Timeline

August 2019 – july 2025 (Released on Steam)

Development Platform

Unity, PC, Mobile prototype

Skills Used

Game Design, C#, Multithreading, UX/UI, Procedural Generation, Audio Analysis

Tools

Adobe Photoshop, Adobe Illustrator, Adobe InDesign, Trello, Notion, Unity, Autodesk Maya.

Challenges

One of the biggest hurdles was creating terrain generation that felt both engaging and consistent across any music track. I also needed to ensure the game’s visuals and mechanics stayed perfectly synchronized with the music in real time, regardless of tempo or genre. Finally, differentiating gameplay by music type, so that rock, jazz, or electronic tracks each created unique yet equally playable experiences, was key to keeping the game fresh and replayable.

Research

During development, the project drew inspiration from rhythm games like Beat Saber and Crypt of the Necrodancer, as well as innovative prototypes encountered at the Boston Festival of Indie Games. Research involved exploring terrain generation methods and audio synchronization techniques, including tutorials on algorithmic beat mapping. A significant focus was placed on improving knowledge of C# and multithreading, with an iterative approach to testing and refining performance.

Challenges in terrain stability and rendering led to experimenting with compute shaders and profiling tools to understand bottlenecks. Ultimately, lessons learned from other games informed the decision to generate terrain as a tunnel structure to keep players engaged while maintaining performance integrity.

Design System

The visual identity of Beat Vortex was chosen to reinforce the game’s rhythm-driven, futuristic style while keeping gameplay clear and readable.

Aa

Outrun Future

Heading

size 50/24

Aa

Audiowide

Body

size 36/24/21/16

#4F4282

#23AEAD

#8DC3C4

#2B2A36

#403E6B

#6b3fa0

#B9903D

#D5B7E8

#24211C

#605DA1

Outrun Future : Selected for its angular shapes that echo the jutting tunnel structures players fly through, creating a strong connection between gameplay and visual design.

Audiowide : Chosen for its arcade-inspired geometry and fitting name, complementing the game’s emphasis on flow and rhythm while maintaining a modern readability.

3. Game Design Process

The initial goal was to use keyboard controls or mobile gyroscope to tilt, and fly through a procedurally generated cave or tunnel created from your music, witnessed in real time as your song plays.

Visitors can interact with this embedded flight demo to experience the control mechanics first-hand. The demo allows them to fly a paper airplane, simulating how the game responds to user inputs with smooth WASD or mobile gyroscope controls. This gives a glimpse into the responsive gameplay mechanics.

Audio Spectrum Breakdown Using Fourier Transform:
Each song used in Beat Vortex is split into frequency bands using a Fast Fourier Transform (FFT). The frequencies are divided into distinct ranges—such as bass, midrange, and treble—and mapped to specific gameplay elements. For instance, terrain shifts or visual effects correspond directly to certain frequencies, creating a real-time interaction between the music and the game environment. This analysis enables an immersive experience where both the visuals and terrain feel synced with the audio.

Geometry & Terrain Breakthrough

For a long time, tunnel rendering was my biggest roadblock. Early builds produced broken meshes, misaligned textures, and normals that caused distracting shadows.

Earlier this year, I reworked the tunnel geometry calculations, fixing the normals and stabilizing the texturing system. That breakthrough finally delivered the minimal viable prototype I had envisioned for years.

Performance Optimization with Multithreading (Single vs. Multi-threaded Tests):
To ensure smooth gameplay and faster load times, the game uses multithreading. A Producer-Consumer Queue was implemented to distribute audio processing across multiple cores. The embedded comparison test showcases the performance improvement—shifting from single-threaded processing, which resulted in slower load times, to a multi-threaded approach that significantly reduced loading delays. This optimization ensures that the game remains responsive, even when handling complex audio-visual interactions.

Challenges:

  • Complexity of Multithreading: Implementing multithreading to ensure smooth loading and gameplay without delays was a major hurdle, requiring optimized processes to run effectively across multiple cores.
  • Performance Bottlenecks: The original single-threaded design led to long loading times (7–10 minutes on mobile). These delays risked player engagement and required careful profiling and iterative testing to resolve.
  • Procedural Terrain Generation: Designing terrain systems that not only responded to audio input but also produced levels that were fun, fair, and visually coherent across all genres proved to be a constant balancing act.
  • Audio Analysis Integration: Building systems that could extract meaningful patterns from audio files and translate them into terrain shifts, visual feedback, and engaging gameplay elements was both technically and creatively demanding.

Goals:

  • Seamless Music-to-Gameplay Integration
    Create a system where any audio file could be analyzed and instantly transformed into terrain, ensuring that the game felt responsive to the rhythm and flow of the music.

  • Performance Optimization Across Devices
    Reduce loading times from several minutes to under two, with smooth real-time generation and stable frame rates on both desktop and mobile platforms.

  • Distinctive Genre Experiences
    Develop terrain patterns and visual feedback that felt unique to each music style (e.g., bass-heavy EDM vs. flowing jazz), while keeping gameplay equally engaging across genres.

  • Scalable and Maintainable Systems
    Build terrain generation, multithreading, and audio analysis tools that were modular, extensible, and efficient enough to support future features and iterations.

  • Immersive Visual Identity
    Design a visual style that reinforced the connection between music and environment, using shaders, color palettes, and motion feedback to heighten immersion.

Scope of Work:

Game Design & Development
    • Designed and implemented the core gameplay loop: flying through procedurally generated tunnels synced to music.
    • Integrated input systems for both keyboard (WASD) and mobile gyroscope, ensuring accessibility across platforms.
Procedural Terrain Generation
    • Built a tunnel-based system driven by real-time audio frequency analysis (bass, midrange, treble).
    • Developed algorithms to balance challenge, flow, and visual impact regardless of song tempo or genre.
Audio Analysis & Synchronization
    • Implemented Fast Fourier Transform (FFT) to split songs into frequency bands.
    • Connected these bands to terrain shifts, shader effects, and visualizers to create a dynamic rhythm-based experience.
Multithreading Integration
    • Architected a Producer–Consumer Queue system to distribute audio processing across multiple cores.
    • Reduced loading times from 7–10 minutes to less than 30 seconds, vastly improving usability.
Performance Testing & Optimization
    • Profiled bottlenecks and optimized memory management, shader performance, and terrain generation.
    • Ensured smooth framerate and stable real-time terrain updates on mobile devices.
Visual & UI Design
    • Designed interface elements, instructional content, and in-game feedback systems.
    • Selected fonts (Outrun Future + Audiowide) and defined the purple/teal/yellow color palette to reinforce the arcade-synthwave identity.
Project Management & Documentation
    • Managed the project independently using Trello and Notion for task tracking and iteration.
    • Created design documents and presentation assets for testing, feedback, and eventual release on Steam.

Conclusion:

Beat Vortex demonstrated the successful integration of music analysis, procedural generation, and performance optimization into a commercial release. It taught me the importance of designing scalable systems, balancing technical performance with creative gameplay, and shipping a polished product.

Future goals: Continue refining procedural design, expand cross-platform support, and explore deeper customization for community-driven content.

Beat Vortex

Beat Vortex is the working title for a rhythm game I began working on in 2018. 
I picked back up work on the project during 2020 to see how much further along I could get. 

After extensive research, I was able to implement multithreading for the song loading and analysis.  
This took load times on mobile from 7-12 minutes depending on the song to 50-90 secs. 

I later use a similar technique to improve the terrain generation, which yielded similar results. 

Tools used: Autodesk Maya, Photoshop, Unity, Visual Studio, Trello. 

Honor Lore and art

During the pandemic, I took the opportunity to freelance and work from home as a way for me to focus on finishing up one of my passion projects.  

One of the first steps along this journey was to develop more of the lore and background of the world. 

Honor Rulebook

As progress on the game began to pick up steam, I shifted focus over to refining the rulebook I had previously thrown together during the original development. 

As part of the process, visual and grammatical improvements were made to improve the flow and clarity of the rules. 

After completing the revisions of the rulebook, the project moved forward into play tests and further refinement. 

Journal App

This past year I started working on developing a productivity app. I felt that the to-do list’s or habit trackers I had tried were very narrowly focused on doing one thing well. This often left users needing multiple apps to handle simple planning and task management for their day to day. This creates a lot of opportunities for confusion,  wasted time, and more pain points than their software solves. 

The goal of the Journal App is to give every day users the same depth and control over planning of their schedules as we have for corporations with software like Jira, Trello, Monday, or Asana. 

This project has been a great test of my UI design and implementation. It has also given me a chance to further improve my workflow for loading/storing user data. 

Tools used:  Photoshop, Trello, Unity, Visual Studio. 

Tulipanov Virtual Gallery

For this project, I was asked by the painter, Igor Tulipanov, to create a virtual gallery space where he could host private exhibitions of his art. 

I used a concept image he gave me to model the exterior off of. I then designed an interior that worked well for that space and fit his unique art style. 

The final goal for the project is to be able to embed the gallery on the homepage of their site. This proved to be the main challenge of this project was setting up the ‘multiplayer’ aspect, due to it being webgl. 

 

Tools used: Autodesk Maya, Photoshop, Unity, Photon 

Pip42 - 1 : Building design

PIP42 – 1 gives players the ability to place down structures and create bases on a foreign planet. To do this required a modular building. 

I started off by building a mood board of space structures that I felt fit the aesthetic I was looking for. 
Since the game is top down, I need to design with the ability for the  roof of all the models to be removable. 

Tools used: Autodesk Maya. PureRef. 

Honor Stats Rebalancing

After the first few play tests, we found the stats for Honor needed to be rebalanced. 
Using google sheets allowed me to visualize the distributions of stats for classes, weapons, and armor. 
I was able to do this using conditional formatting, which I set to shade cell based on their value. 

The original stat calculations took a considerable amount of time to work out. 
Developing a new system cut down the time substantially. 

Tools used: Google Sheets

Honor Card Design

Over a few months, I worked to refine the card designs for my tabletop card game. Here are some iterations of the early stages. 

After not seeing much progress towards a suitable design, I decided to create a mood board to help define what I wanted to create. 

I’ve settled on a simplified look with minimal framing, allowing more room to let the art shine. 

After settling on the new design, I began implementing those concepts across the rest of the card types from the game.

Tools used: Photoshop, Illustrator, InDesign, Pureref

Before

This was a project for a local business. They wanted their site updated to something that was more modern and fresh than their old site. 
I designed and built out the new site remotely, then swapped the site out over night to prevent downtime and users seeing a broken site. 

www.ColorGroup.com

Museum of Bops

Museum of Bops was a freelance animation project for the painter Igor Tulipanov.  

Igor wished to see the characters from his paintings come to life. 

I modeled the character, built out a museum and animated all the characters.

The video is the intro of the project where the characters enter the museum before climbing into the paintings to interact with their fellow bops

Tools used: Autodesk Maya, Photoshop, Unity, Visual Studio, Trello.