During my junior year of college, I decided to wander around the quad on club day. I spotted an Ultimate table and figured, why not go to their “tryouts”? Although my competitive career didn’t last very long, that afternoon sparked a lifelong love for the sport. I went on to play in a rec league in Colorado and have since passed the passion down to my kids.

Alongside my love for ultimate, I’ve also always wanted to be a video game developer.

Ultimate isn’t exactly a mainstream, televised behemoth, which means there is a huge, untapped opportunity to make a video game. But what kind of game should it be?

There are really three options: A “standard” 3D sports game, like Madden or NFL Blitz. A “mobile” game that uses a sprite-based, retro feel. Or finally, a virtual reality (VR) game.

My first instinct was virtual reality. The physical sensation of throwing a disc is where I get a lot of joy. Oddly enough, the weight of a PSVR controller (162.5g) is almost the exact same weight as a standard Ultimate disc (175g). I would want to make it as immersive as possible, which would require some heavy physics programming to make it feel like you’re actually snapping a disc through the air.
On the flip side, making a standard 3D PC game would simply be too much work for a solo dev. Unfortunately, I would obsess over the graphics and inevitably compare my work to AAA games with hundred-million-dollar budgets.

That leaves the retro approach. I grew up playing Tecmo Super Bowl and NBA Jam. Sports games back then didn’t rely on hyperrealistic physics engines or microtransactions. I’ve really enjoyed playing Retro Bowl, and I think there is a fantastic way to adapt that fun, sprite-based formula into an Ultimate game.

The Mechanics
Ultimate is actually perfectly designed for a retro video game. The real-world rules naturally translate into engaging video game mechanics.
- You can’t run with the disc. As soon as you catch it, you stop. This eliminates the need for complex “running-while-holding-the-ball” animations. Upon catching the disc, you essentially become a stationary turret.
- The Stall Count. You only have 10 seconds to throw the disc. This acts as a built-in shot clock that creates immediate anxiety and forces action.
- The Throws. You have backhands, forehands (flicks), and hammers (over the top). You could easily map these to three different buttons on a controller or touchscreen. Hold the button longer to throw it further.
The big question is whether to include defense. I really like Retro Bowl’s “offense-only” style, and I don’t know how intuitive it would be to switch players on defense quickly enough to get a block. I think, at least for version 1.0, the game will focus solely on offense.

The Art
To make a character run in a 2D game, you need an animation cycle. You have to draw them running up, down, left, right, and diagonally. You need separate drawing frames for them throwing a backhand, laying out for a catch, and jumping for a disc.
Fortunately, art is something that can be delayed. When prototyping, graphics don’t matter. I can literally build the entire core game using blue squares for my team, red squares for the defense, and a tiny white circle for the disc.

The AI
The other massive hurdle in making a sports game is that you have to program the logic for every single player on the field.
If you play Madden, you initially only control the quarterback. The computer is busy controlling the receivers running their routes, the offensive line blocking, and all eleven players on defense. In Ultimate, you play 7-on-7. That means I have to write code that tells 13 other rectangles exactly where to run, how to cover, when to cut, and how to react dynamically while the disc is in the air.

The Coding
For a solo developer building a 2D game right now, an engine like Unity or Godot makes the most sense. Godot, in particular, is lightweight, incredible for 2D, and uses a language I have experience coding in. It takes a lot of the heavy lifting out of managing physics and collisions.
As for testing and multi-system support, starting with an HTML5 (Web) build is the ultimate cheat code. It allows me to test the game and easily share a link with friends so they can play it right in their browsers without downloading anything. Once the gameplay loop is perfected, engines like Godot make it relatively painless to export the game to iOS and Android.
Simple as that.

