Posts for the month of September 2014

Dunkin' Run 2014

I ran my first 5k since high school today. The results are available here.

I chose this particular race, because a friend told me that it had the best shirt, and that it was flat. I learned when I picked up the race packet that the shirt was lavender. I learned mid-race that the whole course was on a gentle hill, and I started to feel it toward the end.


I think this time is about as good as I ever got in high school, so that makes me happy, but I typically do a bit better when I practice. I attribute the difference on running on asphalt vs. a treadmill as well as being stuck in a herd of people at the start. Basically I had no clue how fast I would be running compared to others, and I'm not particularly good at setting my own pace when a treadmill isn't telling me how fast to go. But it was a great success.

Ludum Dare Compo 30 Post-Mortem

Recently I took the opportunity to participate in the Ludum Dare 48-hour Game Jam Compo #30.

I was overall pretty happy with my last entry, so I took the same basic approach with JavaScript and WebGL. When I learned that the theme was "connected worlds," I decided that Zelda games embodied that theme best in my mind, and I should do my best to riff off of that.

I wanted to explore multiple worlds connected in multiple ways. In the end this meant two worlds which you could take rockets between that needed some sort of network connection between then uncovered and repaired. I had meant to build up the dungeon, which is what I called the area starting with the rats, into its own world, and I meant to have one or two Mario-style warp pipes as another means of connecting areas, but I ran out of steam to set up all of that.

Play my entry here.

My changelog this time was only slightly less distraught than last time:

2014-08-23 08:08:09 Connected worlds.
2014-08-23 10:50:46 What am I doing?
2014-08-23 11:30:02 Hrm.  Tiles?
2014-08-23 12:42:41 I am the worst at collision.
2014-08-23 12:43:13 Forgotten file.
2014-08-23 14:10:51 Bah, collision.h
2014-08-23 16:14:52 This is...something?
2014-08-23 16:19:49 Fix the end of the line.
2014-08-23 17:24:26 Augh, doors.
2014-08-23 18:37:19 Something about rockets?
2014-08-23 19:21:48 Stubs for lots of levels.
2014-08-23 21:03:13 Fonts and shovels?
2014-08-23 22:10:12 Push the push blocks.
2014-08-24 07:49:19 Minor fixes.
2014-08-24 09:04:29 Rats.
2014-08-24 09:30:28 Yeah, cats.
2014-08-24 09:44:12 It's almost like a puzzle.
2014-08-24 09:57:19 More puzzly.  What's up with the wire now?
2014-08-24 10:22:44 Fixes.
2014-08-24 10:57:59 More bombs.
2014-08-24 11:28:55 Something about blcoks.  Restarting levels.
2014-08-24 11:29:04 Forgotten file.
2014-08-24 11:29:16 Forgotten files.
2014-08-24 12:02:56 I think everything is wired up?
2014-08-24 12:56:26 More rocket.
2014-08-24 13:28:03 This is really something.
2014-08-24 13:58:28 Finally, the worlds are different.
2014-08-24 14:24:19 Ugg, digg animation.
2014-08-24 14:28:52 Oh man oh man.
2014-08-24 15:32:33 Content content content.  Fix fix fix.
2014-08-24 16:00:29 Cats...
2014-08-24 16:20:36 WWW HTTP WWW HTTP
2014-08-24 16:25:57 Faster digging.  Wire fix.
2014-08-24 17:28:19 What have I done?
2014-08-24 17:42:30 Some fixes.
2014-08-24 18:05:56 I'm some kind of monster.
2014-08-25 20:49:46 Ported to my arcade cabinet?
2014-08-26 18:40:39 Hide cursor for the arcade cabinet.
2014-08-29 09:11:29 Some optimizations so that I can run this thing on the arcade cabinet better.
2014-08-29 09:38:37 Faster still.

The "some kind of monster" comment referred to adding in title music.


Overall I was pretty pleased with how things turned out. I stopped a few hours early, just because I was tired of staring at it, and I didn't think there was anything dramatic I could change at that point without breaking something.

Things that Made Me Happy

Music and sound
I set out to use a ukulele to make all of the sound effects and music for the game. As anticipated, this was one of the last things I did, but I felt like I had enough time to give it an acceptable treatment. I ended up having to tap on my desk for more effect than I expected.
It takes me about ten minutes to play through the game. It's admittedly rather tedious, and it won't help me with ratings among the 2500+ other entries, but I'm happy that I made something big enough that it can't be fully understood in 15 seconds.
Base code
This time I reused some of the base code from my last entry. This might have easily saved me half a day.

Things that Made Me Sad

Collision response
I have written collision response code many times and have reasonable awareness of the problems that come up, but it always trips me up. Every time. This time I went down a path that wasn't working and pretty quickly switched to something naive enough to work. I could use an existing solution next time, but I'd like to come to terms with this, so I will probably continue to try doing it myself.
I knew the scope of work for this project was going to be significant, but I naively left "making it fun" and "making interesting puzzles" to near the very end (or never). I'm glad I challenged myself the way I did, but it didn't work out like I had hoped it would.
At the end of the first night, I found myself implementing textured font rendering. This seemed like a mistake. It cost me a fair amount of time getting the math right, and I could have spent that time making something else better if I had just use HTML to display text.
I said I would pay more attention to balance this time, but one of the last things I did was adjust digging speed, and I think this made the game way more tedious than I intended.


10/10 would participate again.

In the mosaics, my title screen appears in the middle of the parrot's tail and somewhere around Turkey.