Mage duel is a game about playing with yourself.
This was my second Ludum Dare. My last Ludum Darewas a 48 hour stress-fest. Although I had a blast and created a pretty cool little game out of it, and given the fact that I have a lot of other stuff going on right now, I really wanted this one to be more of a relaxing experience. Before I started, I took some inventory of my last experience to see what I could do this round to make things a little easier on me. First big thing that stuck out was scope. Voxterium was a simple game, but had a lot of hidden elements that greatly complicated it. Another big issue was experience. That first time, I really had no idea what I was doing time-wise… no real idea how long anything would take.
With the knowledge that I could spit out a menu system and add music and sound in a fairly small amount of time, and I could cut down on rendering time (a big chunk of the first one) significantly by going 2d, I decided to go with a simple 2D game, with some simple basic mechanics, and use the remaining time to add in a few cool tiddlibits.
I had messed with the concept of “recording” playthroughs and playing them back as opponents a few years back for a completely unrelated game. I had that idea, plus a few others on my mind before the competition began. I had a rough idea of how to apply that to most of the themes on the final list, but didn’t want to get too invested in planning on any one theme, as I made that mistake the last time. When the theme was announced, I was instantly drawn to the idea of an artillery game on a small map, an artillery game is one of those where the “playback” mechanic would actually work out well.
Overall, it went really smoothly. A few snags along the way, one involving a nasty gravity bug and another with particles, but all in all I had more than enough time. The map generation worked out well and was simple. The mage firing mechanics and collision were easy to implement. Art was simple. The playback mechanic turned out to be really easy to implement.
Then I changed my mind. Originally, the game was turn based like Scorched Earth. (Sorry to all the kids in the room for the “Scorched Earth” references, maybe put in “Worms” where you see that title. I never played Worms, but it looks similar ). So, blue mage would fire, bullets would fly, collisions would occur, gravity processed, Red mage’s turn. It was true to the genre, and really easy for the playback mechanic. But it was slow, and really didn’t hit the actiony feel that the game was telling me it needed. I then decided to switch everything to real time. Was a little worried at first, but turned out to not be so bad, and I really think it added a lot.
Two mages were fighting… why? Mages just seem like the types to disagree a lot and get into long and boring discussions, so I came up with the idea that these fights were over a way for these mages to settle these little disagreements. I added a list of little petty things that they could disagree over. Wish I could have come up with more and better, but you know… the whole time thing…
Menu system, sound and music is now pretty much second nature for me, and so many nifty tools are available, that that part was cinch. Spent some time balancing, but not nearly enough. It could have used a lot more, but I believe it checks the ‘acceptable’ box.
What went wrong
Early refactoring of my terrain generation code introduced a bug that made tiles fall through the bottom of the map. Seemed simple enough, but was a real pain to find and kill. Wasted a good hour on that one. An hour that I could have been better used somewhere else.
I made the mistake of assuming rendering 2D in XNA would be a lot like an easier 3D render. It’s not. Should have done some additive blended particle practice before this all started. A 48 hour deadline is not the best time to learn something new. Eventually, using multiple render targets, I was able to get a result that was close to what I wanted… but in the end, it was not what I wanted and it took up waaaaay to much time.
I was hoping to work out a way to introduce the “play yourself” mechanic organically in the game. I could have used the time wasted above to actually do that. I considered leaving as it is was and not pasting warnings over the place. However, since most people spend like what? 30 seconds with each game, I figured players not getting to the core concept was more damaging than players feeling that I gave them a “spoiler”.
Wish I could have spent a lot more time balancing the spells.
What went right
You never have enough time to do everything you want, so even with the hiccups above I believe my time management was great. Although I didn’t get to everything I wanted.. I got to everything I needed.
The “play against yourself” mechanic turned out way better than I expected. It blends in well I believe, and builds in a natural difficulty curve. As you get better, it gets harder.
The art and sound are great (For me). I’m particularly pleased with the spell icons.
I liked the way the terrain generator turned out. Not all matches are great, but you always have the option of blasting it away.
Another great Ludum Dare. Many thanks go to everyone involved. I really can’t think of a better way to spend the weekend. I’m very pleased with the way the game turned out, and left the weekend knowing a little more than when I started.