Inspiration

Inspired by Geometry Wars for Xbox 360, a launch title 20 years ago, that is still a visual and emotional onslaught of excitement that holds up to this day.

What it does

Let's you play from a reclined position with fast action dual stick controls. It's quick to learn, difficult to master, and keeps you coming back to break your high score.

How we built it

Build using Unreal Engine 5.6 with c++, Blender, and Audacity.

Challenges we ran into

The goal from the beginning was to throw as many enemies at the player onscreen at once and making that performant on mobile VR was a big challenge. Using Unreal's Hierarchical Instanced Static Mesh component and a custom shader was key to maximizing performance, but I've never used it before and it has some nuances when used on dynamic objects. One weird issue is that removing instances causes the entire instance array to get repacked and the indices get shuffled, breaking their connection to the enemies in the game. Additional reference tracking was required to make it work.

Accomplishments that we're proud of

While stress testing I was able to keep the full frame rate until going to almost 500 active enemies on screen. I put a limit of 300 enemies in my build to ensure a comfortable overhead, but it takes a very skilled player to stay alive with that many. I'm proud that I'm able to render every enemy with just a single draw call and even able to give them all unique colors and play hue shifting explosion animations that stays true to the visual inspiration of Geometry Wars.

What we learned

The Meta fork of the Unreal Engine is not supported for Mac and I was unable to add passthrough mode as I had hoped because I was traveling to UnitedXR Europe for the last few days of the competition.

What's next for Geometry Attack

A public release is coming soon and I plan to launch the full game in 2026.

Share this project:

Updates