Categories
Game Design Games Geek / Technical

The Neat Little Experiments of Ludum Dare Entries #LDJam

Since I’m on vacation, I’ve had more time dedicated to playing and rating the entries from Ludum Dare #33, and it occurs to me that I’ve never played so many games from a compo before.

And apparently I’ve been missing out.

When over 1,200 people submit games within 48 hours for a single theme, you’re bound to see some really amazing, innovative, and bizarre takes on it. While many might be mediocre, even the poorer entries might have a glimmer of brilliance hidden in them. It’s like having hundreds of people doing research and development all at once.

Monster Mash by Budda allows you to create and customize your own monster. Using the bones of the adventurers you defeat, you can upgrade your body parts and weapons to get more powerful and deal with the stronger and deadlier adventurers.

LD33 Monster Mash by BuddaT

The battle screen features your monster on the left and your enemy adventurer on the right. What I liked about it was how the interface was simple and abstract: click on the various body parts to attack and heal. When your enemy hurts you enough, you might lose the ability to use one of your body parts. It’s bizarre to see your head turn red to indicate it is disabled when the rest of your body is fine, but I bet it is terrifying to the adventurers as well.

I can see this experiment result in a genre of simple yet tactical mobile games.

Goloumo by HippGame is a quick platformer. While you can move about and jump, the way to make it through the game is to use your ability to manipulate other objects in space. Click and dragging a table or an elevator when you’re on it, and you can get to areas that would otherwise be impassable.

LD33 Goloumo by HippGame

It’s a rough experiment, but I can see this mechanic being used to great effect in a Nintendo DS game.

Sirens by miotatsu has you sing to lure ships towards your rocks. It’s art is a bit crude and the audio shows how little polish was expected, but it works well.

LD33 Sirens by miotatsu

It’s essentially a tower defense game in which the stationary rocks are both your weapons and your defense. Still, combined with the singing ability to lure ships in on purpose, I think Sirens has a bit more to it than might be expected.

Hydra Confusion by concalf has you controlling a hydra’s many heads, ensuring each one is fed and happy. If you mess up, a new head appears, which makes it more difficult for you to manage.

LD33 Hydra Confusion by concalf

Hydras were always cool, and I’ve never seen a game that featured one you could play! Moving about and controlling the individual heads isn’t terribly challenging, but managing them all at once is.

Fear Me by joe has you in the role of a monster trying to scare someone who is trying to sleep. You need to be just visible enough to scare without being too visible and caught.

LD33 Fear Me by joe

It’s kind of like playing a character in Monsters, Inc. You can hide under the bed or in a box, but it takes up precious time. While I suppose Metal Gear did similar stealth mechanics, this is the first time I’ve seen you in the role of a scary monster.

What’s funny is how each Ludum Dare starts with the announcement of a theme that many people will vocally hate. When “Roads” was announced for Ludum Dare #13, I remember people complaining that everyone was going to make a racing game and it was going to be a boring theme. But like most LDs, there was quite a bit of variety present.

Similarly, people whined about “You Are the Monster” for LD #33, citing how hard it was to come up with an idea, and yet in just a handful of games I found that no two are alike, and they sometimes bear little resemblance to professionally-created games, but in a good way. It’s mind-boggling how much creativity Ludum Dare unleashed.

Years ago, I was given a jazz album to listen to while I worked, but it was so bizarre and jarring that I couldn’t concentrate. I looked up the artists, and it turns out that they combine “modern avant-garde jazz with rock and pop influences.” Ok, sounds great, but it sounded like random noise to me.

The thing is, I figured that it must sound good to a more practiced ear, and so I wondered what I was missing. When I asked a friend who is more of a music expert, he explained that avant-garde music is meant to be experimental. Often what someone discovers with avant-garde finds its way into the mainstream eventually.

Now, there is a lot more to avant-garde art. It’s not about being a proving grounds for new work but is instead meant to push boundaries and challenge traditional social values. It’s more political than commercial.

But the experiments do get leveraged to create commercial works.

And playing Ludum Dare entries, I’m reminded of this idea. The game mechanics might be rough and unbalanced, but there’s often a spark of cleverness.

Have you seen any interesting Ludum Dare entries worth noting?

Categories
Game Design Game Development Geek / Technical Personal Development

Development Strategies for Game Jams #LDJam

As I play and rate Ludum Dare games, I see that games fall into a few groups:

  • Highly polished games that feel complete
  • Highly polished games that feel incomplete
  • Unpolished games that feel complete
  • Unpolished games that feel incomplete

By complete, I mean they have all the elements of a game: an objective, conflict, rules, unpredictable outcomes, endings, etc.

By polish, I am referring to the production quality. There’s few bugs, the aesthetics are cohesive, and everything feels balanced when you play it.

So how do you make a highly polished and complete game in 48 hours? What tips and tricks are developers using?

Make It Playable as Fast as Possible

Games are complex systems in action. You can’t design a game well unless you playtest it because it isn’t always obvious how the rules of a game interact. Making something playable early means you have more time to test it as you add, remove, or change mechanics. You also have time to make decisions, such as whether to kill planned features or spend time on making the controls feel better.

I’ve found that when I fail to submit a game to a Ludum Dare, it usually coincides with a game that either has no game play or gets the bare minimum of game play added at the very end. I have no time to play and see how the game feels, which means that even if I get it done on time, it’s more likely to be an unpolished and incomplete tech demo.

On the other hand, when I focus on getting something playable early, such as during Ludum Dare #24, it’s a game from the beginning. It might start out unpolished and incomplete, but by the deadline, even if I don’t get all the features I wanted in there and I can identify glaring problems, I have something to submit. For my entry for the theme Evolution, I didn’t get to add the features that take advantage of the theme, but I recall how sluggish the tank felt to move and I spent a little time tweaking it until it felt better to play. When you killed the enemies, I had points float up above their heads. I’m not saying it was a beautiful game, but it was more polished than most of my entries have been. And it didn’t have everything I wanted in it, but what was in it felt complete.

Ideally, your work in progress will be easy to deploy to other people so they can play test it and give you feedback. You might think the game is fine, but you’ve been immersed in it for hours and might miss how difficult it is for someone who hasn’t seen it before. Your game is ultimately for other people to play, so their feedback is very important.

Know Your Tools

If someone gave you a complex tool you’ve never seen before, you’d probably muddle through how to use it, but it would be slow and painful.

On the other hand, if you were given a tool you’re familiar with, you no longer need to worry about how to use it as it is almost second-nature. You can focus on the task in front of you instead of focusing on how to use the tool.

Years ago, I struggled with making programmer art in GIMP. I wrote code. I didn’t art.

Partly from learning during previous Ludum Dare compos, partly from talking with artists about their workflow, and partly from practicing outside of compos for my own projects, I learned how to do things I normally need to do during a game jam. For instance, I use layers, preferably named ones, to make it easier to create a complex image. I know how to scale images and layers with fewer artifacts. I know how to use an alpha selection to get an online of an image, and I can grow and shrink selections so I can create a silhouette or a border. I even learned common shortcut keys so I can quickly switch from the Pencil tool, the Bucket Fill tool, the Rectangle Selection tool, and the Ellipse Selection Tool, which saves me time.

I remember reading the manual for Applesoft BASIC and learning that instead of typing out:

PRINT “HELLO, WORLD!”

you could type out:

? “HELLO, WORLD!”

And that question mark would automatically get turned into the PRINT command. The manual mentioned that it saved four keystrokes and time. At the time I wondered how much time it could possibly save, but since I was typing PRINT almost all the time, I realized that it added up.

Today, knowing your IDE’s shortcuts similarly helps. As my friend Chris Freeman said in his presentation on refactoring, tools reduce cognitive load. Instead of using the mouse to hunt and click on everything in menus, you ideally should be able to unconsciously move your fingers to the right key combinations to make things happen. It’s like learning how to ride a bike or drive a car. Once you get the hang of it, you no longer focus on where your feet are. When you want to move forward, your feet automatically know what to do.

During a game jam, you don’t want to spend time reading a manual or searching online for help. You want to just DO things that move the game forward.

For my first Ludum Dare, I was learning how to use libSDL, and luckily I kept the scope of the game down because I knew I wasn’t going to be able to do very much. I spent a lot of my time figuring out what SDL provided and how to write code to take advantage of it.

For the latest Ludum Dare, I was often very pleased with how even major code changes compiled on the first try. I was much more familiar with the language and with the interface of my tools such as Vim and Gimp.

Come up with a Plan

You’re two hours into a 48 hour compo. What are you working on now?

With only two days of development, it might feel like you don’t have time to plan. Every moment not working on game development is a lost opportunity.

But planning saves time, and it doesn’t even have to be very complicated to be effective. There’s no need to create a Gantt chart for your project.

Some game developers create entire detailed design documents to keep their thoughts organized, and other developers use nothing more than a list of planned features that they cross off as they get implemented.

But what about time?

You could work on one thing at a time until it is all done, but the risk is that the later items don’t get done at all. What you don’t want is to find yourself with an hour left and realizing that you forgot to implement a way to end the game or that your game is completely silent.

Some people try to get a good chunk of the game done early so that the rest of the compo is spent on balancing and adding polish. Some developers set aside blocks of time, such as a couple of hours, to creating sound effects.

Other people understand that their energy levels are going to be different throughout the day, and when they are too exhausted from programming, they can switch hats to creating graphics or music. Einstein actively relaxed by playing the violin, and you could do worse than emulate him.

No matter how you plan your two days, having that plan gives you more insight into what to do at any given moment so that you have the best chance of submitting a finished game.

Your Tips?

I’m not saying I’m an expert, and I still feel like I’m learning how to pace myself and put together something. But after participating in 10+ Ludum Dare game compos and a handful of other game jams, I think I’ve gotten some worthwhile experience to share.

I should probably invest in The Game Jam Survival Guide by Christer “McFunkypants” Kaitila.

What are your strategies when participating in a game jam? How do you ensure your game is complete and polished before the submission deadline?

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD33: Free Me, You Idiots! Ported to Android! #LDJam

Shortly after I ported my Ludum Dare game to Windows, I ported it to Android! You can download and install the .apk now and play on your phone or tablet. I’ve updated my LD#33 compo entry.

Here’s a handy link to explain how to install an app outside of the Google Play store.

LD#33 Game Play

Warning: it’s not really optimized for mobile yet. It pauses when idle, but it doesn’t pay attention to the back button, so you’ll have to long-press the Home button then swipe it away to close it.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD33: Free Me, You Idiots! Ported to Windows #LDJam

I’ve updated my Ludum Dare #33 compo entry with the Windows version of Free Me, You Idiots!. Now most of the world can play it!

LD#33 Game Play

Next up: fixing my Linux-based entry so that it uses a non-custom install of SDL2.

Categories
Game Design Politics/Government

Take Seriously the Responsibility of Game Creation #LDJam

After a marathon game development weekend in which I finished my Ludum Dare compo entry on time, I found myself looking forward to playing everyone else’s games. I pulled up the random list of games it provides for me to rate, and the very first game on the list?

A game about being a rapist.

Seriously? Ugh.

I know. I know the theme for Ludum Dare #33 was “You Are the Monster.” I know the very first thought most people will have with the word “monster” is some kind of creature, whether evil or good, and the second thought is, “Ah, but people can be metaphorical monsters, too!”

And there have been some amazing games taken in both directions. In just a handful of games, I played the role of a politician in two of them. One was humorous, and one was chillingly dark. Both were done well.

But I can’t comprehend how someone could think playing as a rapist would make for a good game concept, no matter how much it might fit the theme.

I’m having trouble articulating what bothers me so much about a game about being a rapist. We have lots of games that put you in terribly violent roles, and I would be one of the last people to argue that they shouldn’t be made.

But this game has you treat women as objects to overpower as a core game play mechanic. That’s horrific.

When I brought this up in the Ludum Dare IRC channel, I was told something to the effect of “If you don’t like it, then just don’t play it.”

I think that attitude works fine for matters of taste. If I am not a sports fan, I could just not play the next incarnation of Madden instead of whining about the existence of another game I don’t care for.

But this is a game about subjugating and raping women, of treating them as Less Than. I would not think it’s a matter of taste. I would like to think that it’s not a matter of some people being offended and some people not. I think it is perfectly valid to call out a bad creation. I mean, there are bad games, and then there are bad games.

It’s not “just a game”. I hate that phrase because it makes it sound like games are not important.

Games matter. And I know this is a 48 hour game made by an amateur and not a professionally produced controversial product. But games matter.

We live in a world where the tools of creation have been democratized, and as I wrote last month, anyone can create, and they do:

You could simulate complex interpersonal relationships, or you could go the easy route of hypersexualization, stereotypes, and power fantasy.

It’s a choice.

And with the increased availability of tools and publishing platforms, anyone can make these kinds of choices.

And many do. Sometimes without realizing that they are making important choices.

And some of these choices get front-page status, which means a lot of people get the subtle message that these choices are normal.

Being careless about this topic bothers me a lot. Rape is serious. It is dehumanizing to its victims. It is horrific. It should not be treated casually, because then you risk making rape sound as almost normal, maybe even funny. When rape is treated in an unserious way, it’s telling the world that it is no big deal.

I’m not saying that certain topics are taboo and should not be the subject of games. Other media have tackled it, and some have done better than others in not treating it as merely a plot development, and I believe games could as well. I think it may be possible to create a game about violent misogyny and rape that seriously deals with the issue.

I am saying that if rape is going to be addressed in a game, it needs more careful thought behind it. Making a game about rape is not something you just do.

A note to people who don’t play games: Games don’t have to be fun to be games. They don’t have to be for kids to be games. They can deal with adult themes. They can inform.

Games mean something and they say something to the world. Even if you think they don’t say anything, THAT says something. Playing a game featuring casual misogyny such as the Batman:Arkham series of games says something to us about the views of the creators, views that potentially get absorbed by the players. These games aren’t going to turn every fan into a raging women-hating fiend, but it sure doesn’t help to be exposed to hours of game play normalizing certain attitudes toward women.

A game about being a violent rapist says something about the creator’s views, views that can get absorbed by it’s players. People might see this game and think, whether consciously or not, “Huh, someone made a game about being a rapist. I guess that’s a thing now.” And rape gets even more normalized in more minds.

I don’t know what to call for in terms of this specific game. I’m not asking for it to be banned or removed from Ludum Dare, but that’s more because I don’t know if it should be. I’m still a bit shocked that someone thought to make it in the first place.

But in general, I am asking that game developers take the responsibility for what they put out into the world more seriously. You’re creating culture. Act like it.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD33: Free Me, You Idiots! Development Time Lapse #LDJam

Want to see the last 48 hours compressed down to a little over 3 minutes?

I uploaded the time lapse video of my development of Free Me, You Idiots!:

You can find the final submission at http://ludumdare.com/compo/ludum-dare-33/?action=preview&uid=251. Thanks for playing!

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD33: SUBMITTED! #LDJam

I did it!

With 15 minutes to spare, I submitted my entry for LD#33, Free Me, You Idiots!

LD#33 Title Screen

It has no sound, and there is a lack of challenge which makes it hard to call it a real game, and the UI feedback is lacking to let the player know what is going on, but it’s complete and playable.

LD#33 Game Play

It’s also quite complicated! I created a simple yet effective goal-based artificial intelligence, a little economy, and upgrades. The thing I wish I had was direct conflict between the good and evil villagers.

But I’ll have more to say when I write the post-mortem.

For now, check out my entry at Ludum Dare, and if you submitted your own entry, please rate my game.

I’ll create a Windows port, soon. You can download the game for:
GNU/Linux (459K)
Windows (2.8MB)
Android .apk (3.6MB)

Congratulations to everyone who submitted a game! It’s been a fun weekend, and I look forward to playing your games!

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD33: We’re Getting Tired, but We’re Gonna Make It! #LDJam

I wasted precious time last night trying to create an animated GIF of the game so far, but it was either terrible quality or took up hundreds of MBs, and so I gave up and went to bed.

LD33 2nd Breakfast

This morning I had peanut butter, raisin, and banana sprinkled with cinnamon on toast for breakfast with my trademark orange juice. Starting the day off right!

By my calculations, I’ve put in almost 15 hours of development towards this project, 12 of which came from yesterday.

We’re in the last 12 hours of Ludum Dare, and we’re starting to get tired.

LD33 We're getting tired

And while I have interactivity and have been toying around with it to ensure that things are working correctly, I don’t have a game yet. The player can’t do anything to meaningfully impact the game world, but the AI is having fun, I’m sure.

The AI needs to be there for this approach to the game. If the villagers don’t have their own goals and activities, then the entire premise of the game is thrown out the window because you are trying to influence their activities towards benefiting your own ends. But I can’t build an entire self-running simulation no matter how much fun it is take on that challenge because then there won’t be any time left left to allow the player to do anything but watch.

So my focus today will be on adding meaningful play. What can the player do that makes sense and gives good feedback? I’ve been thinking about and designing this aspect throughout the compo, and now I need to manifest it.

I will add that I do have another concern. This game is about being the personification of Evil and convincing the followers of a good deity to follow and worship you instead, allowing you to break free of your prison.

What it isn’t about is blasphemy, but in my attempts to add humor by poking fun at how moronic the villagers are, I worry that the game comes across as my indictment against organized religion. It’s not, but my intent isn’t necessary for it to be offensive or to act as a model for how people should act, so I need to make sure that I’m super aware of how the game could be received. I’m not the kind of person who throws his hands in the air and says, “It’s not my fault you interpreted this quickly-thrown-together game in this way.”

Games matter, even 48-hour ones.

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD33: Ok, This Might Work Out After All #LDJam

LD#33 Praying Villagers

Last time, I said I probably couldn’t do a goal-based AI and so I was settling for a simpler state-based AI.

Well, I did a quick look at my last LD project, and I realized I had implemented a really simple goal-based AI. It’s kind of clever, and I implemented my own version of it for this project.

So now I have villagers who walk to the deity of their choice and pray, or go off exploring the world. I eventually want more behaviors, such as fleeing and bringing objects somewhere, but we’ll see if I need to.

I want to go to bed, but not before I ensure that the timelapse picks up something more interesting than a static screen.

LD#33 Visibly Worshipping Villagers

I put together a quick particle effect for when the villagers are praying to make it clear what they are doing. White particles are for good prayers, and black (not pictured) are for evil prayers.

20 hours left. Assuming my power doesn’t go out due to the storm, I think I have a good chance of getting something submitted in time.

For now, good night!

Categories
Game Design Game Development Geek / Technical Linux Game Development Personal Development

LD33: This Is the Point Where It Can All Go So Horribly Wrong #LDJam

We’re coming down to the end of the first 24 hours, and I can move around the world and select entities.

LD#33 Selection and HUD

Unfortunately, I’ve been struggling with getting them to do anything interesting. The villagers stand still because I haven’t given them a means of doing anything, nor do they have a reason to do anything yet.

That is, it’s coming down to how complex of an AI I want to create.

As is my pattern, I wrote down everything I could think of that I might want them to have as goals, with the idea that I would streamline it later. I want the villagers to think, “I want to explore, but I also have chores to do, which is a higher priority. I’ll go tend the farm, then explore. Tending the farm means I need to get myself to the farm, then work the farm.”

But then I realized that a hierarchical goal-based AI might be a bit too much for me to chew off. I mean, I could do it, but oof. How much time would that take to debug, amirite?

So I think I’ll go with a simpler state-based AI. While the full version of Stop That Hero! uses a goal-based AI to great effect, the Ludum Dare #18 (Enemies as Weapons) version did decently well with a state-based AI. The entire game worked with only three states, and one of them was AI_DEAD. So it’s doable and simple, which means it is faster and I can focus on the rest of the game sooner.

Hold on to your butts. It’s gonna get hacky.