Something I’ve been hearing from many game developers recently is how much people hate working on their game’s user interface. The resounding consensus of the community sounds something like “Despite how much you (or I) hate working on it, the UI is the first thing people see when they open your game and if your players can’t navigate it effortlessly, you will lose a substantial portion of your audience.” Another recurring theme that keeps popping up is “UI is something that everyone will notice when you get it wrong, but no one will notice when you get it right.” Well, I just spent the better half of a week hammering out a finer draft of Orbitroids’ UI, and I have to say the experience was far more rewarding than I thought it was going to be.
I want to make it clear that this isn’t a rant against UI haters. I get it. People make games to express their ideas through gameplay mechanics and art and story and music. No one wants to spend their time working on plumbing while they could be refining the more dignified areas of their game. Also for a lot of us, UI work has a close semblance to our day jobs. That being said, I believe there is a lot more value that a UI can bring to a game than simply working well and not being noticed.
While I’m satisfied with all of the progress I’ve made up to this point, there’s no point in denying that the last month or so has put me in a bit of a creative rut. It’s much easier to play Orbitroids over and over, tweaking values and brainstorming ideas that are far beyond a reasonable scope than it is to simply decide what needs to be done and do it. That all changed when I made a decision to flesh out my user interface. Last Friday I sat down and drew up a navigation tree and a few mocks in about half an hour, then opened a youtube tutorial and started coding. It was a breeze. Because this was part of my project that I had given almost no consideration, there were no features I loved that had to be cut or other hard decisions to be made. By the end of the weekend, I had completed the title screen and menus.
What I hadn’t counted on was that by creating a better UI, my own experience of playing Orbitroids changed. Every time I click play, I am met with a polished title page that sets the mood of the game, rather than a boring gray screen reminding me there is more work for later. Sure, more artwork needs to be added and I don’t feel as accomplished as when I implemented a brand new control scheme halfway through the project (there will be a post about this soon), but by quickly creating something simple and refined, I’ve set a new pace to attack the other issues in the game head on.
All in all, it took me just a few days to create something that was easy to build and drastically changed the overall experience of my game. To top that off, the UI code is some of the cleanest code in the project. From now on, whenever I find myself agonizing over minor decisions that have little consequence, I’m simply going to step back and look for the dark areas of Orbitroids that haven’t been planned out. Not because completing them is a necessary evil, but because those are the areas that draw out my inspiration and get me back on track.