cr0ybot

LD23

My first dare won’t be the last

(Cross-posted on my blog @ blog.cr0ybot.com)

It’s now two days past the end of the Ludum Dare 23 48-hour compo. I had to take two days to recuperate before attempting to write about it.

I would say that my first Ludum Dare was a success. I’m not particularly thrilled by the game I came up with; it’s not about to change the world, but that wasn’t the point for me. I did it. I made a game in 48 hours. It’s possible. It’s also really, really hard.

I almost sat LD 23 out to wait for the next one. Too many things to do over the weekend, not enough time. I also had serious doubts about my own abilities. I’ve never come up with any game idea and also executed it within 48 hours before. It’s just not possible. I’ve only made a few games by myself in the past, and they took months. But when the hour arrived, I said to myself, “What have I got to loose?” and got to work. I was only vaguely aware that the answer to that question was “sleep, nutrition, and a little bit of sanity.” But it all worked out.

Nearly all of the first 24 hours was spent simply coming up with a game idea in response to the theme, “Tiny World.” Almost immediately, my mind went to pixels, and then to the possibility of what pixels are made of. I started reading through Wikipedia articles about pixels and subpixels. I thought about creating fictional subpixels that mirror quantum physics, and quickly dismissed the idea for time’s sake. I also toyed with one or two other ideas, totally unrelated to pixels, but my brain simply wouldn’t let the subpixel idea go.

I recently watched a video of a lecture given by John Cleese on Creativity, which gave me reason to keep at it. If you haven’t seen that video, go watch it NOW. Honestly, this blog post can wait. Those 30 minutes will probably change your life, although I can’t guarantee that it will help you with a 48 hour game jam.

Done watching? Good.

Now, under such strict time restraints, Cleese’s advice begins to break down a little, because it’s hard to get into “open mode” with a deadline looming. But there is one thing that absolutely does apply: nothing you come up with is “wrong”. When you are creating just for the sake of creating, and the point is to better yourself and the community, nothing you think of is “wrong”. But once you have that idea, you must execute.

That being said, I am not a computer science graduate. I went to art school and gradually realized that the art world was not for me. Halfway through, I picked up a “Programming for Artists” course and was instantly hooked. At this point in my life, I have about 4 years of experience working in various scripting languages; I’m not sure if I could have accomplished anything without that.

I chose Flash and Flixel to develop my game with, as I’m relatively comfortable with ActionScript 3 and I’ve played around with Flixel a little. Eventually I settled on a mechanic of matching sets of subpixels together to form whole pixels. I immediately set to work, though the rest of the game could have used some more thought, such as: What happens when a stack of subpixels touches the edge of the game screen? What constitutes an end state? Why are we able to move subpixels around in the first place, considering they are built in with a specific order in real life?

However, once the idea was in place there was no time to think about anything else; If I had, I wouldn’t have anything playable. I pulled an all nighter (like most of us did, probably) working for about 12 hours straight trying to come up with solutions to code that Flixel just wasn’t built for. Next time, perhaps I will stick to something more platformer-ish. Or maybe not.

Check out my barely-functioning-but-somehow-completed-in-48-hours-how-crazy-is-that game, SUBPIXEL.

SUBPIXEL by cr0ybot (Cory Hughart)

Click to play SUBPIXEL

As a side note, one of the parts of this that I’m most proud of is the code that generates a grid of subpixels corresponding to any BitmapData it’s fed. A separate function generates BitmapData from perlin noise, feeds it in, and out pops a subpixelized version, which was used as the background of the start screen pictured above. The code isn’t particularly complex or genius, but I liked the results. Check out the source code at github, specifically SPGrid.as and MenuState.as.

See you all next time!

LD24

So, I haven’t told my girlfriend yet…

…but I think I’m going to try to participate in LD #24!

I participated last time, my first LD, and probably got way too stressed about it. I got way too wrapped up in creating unique game mechanics and I ended up with something that was barely a game, and barely fun. But it was still a great experience!

My second mistake was attempting to use flixel for the first time to make something with such extreme time constraints. Unfortunately, I haven’t had the time to get comfortable with anything else since then… I’ve been checking out FlashPunk and Haxe (and HaxePunk) but I haven’t really made anything yet. I’m hoping that I can at least get some experience with Haxe this time, even if I don’t end up with anything particularly playable. After all, LD is really just an excuse to push normal life aside and just MAKE STUFF, and that just so happens to be the best way to learn. Haxe looks really promising as a cross-platform development tool for small games, so this seems like a perfect fit. However, I absolutely will NOT get tripped up on attempting to get cross-platform compiling working. I’ll probably stick with the Flash target.

Fingers crossed for “Curiosity”. I think memorializing the Mars landing would be appropriate. We should all be more aware of the frontiers of science!

Also, here’s a link to a video by John Cleese on Creativity (under time constraints) which I posted about after the last LD.

Tags: girlfriend, haXe

Comments

Pyro
24. Aug 2012 · 16:35 UTC
Thanks for the link to that video about creativity. It was very inspiring. I was recently trying to figure out some things that he says for some time.

Lost the battle, no word on the war yet

There’s absolutely no chance that I’ll be submitting anything for the compo this time around. I’m not particularly disappointed, though, because the work I’ve got so far is solid and I’m really excited in general about the concept I came up with. I’ll continue to work tonight and tomorrow (I took a personal day from work, just for this!) and we shall see if I’ve got anything submittable before the Jam deadline.

If you’re interested in reading about the game, details to follow.

Kung Fu Evolution

My girlfriend and I have started watching some classic Kung Fu movies lately. As in, just this week. In fact, we were watching one when the theme was announced. It took a while to sink in, because, of course, I was thinking about evolution as science, biology, genetic algorithms, game of  life simulations… I’ve worked on a couple evolution simulations, and I knew from experience that they’re fairly hard to turn into a “game”. The very theory of evolution dispels any notions of set paths, beginning and end, and a designer, among other things. I’m sure plenty of people chose this route and many of them probably made really interesting things;  I knew that I could not.

So, how can evolution apply to Kung Fu?

Kung Fu is known for its “styles”, specifically those modeled after animals. I envisioned a game where you played as a student of a randomly generated Master, populated with”traits” for your style focus, and a style for your punching, kicking, blocking, and jumping moves. When you win a match, your fighter becomes a Master with a school of students, each a “descendant” of the Master with small mutations, good or bad. You choose a fighter, fight a match, and continue until you build the Kung Fu Master well adapted enough to the rival school to beat its Grand Master.

Little did I realize how many sprite animations I would have to do. I managed to get 9 done, out of a planned 21. I picked a simple large-pixel style on purpose, but I guess that didn’t make much of a difference.  It also didn’t help that I’m not hugely familiar with Kung Fu or the many different animal styles, so I spent lots of time on YouTube trying to find appropriately spectacular moves. The fruits of my labor are below (see if you can guess the animal style of each; your options are Dragon, Crane, and Monkey):

#gallery-1 { margin: auto; } #gallery-1 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 20%; } #gallery-1 img { border: 2px solid #cfcfcf; } #gallery-1 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */ fighter_walk dragon_punch_anim dragon_kick_anim dragon_jump_anim crane_punch_anim
crane_kick_anim crane_jump_anim monkey_punch_anim monkey_kick_anim

So, even if I don’t make the Jam deadline either, I’m happy that I’ve got a solid, fairly fleshed-out concept and some back-end work started. I will be making this game.

Cheers to all that  finished their game, and cheers to those that didn’t. Being a part of this culture of creativity and community is what matters.