Yup, that’s right – finally in a fit enough state to submit to playtesting over at the XBLIG forum.
If I remember correctly I think I started this chunk of work around Nov 2012 but that entailed converting LWJGLApplets first before I could begin on the Titan code.
Am I happy with it after all the grief and agro of the past 6 months or so? Pretty much as a project goes I guess. The game itself is near identical to the Java / Desktop original – you’d have to run them side by side to have any chance of spotting the slight differences and even then I reckon you wouldn’t really tell. So game wise, yeah, all is good.
The CRT shader is rewritten from scratch – the converted code worked perfectly on Windows but wouldn’t distort correctly on the console – I spent some time trying to fix it, checking texture and render target formats were correct and everything seemed ok, but no, broken. That annoyed me a little 🙂
Object pools – boo! I broke the game a few times implementing poolable entities but it was a case of do it or be a slave to the GC every 5 seconds or so – *yikes*.
I had to trim some of the particle effects on later levels as the Xbox really struggled with > 1000 sprites. Again, you can’t really notice any difference. And a new collision detection system was required.
The code-base is hacked more than I would have liked in an ideal world. Public fields sprouted up EVERYWHERE along with the pool changes mentioned above, it just makes things a little nasty. A player is never going to know or care but it’s just a little grating for me the developer 🙂
Storage had a rewrite at the eleventh hour – I utilised the excellent SharpFileSystem to get me out of a widening hole. And I used a nice thread pool (by KiloWatt who I think is jwatte over in XBLIG land) to alleviate IO stalls.
There’s the very occasional stutter caused by the JIT code generator which I can just about live with in my old age. Garbage is tamed mostly – I still generate some but not enough to cause problems during gameplay and then I can collect in the Shop so no glitches in game unless you played a level for about 10 minutes or so (most levels are over within a couple of minutes)
So I’m done – unless playtesting throws up anything nasty, I can submit to release in the next couple of weeks.
And my reward for finally getting it done? Feet up, chilling with friends? A beer or two? Watch a movie? Nope, I downloaded the latest Ultratron source changes…..