It’s taking much longer than I thought to just do the last little bits of the game, like an options menu, a few bug fixes and general polish. I’ve heard it said that the last 10% of the game takes 90% of the time, and it sure feels like it at the moment.
The main thing that set me back was the poor performance I was seeing on older hardware, so I thought I’d have a look in the code and see if I could speed it up a little. Venturing back into the disgusting mess of sloppy scripting I wrote when I started the game was quite a shock, and there were opportunities aplenty to make things much more efficient. In my excuse it was the very first code I’d ever written, and I guess it means that I’m getting a bit better if I can recognise how terrible it truly was.
From obvious moronic things like updating references every frame for no reason (with a string based FindGameObjectWithTag no less!) to more subtle things like comparing distances with Magnitude instead of Square Magnitude. So now that I’ve made those changes, and then fixed up the side effects that came from making the game faster, I’ve now got it in a much more stable state.
But now I can see even more ways to make it better that are really obvious in retrospect, but that would require a complete rewrite of some really fundamental underlying systems, and even though I want to make it “right”, I also want to get it finished, and soon. So I’ll have to put aside the temptation to fiddle with it and leave those lessons for the next game, it’s such a simple game that it works well enough, and hopefully nobody will ever see what a mess it looks like behind the sheer curtain.
Here’s some pics of the backgrounds of the episode screens for the game.
Almost done now! At least I think so!