Archive for the ‘LD #22’ Category
Now that I’ve slept, I think I’m ready to think about what worked and what didn’t. But You Wake Alone has basically the same gameplay that I imagined in the beginning but had another layer of visual craziness and meaningful text that was a surprise. It even had sound and music, which went a lot faster than I expected!
On a personal level, it was very satisfying. I had a lot of prior obligations (including sleep!) so I figure that I spent 24 hours actually working. That’s basically a week’s worth of work condensed into two days! Getting instant feedback from my coworkers was very motivating, as was the #LD48 Twitter feed. Any time I started flagging I looked at those comments and got pumped up! I also ate better than I thought I might, which helped me maintain concentration until… oh… two hours before the deadline.
What Went Well
My concept turned out to be almost exactly the right length. I had a couple of features that got cut (an actual win condition and a new type of crowd) but I also managed to get some things in that I hadn’t planned on (sound and music). The only time I felt rushed was Sunday evening when I was trying desperately to get the win condition in the last hour.
The original version was totally visual, which was okay since the style turned out to be so striking (maybe not good, but at least interesting). Adding some brief snippets of text really improved the game, though. For one, it was a lot faster to add more textual content than more graphics. It also helped people give their own context to the game, especially the more writerly folks.
Stealing from the past
I made good use of concepts that I’ve become familiar with in my day-job games. For example, the maze generation is a simple implementation of an algorithm that I ran across when working on Tiger Trackers (my current game). The crazy level overlays are based on code that my coworker and I wrote to deal with scaling a Flash movie clip around a non-origin point. By pulling in concepts that I knew inside and out, I was able to spend more time playing with the fun stuff and less time getting the basics working, despite not using an engine.
Simple collision detection
A lot of people had trouble with collision detection. It’s always a hard problem and if you don’t get it exactly right, you get weird edge-case bugs that are hard to replicate and fix. Early on, I decided arbitrarily to work on a grid, which made collision detection super easy. Whenever an actor moves, it checks to see if it’s moving into a new grid. If it is, it checks to see if there’s a wall in the way and stops the movement if necessary. This means that no matter how many pixels an actor jumps, it can NEVER skip over a wall, so major collision glitches can’t happen. I still had some minor problems, especially when I changed the origin on my actors, but they were never game-breakers and they were relatively easy to resolve.
What Went Wrong
Rushing a feature
I knew that adding a win condition was going to be a big deal, but it was such a cool idea that I had to try and cram it in at the last minute. Instead of trying to cram a big feature into the last hour, I should have gone out with a bang and just submitted early to avoid the stress.
Losing the fun
I wasted about two hours on Saturday pushing the zooming aspect further and further into the gameplay. I don’t regret playing around with different concepts (that’s what this is all about, right?) but I shouldn’t have settled on zooming for so long once it became obvious that zooming was less fun than seeing more of the screen.
Crazy input handling
I have no idea what I was thinking when I started writing my keyboard handling code. My recent day-job games have all been mouse controlled, so I just kind of started doing what seemed to make sense when it came to keyboard input this time. Unfortunately, that led to problems and bandaids over those problems and then bandaids on top of those bandaids. In the end, keypresses go into an array and then get removed from arrays and those arrays get converted into horizontal and vertical directions later and blah blah three steps later you’re actually moving. Madness!
Positive outweighs the negative 4-3, so I think I did pretty well. I certainly had a lot of fun and learned a lot!
You can play But You Wake Alone here: http://www.ludumdare.com/compo/ludum-dare-22/?action=rate&uid=8239. I’d love to get feedback, so please leave comments!
And now off to rate some other games! Leave a comment to bring yours to my attention!
All right! My first Ludum Dare is over and I feel fine. I figure that excluding sleep and other prior engagements (but including some last-minute coding that didn’t pan out), I spent 24 hours working on But You Wake Alone. I had the idea early on and stuck with really simple graphics, so I had a playable version early on Saturday and spent the rest of the day tweaking gameplay. It went to some weird places by Saturday night but with same late-night tweaking I was pretty happy with it.
Sunday was all about polish: sound, a splash page an intro, a little more content, an end screen. I have two more features that I wanted to add, but they’re not necessary. I should even have cut off the features about an hour ahead of time, because trying to debug a feature in the last ten minutes was pretty stressful and ultimately unsuccessful.
I tried to keep the game reasonably abstract although I have a definite story in mind. Other people who played came up with their own stories that were also very cool.
You can check the game out here: http://www.ludumdare.com/compo/ludum-dare-22/?action=preview&uid=8239