Well, that rounds up the last day for me, and I managed to come up with a pretty neat game if I do say so myself. I’m quite pleased with it, it’s been tested by my little sister and she couldn’t break the final version anymore. (Though she pretty much broke all the previous ones.) And I’m going to put it up here for everyone to play and enjoy.
Today I started out with adding the last elements I needed for gameplay to commence. After I added those (and their graphics) I added a menu and a HUD, as well as the level transition code. Other than that I spend pretty much the entire day creating new levels and debugging. Debugging, debugging and more debugging. The release build used to crash right away when ran, I had to solve that. Release build also had other quirks that needed to be stamped out. I also had a timing bug that sometimes caused everything to explode, instantly winning the level. That has been fixed too!
In the past few hours I mostly made new levels, discovered a new bug and discovered a work-around for it. I worked around it, too lazy/late to fix it. (You pick the right one.) After that I made my dad play it, but the controls confused him a little. So I added some extra hits and tips on the HUD. (Yay for Confucius quotes!) I am looking forward to seeing who finished the puzzles and who got stuck. (My little sister got up to level 5, someone else I know finished it, discovered a really easy solution to level 5 and helped me make it harder.)
On the whole, I’m very glad I took part in this LD48 again. It was a good way to break free from playing World of Warcraft all day long, and it actually was nice to do something in C++ again. I had been using C# for the past year mostly, and a little bit of Java on the side. This resulted in some funky pointer things at first, like the 1 GB memory leak I had, or the 3mb/second one I had as well. I also started out making some newbie mistakes again, funny how you can lose basic control over a language so easily. Luckily, it picked up really quickly, and before I knew it I was in full control over the language and libraries again.
Code-wise, well, if I had turned this in when I was at uni my teachers would probably have died of a stroke. Several. I think I violated a bunch of programming standards again. The most satisfaction I got was when I got the A* algorithm implemented and working. My game has gas clouds that follow the shortest route to the origin, and to calculate that I needed a pathing algorithm. So I looked up how to do A* and I got it in. Took me about 3 hours to get it to work, and I’m pleased it did.
Other fancy feats include the omgRecursion of the detonation chain. I don’t think I ever programmed anything with this much recursion. I have two types of recursion in the chain links, one or two in the A* implementation, and another one with generating the arrows when you want to place the chain links. At some point my brain started to cry over all this recursion, and I managed to confuse myself once or twice. Debugging recursion is not fun I tell you.
Anyway, the game can be downloaded at: http://deepflame.deeplyswitched.com/ld48-10/CoA-Final.zip
I hope it will run for you.
Screenshot of a level: