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.