Senior Production Part ? - Showtime

The last step in our production cycle would be showcasing our game at the Game Studio Senior Show, and then leaving it, free to play, in our gallery space for the following week. By making it essentially a public release, we’re faced with one more big issue. We can’t let people break it, no matter what. The gallery is open for 6 hours a day. If the first player breaks it, that’s possibly 6 hours that people see a broken game. The stations would be a monitor, speakers, and a controller. No messing around with mouse and keyboard,. Guests see what we want them to see.

It was finally time to make use of the demo mode feature I implemented months ago. And the kiosk mode I implemented weeks ago. There’s one button on the home screen: Login. Register and Quit are grayed out and inaccessible. On the login screen, there’s an account assigned to you, and you can’t change it. We could have skipped over that whole process, but still wanted to demonstrate that we have an online account system. Then there’s the choice between single player and co-op. Both work, but we made the requirements (30 second timer) for co-op more obvious.

Once you’re in the game, there’s a few different ways to exit. “Return to Hub” takes you out of a level/mission, back into the hub. If you’re in co-op. it takes your partner with you. If you hit “Quit”, you go back to the login screen. Once again, taking your partner with you. Lastly, not interacting with the game for 5 minutes does the same. Still, with your partner. Nothing’s breaking, everything’s controlled.

Along polishing up the game, we set up our space in the gallery, and if I may, I think it’s by far the coolest. We have ~40 decals of a selection of the 300+ guns in the game. We have a light-up rocket, which holds custom business card holders, for everyone’s cards. It clean, but flashy at the same time. Admittedly, this wasn’t really my realm, as I don’t have the most deft hands.

With all that set up, we’re ready present, demo, and move onward and upward with our careers as developers.

Senior Production Part ? - The Last Push

Over the past week and a bit, we wrapped up the rocky development of Tales from the Blasterverse, with a bit of a bang. I’m genuinely shocked by how well everything came together, and how much got done, even taking into the account the exuberant time some of us put into the the last few days. I think the hours were somewhere around 35, spread over less than 3 days.

The programmer process was pretty simple, but effective. We threw together a spreadsheet with different categories in our game, including each individual level. We started to ourselves, but soon enlisted help from other team members to play through the game, and taking note of things. Every notes bug was color coded. Red for a critical thing, yellow for something less important, blue for something that might be fixed, but has to be tested in co-op, and green for done. The issues ranged from game breaking, to minor balance tweaks (that we largely ignored, cause there were more pressing issues).

By the end of the first night, the makeshift task board had become almost fully green, yellow or blue. Barely any major things left. A lot of what we fixed, ended being a bit silly, but almost expected as a programmer at this point. “Why isn’t the client getting information about interacting with mission events?” Probably, cause we don’t ever call the function. “Why is this menu breaking for a new player?” Probably didn’t have a null reference check for an object they won’t have yet. “Why do these enemies have no health?” Because they are set to have no health.

So, with a lot of focus and man hours, the game went from a broken mess to a beautiful mess that broke far less often. Final art passes, collision checks, and some UI tweaks also went into effect. As for the balance tweaks, things got a bit odd. Some players thought the game was too easy, other too hard. Ultimately, I leaned towards accessibility, decreasing enemy counts and spawn rates on a lot of levels. which also helped with packet loss, as some enemies were teleporting or disappearing for clients. The game was good, and playable. Now all that was left was making it presentable.

Senior Production Part ? - Going to War with the UI

As we wrap up the penultimate week of real development, the programming team has fully transitioned into a bug bashing role. My focus continued to be on UI, for what I was hoping would be the last week, but things didn’t quite go as planned.

The first thing I got out of the way was making the ‘X’ button work as the ‘A’ button in menus, which requires a shockingly strange function call that I would not have located without the help of the Internet. Along with the, ‘B’ also exits menus now, which above all else, acts as a fail-safe, if anything in the menu breaks. I figured out how to get our scrolling menus to work with a controller as well. The actual math behind it ended up being incredibly simple, but I was trying to over-complicate it, constantly leaving me with an off by one error. As so often in programming, the answer came to me by stripping away most of the function.

I did some more general menu fixes as well, mainly getting the mega-gun station to work fully, including the salvage menu. The one thing I ended up being sucker punched by, was the weapon locker. As I was looking into a small issue, I discovered something far more troubling. This menu works a little bit differently from the others. A few weeks ago, I thought about changing it to be more in line with the other, but chose not to. Bad idea. I couldn’t at all do what I was hoping to, and ultimately made the call I’d start this next sprint by refactoring the whole thing. Really, it shouldn’t be that hard, and certainly a whole lot faster than possible workarounds.

Another problem that arose this week, was things breaking throughout the week, making me step away from my current work to fix it. One of those issues actually came about with from one of my own tasks. Due to our limited schedule, it’s hard to get full test coverage. This bug was, controllers not working for the contract station after the first mission. Major, but not tested, because I saw absolutely no reason that it could be an issue.

The biggest takeaway from this week is that it’s really easy to underestimate how long bugs will take to fix. You think you know your game inside out, and everything that’s not working should be simple to correct. The reality is, that if it were that easy, things probably wouldn’t be broken in the first place. So for next week, I’m aiming a little lower, but ready to pick up more bugs along the way.