Month: January 2012

Name That Game! 86 – La Résistance

For every authoritarian system you find in video games, there will also be another group devoted to its overthrow. Sometimes these are oh-so-creatively called the “Resistance” or the “Rebellion” or whatnot. But sometimes these groups have actual names that sometimes actually mean something.

Here are eight groups dedicated to sticking it to the man. Can you name the games they came from? And better yet, can you name the “man” they are trying to stick it to?

1. Northwest Secessionist Forces


3. Red Faction

4. Carrion Crow

5. Sons of Korhal

6. John Brown’s Army

7. The Woodsie Folk

8. The Laytonites

Good luck! If you win, I promise that simply imprison you when I catch you instead of having you executed.


Once, long ago, there was a game. It wasn’t just any game. It was an excellent game, a forerunner, a game so far ahead of its time that most people who play its descendants have never heard its name.

That game…was Herzog Zwei for the Sega Genesis. It is considered by many to be the progenitor of the real-time strategy genre, but actually obtaining and playing a copy is quite difficult.

Now, Carbon Games, the creators of the excellent Fat Princess, have gone straight back to the source for their next game, AirMech. Because the original Herzog Zwei incorporated design elements that would later be used in games like Defense of the Ancients and Tower Defense, the design feels very fresh despite being a case of “everything old wins originality awards eventually”.

You can get into the AirMech beta pretty easily by going to the Carbon forums and posting in the “I want to be in the AirMech beta” thread. The following video should inform you why you should do so.

Okay, back to work.

(Not to work-work; I can’t go back to that until I’m cleared by my doctor and I’ve no idea when that might happen. I mean Planitia-work.)

One of the things I want to get done (and get done quickly) is to create a playable alpha version of Planitia, as well as create a trailer. That will make my funding and marketing push more effective.

“But Anthony!” I hear you say. “You already have a playable alpha! I remember you posting it on your blog! With source code, even! Here, even!

This is true. But that version has a terrible bug in it that I just cannot seem to track down – after about ninety seconds of play, the frame rate instantly drops from 60 to 30 and then descends from there. All my attempts at profiling have met with failure.

Basically, I fought code entropy and code entropy won. I’m pretty sure that my framework, which I’ve been using for years, has some rather terrible bug in it and the code is just too overgrown to track it down. Of course, that was the first game framework I ever wrote, so of course it was krep. Before you say anything, It’s not just Planitia that is making me think this, there are parts of Inaria that bog down as well. Both of these games are so damn simple that they should run at about a thousand frames a second on a TI-99/4A, for crying out loud.

I talked to my friend Jari Komppa about this (who was recently called a god of the indie demo scene, by the way) and he had this advice:

“Code like it’s 1999.”

I also stole his base code, which you can find on his site here.

So how were we coding in 1999? Well, procedurally, for one thing. OOP hadn’t really penetrated game development yet. Game engines were usually just collections of functions rather than interlocking game objects. Classes were rare, and inheritance non-existent. Very much KISS territory (the design/programming philosophy, not the metal band that saved Santa).

Jari’s code is just like that. There are no classes. There is no inheritance. There’s just a bunch of functions – all in one source file, even – that do practically anything you might want to do in a 2D game, and lot of the stuff you’d want to do in a 3D one.

So I started over. While I do sort my functions into different source files, they’re now standalone functions rather than class methods. I added code I needed from my own framework (configuration file reading, logging, industrial-grade RNG, etc) but I only made objects out of things that there can be multiple instances of, like fonts and game objects.

This took me about eight hours worth of work. I now have a framework that’s just as functional as my current one but with (let me count) about 1/4 the lines of code.

I’m actually kind of eager to see how quickly I can recreate the gameplay of Planitia using the new engine. It could turn out to be a mere 40-hour project.

Updates to follow.

Thank You All

I want to personally thank everyone who wished me well while I was in the hospital. I’m home and feel better now. Thank you all.


Home from the hospital. Doctors argued over whether one of my tests suggested something was wrong. I’ll talk to my actual cardiologist tomorrow and find out what’s what.

Tired. See you guys tomorrow.


Okay, I must insist that nobody panic.

While driving to work this morning I had some chest pains. I ended up going to the hospital and was admitted.

Now, if you’re not aware, I’ve had a history of heart problems in the past. I’m hoping that this was no big deal, but they’re going to run a rather large battery of tests in the morning. I’ll know then.

So, if I don’t post much for a couple days, that’s why.

Name That Game! 85: A Thousand Pixels are Worth a Word, Part 2

Below you will find eight 32×32 images cropped from various games. Your mission? Identify the games. The stakes? Preventing World War 3. Your reward? Um…the satisfaction of knowing that you’re right.

Good luck! If you win, I promise to dedicate 1024 pixels from my next game in your honor.


So! Earlier today I sat down and read “Sandkings”, by George R. R. Martin, about a man who buys four differently-colored types of alien ants and puts them in a terrarium, where they live, grow, fight and die for his amusement.

Then I got to work on my game, Planitia, in which…four differently-colored bands of little people live, grow, fight and die for the player’s amusement.

Then I got kind of weirded out.


Geraldine: “So what did your father say?”

Hugo: “Well, I can’t tell you what he actually said…because you’re the vicar. But let’s say he used a word that sounds a little like another word…like, ‘duck’, for instance.”

Geraldine: “All right.”

Hugo: “He asked me what the duck I thought I was playing at. He said he didn’t ducking care if I ducking loved Alice ducking Tinker and if I ducking kissed her again he would make sure I was well and truly ducked.”

Geraldine: “Well, duck me.”

Sometimes I think my greatest strength is that I don’t give a duck.

And by “not giving a duck”, I mean that while I’m more than willing to fanboy over something I like, I do not preclude certain things from my experience for reasons OTHER than “they suck”.

PS3 vs Xbox vs Wii? Don’t give a duck.

Fallout 3 vs Fallout 1/2? Don’t give a duck.

Oblivion vs Morrowind? Don’t give a duck.

PC gaming vs Consoles? Don’t give a duck.

Macs vs PCs vs Linux? Don’t give a duck, though I will admit that I’ve never had the spare cash to spring for a Mac of any type.

D&D 4 vs 3.5 or Pathfinder? Don’t give a duck. If I were running with younger or newer players, I know I’d have much better success getting them interested using the strealined rules of D&D 4; if I were playing with grognards it would definitely be Pathfinder. But I do not inherently love or hate either system over the other.

Even back in The Day ™, I never gave a duck. Quake 3 vs Unreal Tournament? Didn’t give a duck, I played both. Command & Conquer vs Warcraft 2? Ditto.

I recently bought Batman: Arkham City and Saints Row the Third on the 360. My decision was solely motivated by the fact that the 360 is downstairs in front of the couch. If the PS3 had been down there I’d have bought the PS3 versions.

This is not to say I don’t do my due diligence. When I finally get around to buying Atlus’ Catherine, I’ll be getting the PS3 version since it’s been widely reported that the controls aren’t as twitchy on that version. (And that’s a game that really requires non-twitchy controls, or else you’ll get stabbed with a fork by a giant demon version of your girlfriend.)

But in most of these cases, you’re taking something great, comparing it to something else great, and saying that a choice must be made between these two great things.

Fuck that trick-ass shit.

Name That Game! 84 – In A Nutshell

It’s time once again for Name That Game!

Forgive me for this incredible digression, but in honor of the announcement of Dungeons & Dragons Fifth Edition, in this Name That Game you’ll be naming paper-and-pencil RPGs…based on their mechanics. For each system, I’ve provided the basic stats, the stat and skill range, how combat is resolved and how non-combat tasks are resolved. Can you, given this information, name the games?

Stats: Strength, Dexterity, Endurance, Intelligence, Education, Social Standing
Stat Range: 2 to 12
Skill Range: 1 to 6

Basic Combat Resolution: 2d6 + Skill; must roll 8 or higher

Non-Combat Task Resolution: Varies a lot, but usually it’s 2d6 + Skill; must roll higher than GM-assigned target

Stat Range: 3 to 18
Skill Range: None

Basic Combat Resolution: 1d20 – target’s armor class; must roll equal to or higher than a number based on the character’s race, class and level

Non-Combat Task Resolution: There are non-combat tasks?

Stat Range: 1 to 10
Skill Range: 1 to 10

Basic Combat Resolution: 2d10 < 11 - 2 * ( melee skill - enemy AGL ) Non-Combat Task Resolution: 2d10 < 11 - 2 * ( player skill - assigned difficulty ) 4. Stats: Strength, Dexterity, Endurance, Intelligence, Education, Social Standing Stat Range: 2 to 12 Skill Range: 1 to 6 Basic Combat Resolution: 2d6 + skill - enemy skill; must beat a number based on the difficulty of the attack; most attacks are considered routine tasks Non-Combat Task Resolution: 2d6 + skill - any time penalties - any risk penalty; must beat a number based on the overall difficulty of the task 5. Stats: ST, DX, IQ Stat Range: 8 to as high as the player can afford Skill Range: None, you either have a skill or you don't. Basic Combat Resolution: 3d6; must roll your own adjusted DX or less to succeed Non-Combat Task Resolution: 3d6; must roll your own IQ or less to succeed 6. Stats: STR, DEX, CON, BODY, INT, EGO, PRE, COM Stat Range: 1 to 20 Skill Range: 9 + ( Controlling Stat / 5 ) to as high as the player can afford Basic Combat Resolution: 3d6; must roll (11 + Attacker's Ofensive Combat Value - Defender's Defensive Combat Value) or less Non-Combat task resolution: 3d6, must roll your skill or less, modifiers can apply 7. Stats: B, Q, S, C, I, W, E, M, R Stat Range: 1 to 6 Skill Range: 1 to 6 Combat resolution: A difficulty for the attack is determined. The player then rolls the same number of six-sided dice as their skill level, adding dice from a "pool" based on their stats. If at least one die rolls the success number or higher, the attack hits. Non-Combat task resolution: The GM declares a "success" number. The player then rolls the same number of six-sided dice as their skill level. If at least one die rolls the success number or higher, the task succeeds. 8. Stats: ST, DX, IQ, HT Stat Range: 10 to as high as the player can afford Skill Range: 0 to as high as the player can afford Basic Combat Resolution: 3d6; must roll your weapon skill or less - enemy then can roll against a defensive skill to avoid the attack Non-Combat task Resolution: 3d6; must roll your skill or less, modifiers can be applied. Good luck! If you win, I promise not to cheat on my dice rolls the next time I GM a game you're playing in. Unless it would be funny.