Skip to content

Retail, Refactor, Resolution: The July Spike

Last updated on 24/06/2019

During June I (fairly successfully I think) got the battle system for my RPG up and running. While I do not have all of the enemies in the game, I have all of the ‘hard bits’ around the battle system finished. Put another way, I’m not so worried that I don’t have all of the assets for combat, so long as I know how to load up a monster, fight it, draw all of the fighting actions, and award the party EXP and money at the end of the whole thing. I am, after all, still working on the game engine more than the game itself at this point.

What do we do with all that money?

Considering I had to rough out the inventory system for combat, I thought I would finish out shopping and inventory this month. Above we see the shopping debug room, where I can give the party loads of cash and have them interact with shop keepers of various types.

On top of building the shopping interfaces, I’ll need to go back and finish out the equipping and item consumption interfaces for the main menu of the game. I may also tackle the skill selection portion of the main menu while I’m there because the item / skill use logic from combat ought to be more or less exactly what exists in the menus. I suspect I’ve got a little refactoring and cleanup to do, but the bulk of the work should already be done. I actually expect the shopping interface to also mostly be leveraging interactions I’ve already written.

Today things look like this (1024×768 window showing 1024×768 canvas)

Assuming I’m right and most of the interactions are already written and just need a little refactoring to be more general, I’m going to take on a couple of other things in the July spike. First, the refactoring is the leading edge on some much needed refactoring. I know I’ve got duplicated code and a dozen todos in the source. I’m gonna go back and tackle those and clean up some documentation while what I’ve done is still fresh-ish in my head. The other big change is going to be the size of the game. We’re going to go from the above image to the below image.

Eventually I want this (1024×768 window showing 640×360 canvas)

You can already see some of the problems being caused by that in the image above. Currently things like objLabels don’t account for the view port, just the screen location. I expect a half a dozen other objects make the same style of mistake, so there will be a little bug fixing to go along with the room scaling as well.

The goal is to tackle the interaction first, then I’ll tackle whatever cleanup and refactoring wasn’t needed to get the shopping menus working. Finally, I’ll take a look at changing the resolution of the whole game. I’ll let you know how I’m doing in a week.

Published inGame Development