Tuesday, December 20, 2011
Transdimensional moon rift postmortem
So time for post-mortem is here...
This time I've managed to create fullscale and mostly playable game (probably best I've done in 4 competions I've attended in last two years) which is even quite fun to play, so I'm pretty happy with myself, even if I had to move to the jam and use another 12 or so hours to finish it.
It's an oldschool style FPV dungeon crawler with a goal to find your zombie kittens and be finally alone with them (and a big bag of brains), but rotten undead pirates ninja looted your kittens and you have to take them back. I even had time to do some leveling with three skills (ninja, pirate and undead) and tune up the game (not completely happy with it, it tends to be too easy later on, but since playthrough takes about half of hour I just had no time to do more testing.)
What went well:
Using Unity (well mostly) instead of coding everything from scratch... after several months of using Unity fulltime I'm quite skilled with it and this time most of the things I hate about Unity wasn't issue, since I was doing PC / Web build. And web build is one of the things I like on unity (even if there's no linux player). (BTW web version of TDMR is just about 700 kbytes, while pc has 20 megs :/)
Drawing 2D "art" : I've spent just maybe two hours drawing all textures and sprites and skins for characters using tablet, Paint.Net and not giving a damn about how hurtful it will be for eyes of some more sensitive people :) I could have done something much better if I wanted... but it would took me at least day. And this way I can boast about having "style" :D
Decision to use pirate/ninja/undead - not exactly sure how I came to this connection (I think it's from some picture I've once seen, who's the bigger boss, pirate, ninja or zombie?), but i've mixed it together and in the end I have a lot of enemy types... easily made by combining three (well, four if you count ghost) base types- and I used it as a base for RPG system too.
Adding sounds: with about hour to spare for submission I took my mike and audacity and made some sounds and "voiceovers", quickly patched it to the code and I'm quite happy with the result. Just too bad I hadn't time to sing some songs as background music (brains brains brains brains braaaaains, brains brains brains!)
Keeping number of game elements in check I made most of the things I wanted to have in the game with the exception of brain-o-matics for buying brains.
What went mostly ok:
Most of the coding in unity, although I've spent some time trying to debug few stupid bugs I made (and debugging is sadly one of the beefs I have with Unity - it works much better on WIN editor, but I'm so used to total instability on MAC and "printf" debugging that instead of firing up monodev debugger and hoping for best I've spent a lot of time by putting numerous Debug.Logs everywhere. Resulting code isn't even that ugly as usually is in my speed hacks... although I still hardcoded a lot of things without using some better design - if I ever try to use TDMR as a base for some more serious dungeon, I'll have to refactor at least half of it.
Level design Originally I wanted to have few more levels (but smaller), but in the end it's just one and I'm quite happy with it, it reminds me good old times with Beholder and Dungeon master, so it's definitely ok from my point of view :) I've originally considered doing rogue like randomly generated levels, but it's probably good I hadn't even attempted it.
Playtesting and tuning up RPG system - At one point I realized that I'm playing for fun, not for testing, which really gave my morale big push. Also my GF used as playtester liked it (she's as crazy about old RPG's as I am), so although it could use some more tuning with difficulty and some parameters, it's ok.
Sleeping enough I'm getting too old for non stop crushes and since I've ended one of the worst periods in my 10 year carrier as gamedev just before the start of the LD, I decided to take it easy. But in the end I had to move to Jam and use another 12 or so hours to finish it. I think I've spent about 30-40 hours total working on the TDMR.
What went bad:
Theme I was really unhappy with the theme (once again)... I've spent some time racking my brains for ideas about using alone for something original AND fun to play, or something interesting to flex my code skills on... then I gave up. Since I've always wanted to make some oldschool FPS RPG (and never found enough time), I've decided to make it and force it somehow on the Alone theme... (from what I've seen from other submbissions, I wasn't the only one using this approach - some entries don't even try to use alone in any way).
Idea about using animated chars instead static sprites - near the end of the day one I had a stupid idea - why use simple static sprites if I'm using Unity? So I ventured to recreate my first characted (pirate ninja skeleton), put it on simple 2d mesh... then skin it and rig it to the bones. I've wasted a LOT of time on this, result is ugly (kinda hard with the texture I've started to do good mesh and skin it so it can move without serious distortion taking place), but I should have expected that - I have all the theoretical knowledge about this stuff, I wrote it from programmers point of view, but... using 3ds max for anything else then checking on some artists work, creating super simple meshes and importing/exporting here and there, is something I just don't have much experiences... Well, I now have some, but it took me too much time, especially considering results. But at least I've learned / practiced something new.
(First sprite I've made before switching to animated chars... it's static, but it looks better :/)
So... I'm mostly happy with my entry (and hope someone will play it :), about the only thing I'm sad is that I hadn't time to implement save and load... never wanted to do it, other then maybe checkpoints on the level start, but since I had just one... Problem is that doing serialization in Unity for proper save / load is not that easy and it takes some time to do properly... time I knew I won't have.
Anyway, I'm glad I had time to participate in LD and looking forward for another one (and Global Game Jam next month). Although it can be brutal... it's fun :) (especially when compared to "normal" crunches on commercial stuff).
My Ludum Dare entry page
Playable version (unity web player)