Inspiration

Some context: In platform fighting game esports (especially Smash), stages (the maps you fight on) are regarded as fairly pivotal. In a tournament set, getting one more stage that is good for your character can really make a difference.

My brother and I got into smash a few years ago, but for a long time had difficulty learning what was good, or bad, about certain stages. We also noticed that no one ever wanted to go through the standard 1-2-1 ban process because of the time it took to think it through and find all the stages. Over time, we came to recognize that the stage selection process is one of the most daunting for new players. We aim to make it easier for everyone with Stage.gg

What it does

Stage.gg is an app that shows you the legal stages on Super Smash Bros Ultimate and lets you go through the ban process right from the home screen. We also show detail pages with quick information to give players a good idea of what to be taking into consideration when thinking about their stage choices. The player can easily add/remove stages from the available list to suit the legal stages at their region/tournament.

How we built it

We built it using SwiftUI to take advantage of modern, responsive, and enjoyable to use user interfaces. Also, it was a good chance to learn about it!

Challenges we ran into

Learning how to keep track of data and pass it around in SwiftUI was a challenge. We ended up with a basic ViewModel pattern, after learning the hard way about what @State structs can and can't do. This viewModel pattern let us read and write our datastore from anywhere in the app, easily making changes to the stage list and observing them somewhere else, right away.

We also had plans to make this into an App Clip (getting it in the hands of tournament players even faster and right when they need it!), but learned that a developer account is required.

Accomplishments that we're proud of

We've found the app super easy to use for exactly the intended purpose. We actually went through some design iterations, and we're glad we did, because we kept it simple and easy to use.

What we learned

Evan, having some experience with Swift and Mobile development, learned how to approach SwiftUI and use many of its tools.

Grant, who is a beginner developer, learned about structs vs classes, async callbacks, observe patterns, lambdas, and got to see what it is like to build an app.

What's next for Stage.gg

We'll be investing in a developer account to get App Clips spun up! We hope to get feedback from people at our local tournaments soon. We think it is well timed too, as in-person gatherings are returning.

Built With

Share this project:

Updates