Destruction Zone - A Post Mortem on my First Ludum Dare Game
Destruction Zone, my Compo Entry, was a fun little game to work on that surprisingly went with fewer hitches than I had anticipated. Here are the things that I took away from my Compo Entry.
The Theme
This was actually one of my bottom themes. When 9:00PM EDT rolled around I bellyached about the theme for a little bit, but ultimately an idea hit me. Since I couldn't think of something planet-based, I took "small world" in what I thought would be a fun direction -- you are a little drone on a collapsing space habitat, and your small world is what's left of the platform. I'm happy with how I adapted the idea in such a way as to make something usable.
What Went Well
Getting the concept implemented didn't take nearly as long, and wasn't nearly as difficult, as I had feared at the beginning of the Compo. I also feel like the enemy AI, while simple, works fairly well.
What Went Wrong
Time Management HiccupsThe amount of time I spent trying to get the Bomber to work properly, as happy as I am with the result, is way too long. I feel like there had to be a better way to go about programming it. Perhaps making a list of towers at the start of the game and having destroyed towers remove themselves from the list would have been a far better method than having the enemy's AI handle that content. I wouldn't have had to worry so much about its target invalidating, or its reaction if no more towers are left.
Fixed Controls
I really wish I had known about coding rebindable controls before I entered this event. The Compo version of the game has hardcoded WASD movement, and hadn't thought at the time that people that can't use WASD might struggle with the fixed controls. This had to be fixed as an optional post-compo version, but I'm happy to say that aside from rebindable inputs (including using left-stick on a controller to move, though you still have to aim and shoot with the mouse) the game runs exactly the same as the hard-coded WASD version.
The UI, especially its scaling, proved to be something that I didn't expect to have difficulty with. I apparently didn't set up the RectTransforms up properly for the title screen and status UI, and then went and changed my game's resolution while it was still scaled for a higher resolution (so that people with 720p monitors could still play). I really should have, rather than using the end of the compo participation time to get in early and ensure I didn't get hit by any snags, used that time to more thoroughly test the various builds under the lower resolution. Then maybe instead of having to post a critical bugfix after the fact I'd have actually had, as far as I'm aware, a relatively bug-free release.
Another thing that proved to be a problem was my inexperience with Unity. However, as it's the best I have for making games, it was either enter with an incomplete, novice understanding of the engine or not enter at all because I don't feel like GameMaker Studio fits my programming style, and don't feel like RPG Maker MV would have been a suitable engine for a compelling LD entry. My inexperience really is the thing that interfered with my progress the most all throughout the event with documentation look-ups and needing to make tiny iterations on some of the code to get the functionality working properly.
Lessons Learned
The biggest takeaway that I've gotten from this is some degree of confidence. I set a challenge before myself -- enter my first Ludum Dare under the compo and complete a game in the time limit -- and I knocked it down. While I'd have continued on with learning Unity and improving my skills regardless, the fact that I succeeded gives me some small level of vindication. As LD38 was approaching, I had a number of days where I was questioning my capabilities, and overall worthiness in entering. Not only did I succeed, but I proved myself wrong in the process. I can do this. I did do this. And this is the first real game I've made outside of the scope of the course I'm taking.
I'll definitely be entering more events to come. And next time I hope to do even better.
Timelapse
https://www.youtube.com/watch?v=J0ZuLaK2oNo