Three Solid Days

So I scheduled a little time off of my full-time job to dedicate myself to the task of hammering out the remaining code/processes to make my mini golf game work as a single player game, with coding in place that when I can dedicate more time to making it multiplayer (if I can, I’m still not 100% sure on this) it should be a smoother transition.

I had a pretty solid list of goals, and 90% of it revolved around utilizing the new Steam API command sets and getting the system to acknowledge when I’m pressing Trigger, I want either my club to be able to hit the ball, tune the station on the radio I’m carrying around (but only when I’m holding the damn thing), or turn on the flashlight. The documentation on this is somewhat obtuse and most of the tutorials I found were either way too simplistic or were complex enough to cover what I needed but was designed/intended for the old API. So, I wound up spinning my wheels some as I worked to get everything implemented. But, at long last, I believe I now have a fully integrated version of the new API and bindings.

My other primary goal was the creation of a save/load feature that kept track of the score of the currently played game, whether an enhancement was being used (and if the player screwed it up or was successful on every course played thus far), as well as tracking inventory of items found on the island that wind up back at the house as trophies of sorts. This required a complete overhaul of the Multi-Game Controller, the GUI itself, and a lot of modification to the Player instance, because the system needed to take into account that multiple players will need their own locally saved data and I decided that I was going to re-arrange the layout of the Pick A New Game screen to include the information regarding the game that was being played when the system shut down.

Autosave, I decided, was the way to go. It triggers each time the player completes a course.

There were a couple of cosmetic things I wanted to work on as well. Creating the GUI required I start from square one and create a laser from the controller, create different kinds of buttons for the UI, and a lot of additional busy work. I get why some of these things were updated/changed but some parts left me going “Huh?”

I wanted to implement aquatic wildlife (i.e. tropical fish) and I haven’t given up on the idea, although it’s been kicked to “Weekend” on my priority list.

I’ve also been keeping notes on bizarre behavior I’m witnessing as I play test the most recent batch of code, trying to figure out why the game is doing x/y/z instead of a/b/c. Fortunately, I’ve been able to figure out most of the WTF behavior or it only happened once as a strange fluke and I’ve not been able to repeat it.

I feel like I got a lot done. One or two more solid days like this, and the game will be ready for Early Access on Steam.

Hope that everyone is staying safe out there. Can’t wait to give the next update!