Freaking cool weekend.

Hey guys – I had a really fun weekend.  This was my second Ludum Dare, and it all went a lot more smoothly than last time (minimalism pfffffft).

v2293

My game’s called V229, and it’s a bit of a nod to NGE where Shinji’s power cable’s come unplugged and he’s gotta get the job done before his batteries run out.  Only being mainly a programmer, the giant mecha robot quickly became a hovertank.  No legs to animate, you see.

So, you’re in your hovertank, racing around blowing up badguys, only your battery’s only going to last TEN SECONDS! So fresh batteries are pickups, and there’s this whole tradeoff between trying to cover enough ground to destroy enemy spawn points, and not straying too far from a pickup.

I really spent a huge chunk of the weekend just playing the game -it was almost completed in one day, and I spent most of the second day just polishing a few glitches and adding audio.  Actually, that’s one thing I’d really like to spend more time on in the future – audio always seems to be , for me, this crazy mad rush in the last 4 hours, and although I try to give it as much attention as I can it’s really not enough time to unleash the awesome.

So yeah, it was really a fantastic weekend session. No difficult bugs or unforeseen tech challenges, I got about six hours sleep, drank a shitload of rasberry tea, had a bag of pistachios.  My dev soundtrack was Atari Teenage Riot the first day, Bonobo the second – and I think really getting into ATR steered the game down the fast twitch gameplay path it took.

What did I learn? Man, I ABUSED Raycasts for all kinds of crazy action in this one.  I’ve always avoided them in the past – they just seem like they’d be really slow – but now look at me casting rays all over the place.  The best use here, I think, was in picking a spot to spawn an enemy from.  Each block that makes up the level can become randomly corrupted and start spawning bad guys, but I had to be sure they picked a neighbouring spot that wasn’t claimed by another block, and was inside the level.  Normally I’d write up a Grid Manager class that’d allocate tiles and objects to grid locations, but in this game I’d really just kind of plonked the assets down and lazily used Unity’s FindObjectsOfType<Blah>() voodoo magic to build any sort of containers I needed.  So when each block needs to spawn an enemy it just throws Raycasts in each neighbouring direction until it finds one that only collides with the Ground Layer, and then bam. there’s your spawn location.

Anyway, enough jibber jabber.

Check out V229 – I’m glad I jammed this weekend, and I hope someone gets a kick out of the game.

http://www.ludumdare.com/compo/ludum-dare-27/?action=preview&uid=21279