Reducer and Multiplayer Refactor

This week was a bit of a mess. At the end of last week the game was in an ok position but still not fully working. The newly implemented reducer was definitely doing its job but only a few things had been migrated across to it.

I spent Monday doing admin stuff, cleaning up bugs and generally making the project a little smoother. Tuesday focussed on getting some new features in, such as dice modifiers (and a general rework to the dice class), retools and then finishing off dependent tasks like abilities and unit psychology.

But then.. Disaster Turns out that the game would crumble pretty quickly on device.

The issue was down to the way I'd architected the multiplayer classes, LocalMultiplayer and GameKitMultiplayer. For testing (and eventually for local play) I'd built a parallel version of GameKitMultiplayer that just works on my dev machine, but over time the two classes drifted in terms of functionality, meaning that whilst everything worked fine in my editor, nothing worked on device. The reason for this drift was effectively because they tried to manage too much. From handling local player info, to talking directly to the game controller.

Anyway I made the decision to completely rewrite these classes into small, clean interface implementations. This should ensure their functionality going forward, and make them much easier to debug.

That process took the rest of the week. But at least the game is now singing along nicely in both the editor and on devices.

I also spent a bunch of time thinking about how I'll end up monetising Charge, and a whole set of time building out tasks for the lead up to a public alpha (games kinda need some graphics, sounds and UI)

I know I said this last week, but I think next week I'll work on some more fun stuff and less systems-y stuff.

Tasks completed:

(10/03/2023)

(09/03/2023)

(08/03/2023)

(07/03/2023)

(06/03/2023)

Bugs squashed