That was fun.
Really, it was.. the majority of coding this was pretty good – as I had structured things fairly well for the most part.. till I went mad and started putting chunks of code in whatever file I was in at the time! Damn you Lua for allowing me to use any global function in any file at any time!
There were, however.. a few head smashingly horrific issues that did cost the game.
The Foul-Ups
————-
After designing a somewhat large play area, I needed a means of loading it in.
As the Moons of Subterrane loader was fairly decent, I decided to base it on that. Oops.
Due to the nature of Ludum Dare, you tend to code things just to that project, and not really leaving them agnostic or open. Case in point being the Moons of Subterrane loader – it was designed quite specifically for flip-screen gameplay. Trying to tear apart that system to include scrolling was not going to happen – and although realising this from the outset and trying to modify it as I wrote it up, I didn’t modify it enough!
A few hours later, and much swearing, I tore the whole thing apart and just loaded in each floor as one gigantic file, each.
I’d have preferred splitting them into screens – or even rooms – as it meant I could’ve done some semi-procedural stuff with their placement, but alas, it was not to be.
Once I got something loaded and on-screen however, things did pick up and I implemented a fair amount of stuff.. then came the Camera to allow scrolling the map.
2D cameras are strange in that they don’t really exist more than a hack to begin with. A 3D camera has position, orientation, and look vectors just like any other object; a 2D camera is little more than a viewport translation. Or so my textbook says…
Stupidly, I had implemented this properly in about ten minutes, but forgot to move everything in the opposite direction to counter the viewport translation. Nyargh.
Another few hours later and I realised my idiot mistake, battered my head off the wall, and put in the counter translation and it all worked.
Of course, attempting my game idea – specially with the amount of content I planned – within 48 hours was always going to be tight, those two bugger ups didn’t help, neither did nursing some sort of cold, as I did end up sleeping a total of 14 hours over the two days. Ouch. That killed sound, music, most game play and any decent graphics… and threw my timeline in the bin.
The Successes
————-
There are a few bits I’m quite happy with.
The game itself works, which is somewhat surprising as I pretty much bypassed all of my internal engine, save for loading and blitting graphics!
The horribly cheesy and cheap starfield effect really does work wonders to break up the Menu screens a bit.. a total of five minutes work for that, while pondering over the loader system. The typewriter text effect was also done in five minutes, though while thinking about the camera stuff – proof that if you go and work on something else for a bit, you’ll get better results 
Splitting the units up into separate Lua classes was a good idea too, it meant I could deal with them all individually. Granted most of them are copy/pasted movement/firing code amongst each other, but the skills bits were meant to be different at least.. They’re also a bit more self-contained object like.. which made them easier to deal with too.
The Crew Selection bit is possibly the most polished part.. it works fairly well, but suffers like everything in the game in that there’s no feedback: up/down changes whether you’re Alien or Human in multiplayer, if you didn’t know…which you wouldn’t have unless you messed with the buttons, or read the source!
The Murky Bits
————–
There’s a general lack of feedback with everything you do.
You don’t know how many action points anything costs ( hint: movement is 1, opening/closing doors is 2, firing is 2 ) and unless you’ve just started and haven’t explored most of the map yet, your only indiciation of a door opening is your Line of Sight updating!
Speaking of line of sight, it’s a bit too exact on the diagonal and orthangonals… there’s no real in-between as it’s horrendously hard coded just to look on the eight axes. This is obviously quite daft, and is due to one major muck-up. I had a working LoS very quickly when I first got map loading going… then when I realised I wouldn’t have time to do much AI, I started jerry-rigging multi-player hotseat support in.. though I did this a bit too quick as a lot of the systems weren’t quite finished yet. So, this broke most of the game – unit movement, actions, line of sight, detecting other entities on the map at all. I very nearly had to pull out completely because of this, but things started to fall back into place in the final twelve hours!
Conclusion
———-
So, I ended up twenty mins late with my submission ( though it seems my laptop’s time was slow and I finished 5 mins late anyway *cough* ) due to Ark deciding not to zip things properly. After several attempts, I finally gave in and zipped it by transferring everything across to another machine. Re-installing your O/S the day before LD starts is asking for trouble 😉
Either way though, I think I did fairly well and did get a lot done.
Unfortunately, gameplay suffered from the cold, camera, loader and my Sunday panic. I think that given a few more hours, I could’ve gotten the skills in, and maybe some feedback as to what’s going on.
I need more practice to work faster, and sleep less 😉
This is something I’d like to continue, though!
And hopefully, I can feed some of the changes back into Little Quirks ( remember that? 😉 ) and get it done too.