Tuesday, April 17, 2012

Ludum Dare 23 - Warmup and Flash Games

I haven't done anything with this blog in ages and a lot of my development has been stagnating. Most of the work I've done has been on an EverQuest emulator server, which is fun, but not especially rewarding. (http://midian.homelinux.net)

Now, in an attempt to rekindle some of that old hobby coding fire, I've signed up for Ludum Dare 23 and completed the warmup weekend.
The first idea I chose was too big to complete in that time frame, so after a day and a half I put it on the back burner and then started from scratch on Sunday. I guess I can only say mostly from scratch since I'm using my own rather simple Flash/Flex framework. It just sets up some boilerplate for a preloader, stage, events, resource manager, and a very light menu UI.
I was at it for about 10 hours with breaks for lunch and dinner and finally released a game based on my new simplified idea, Canyon Runner.
This was one of the first games I played on the VIC20 when I was a kid, so it has a certain nostalgic value, and after all these years I think the game mechanic can still be fun.
You can see the original gameplay here:


http://www.youtube.com/watch?v=bFfyfYBkgMk

My take on it has slightly better graphics but I still take a tiled approach as it actually makes the game easier to play than if I had used smooth scrolling and pixel collision.



I was also compelled to add some simple powerups to spice things up a little. One speed boost is ideal for me, but two speed upgrades will just get you plastered all over the canyon wall. Speed upgrades stop doing anything meaningful after 2 above or below the starting speed. The coins just give you 1000 points.

The hardest part of this was the map generator, but that was because I approached it poorly. My first version tried to make random gaps in the new row, which means you need to try to adjust it to line up in at least one column with the row before. This proved to be a huge headache, so I ended up centering on the canyon opening and mutating it in one block at a time in width and direction.
This proved very effective and more closely matches the original.

Once I had states cycling properly and a score, I just built and uploaded it. My first project, while promising, wasn't going to get done in time, but I still spent a day and a half deep in code and content creation before starting over. By the time I Sunday evening came around I was exhausted, so the game wasn't as polished at I might have liked.
http://www.ludumdare.com/compo/ludum-dare-23-warmup/?action=preview&uid=10893


After a good night's sleep I was ready to throw some quick polish on it and then, equipped with a complete and playable Flash game, I set out to work on something that I had thought about on many occasions, but never messed around with because it required a complete and playable Flash game.

Kongregate is pretty well-established Flash game site. They have good developer incentives and a nice API for offloading stats, doing account-based saves, and so forth. I found the QuickKong library which makes connecting to the KongAPI easier than it already was and quickly integrated some stats into Canyon Run.

http://www.kongregate.com/games/Josheb/canyon-run

There is a source link in the description, or you can click here.
I have a couple of sounds listed in the credits that came from opengameart.org so if you use the audio in the resource directory, be sure to provide attribution.

As Flash development environments go, mine is very humble. I use nano with the java highlighter rc file set to include .as files for formatting. The makefile assumes flex/bin is in the path.
You will want the Flex SDK and the Projector Content Debugger.
For fdb to work you'll want to copy your debugger to flex/bin/flashplayer.

No comments: