How to Apologize Correctly

When I was a senior in high school, I was editor of the school paper. I wanted to publish more than fluff pieces. I couldn’t count how many times the formulaic headline “[insert school event here] a Success” showed up in that paper.

Some of the articles ended up quite controversial, and I got us in trouble quite a few times. I was the reason why future issues of the paper had to be approved by the principal.

And while I can be proud that, after years of people complaining, my paper resulted in actual changes to the cafeteria food quality and pricing, I did have one article that poked fun at past administrators that got me pulled into the principal’s office. I was told that I needed to write an apology for the next issue.

I remember writing the words, “We regret any offense we may have caused.” It sounded good and official, as if it was something in a real newspaper.

And I remember being told that my statement wasn’t good enough. It’s not an apology to “regret” that someone was offended. It’s basically saying that we’d do it again and that any offense is the responsibility of the offended.

So I had to rewrite it: “We apologize for the offense we caused.” It’s a lot more direct and lot less weaselly.

An apology isn’t something you say to make bad feelings go away. “I’m sorry” isn’t a magic phrase to get people who are upset with you to disappear. And you don’t apologize with a non-apology such as “I’m sorry if you were offended” because you’re basically saying that you’re not sorry you did someone something wrong because you don’t think you actually did.

According to Ars Technica, slave-Tetris mode was removed from Playing History 2: Slade Trade by Serious Games Interactive after a public outcry when the game became more well known due to a Steam sale.

Ugh. I did just type those words, didn’t I? Slave Tetris? Really? Someone thought it was a good idea?

I have no problem with a game being used to educate players about history. And no one else who understands how games aren’t just for kids has a problem with the concept either.

But Slave Tetris isn’t the most respectful way to teach how horrible the conditions of the slave ships were. This isn’t navigating the Dalles in The Oregon Trail. You can’t reduce the real experiences of millions of people to a mini-game and not expect people to feel that those lives themselves have been minimized.

Simon Egenfeldt-Nielsen of Serious Games Interactive had this non-apology:

The phrase “as it was perceived to be extremely insensitive by some people” is very similar to “we regret any offense we may have caused.”

This phrase makes it sound like the Slave Tetris minigame is actually quite sensitive and perfectly fine, but because some people took offense, SGI decided to take it out to make the bad publicity and bad feelings magically go away.

I think Egenfeldt-Nielsen honestly believes that this is a good educational game that brings the horrors of the trans-Atlantic slave trade to life much better than any history book could do. And he may be right about the game as a whole, although having someone in the game talk like Mr. T seems to contradict his claims that “We are definitely not making it into a joke.”

Playing History 2: Slave Trade - Pity the Fool?

Furthermore, I have a feeling that many of the negative reactions in here are knee-jerk reactions and she eps following what other says. Please take time to look at the game before forming your opinion.

The problem with Egenfeldt-Nielsen’s commentary is that he says, “we are listening” but then in the same breath says, “I really don’t think that all the comments here are warranted.”


People are offended, and it isn’t the Race Card or Political Correctness or people who are just looking to get offended professionally.

He made a mini-game about earning points by stacking human slaves efficiently in a slave ship. It’s offensive.

If there was a mini-game about slamming planes into the Twin Towers and scoring points for the number of people you force to jump to their deaths, people would be offended because it is offensive to take such a serious situation and try to pretend there’s a fun game out of it. There would be real lives being represented in a terrible way. The seriousness of that day would be missed, no matter how accurate or true it technically might be.

I agree with Egenfeldt-Nielsen that games have a lot of potential beyond being fun. In fact, there are plenty of serious games out there on a wide variety of topics that the casual game player might get surprised about. There are games about dealing with cancer, depression, and many other health issues. There are games about current events, war, and logistics for aid organizations, all of which treat the topic seriously and can bring awareness without making light of the situation.

But as I’m sure he has discovered, it’s not easy to work with serious subjects. You can’t separate the game from the people and events it is portraying. A game about slavery can’t just be game mechanics with a slavery backstory. To think otherwise is to betray the mindset that this serious issue is serious in the abstract but not serious enough to consider other people’s reactions to it as important.

Slavery is horrific. A game about slavery need not be, but Playing History: Slave Trade‘s Slave Tetris isn’t driving home the point that slave ships were actually like a Tetris board. In a subtle way, it’s minimizing the horror.

But I worry the lesson he learned isn’t to treat serious subjects with more respect and awareness. I worry the lesson he learned was that he needs to walk on eggshells to avoid having seemingly unreasonable people offended. His regret is that others were offended, not that he participated in the offending.

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?

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:


you could type out:


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?

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.

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.

Follow GBGames on Google Plus and Facebook!

Association of Software Professionals

Twitter: GBGames