Thursday, August 22, 2013

Thunder Moon Multiplayer Update & new box cover art.

Over the past several weeks I've been working through the very difficult task of rewriting the way game units are saved to make it work properly with multiplayer. As a bonus, I expect this will fix the sporadic bugs people have reported about certain mission-critical NPCs not being where they should be for missions later in the game.

One big challenge was to make NPCs work in a way that didn't kill performance on the host while properly tracking all the units that might be around each player, where each player could be at very different parts of the world. When the old system was used with the new multiplayer games, there were lots of problems that never happened in single-player games. Unit duplication, lost units, misplaced units.. these are all problems the old system wasn't able to deal with and these should all be fixed with the rewrite. There were actually a whole host of difficult problems that had to be solved to make this work, but after a lot of head banging and keyboard pounding I wound up with something that I think does the trick pretty well.

The new multiplayer-friendly unit management system is all up and running and so far it seems to be working. This is the last major barrier I know of for getting this next update out, and it's the reason why it's taken longer than I expected. I still have a lot of testing of the new system and some UI stuff to deal with but seeing this new unit manager work for the first time is a big relief. It was a really complicated solution! Often that's a sign of bad planning or sometimes just me trying to do something "the cool way", but sometimes a complicated solution is the only way to solve a complicated problem.

I'll be continuing the push hard to get this out as soon as it is safely possible. I never want to publish buggy code and since there were a lot of low level changes since the last update this will have to get a lot of testing. Hoping it goes well!

While working on the multiplayer has been a priority, I did take some time to update the box cover art. I hope you like it.