Chassis Commander

2010, August 25th 1:36 PM

Windows (.zip version)
Mac OSX
Linux (32-bit only)

CHASSIS COMMANDER!

Marooned on an unknown planet!

CHASSIS COMMANDER!

His only weapon, a hoverbike with a malfunctioning weapon!

CHASSIS COMMANDER!

Besieged by a million unstoppable robots!

CHASSIS COMMANDER! (you should be imagining this with a significant amount of reverb btw, go back to the beginning and start again if you’re not)

Can he use the robots to repair his vehicle? Can he muster up enough firepower to defeat them all? Can he learn how to use the over-100 unique weapons that he can cobble together from compressed robot parts? Can he survive this horrible onslaught?!

CHASSIS COMMANDER!

Play it today!

(Ludum Dare 18 submission. Made in 48 hours.)

The Ultimate Race Postmortem

2010, August 10th 5:23 PM

So, I made this game. And – let’s be fair – it sort of sucked.

I could go on at great length about how this is Box2D’s fault, and thanks to issues integrating Box2D with Lua. There’s some truth to that. There’s still bugs in there causing the physics to behave a bit wonkily. I spent a lot more time working on infrastructure and bindings than I’d meant to, and even today it doesn’t work properly on Linux (and probably won’t, to be honest, it’s not a good enough game for me to spend the time on it.)

But that’s not why the game isn’t fun.

The original view I had of the game was that you’d be running along towards the next checkpoint, trying desperately to get there in time, and at the last minute you’d fling yourself towards the goal, die in midair, and get to watch your corpse crunching its way down the mountain until you happened to fall into the rejuvenator and oh god time to keep running go go go get to the next checkpoint.

But there’s a bunch of problems here. First off, it requires you to make a crucial decision – your exact death position and velocity – before you can even see what you’re trying to aim for. Second, physics tends to be extremely chaotic, so either the game needs to be built to funnel the player inevitably down into the right location or the player’s death is near-certain, regardless of skill. And, of course, if you funnel the player down to the right location, then you’re making skill irrelevant anyway. A game with no skill component tends to not be a good game, and as much as I rail against them for being low-skill, even Bejeweled and Peggle involve more skill than my original vision of The Ultimate Race did.

Even that isn’t the crucial problem.

The reason the game isn’t fun – and this took me a while to hunt down – is that a game of this sort is only fun if you’re almost losing. If you get to the goal quickly, it’s easy, and you’ll never bother with an early death and it’s boring. If you’re nowhere near the goal, you lose no matter what and it’s simultaneously boring and frustrating. The player has to be right on that knife edge of losing for that fun moment I had in mind to actually occur.

And that’s just ridiculously hard to orchestrate.

If I were going to do this again, I’d be trying one of two different approaches. One is to make the difficulty self-balancing in a sense. I hate auto-adjusting difficulty, so in reality what this would mean is that reaching a goal very quickly would unlock a “harder path” that the player could choose to go on, so the player could make the game as hard as they could handle and thereby keep it fun.

Another thing I would try would be to remove the time limit entirely, and even remove the voluntary-death button. I’d add some kind of a laser defense grid around the checkpoint. You die because you leap headlong into a laser and get fried, and that is when the whole “fall down the cliff praying” thing would kick in. I’d play up the “race” thing more heavily – you’d ideally be racing against a bunch of computer opponents that don’t get shot by lasers (”sorry man, we’re out of the reflective armor. good luck!”) and so you’d be encouraged to leap headlong into danger without really spending a lot of time preparing.

And finally, the player needs at least some influence over the corpse behavior once he’s dead. Even if that’s limited to twitching in one direction or another. Something.


I feel like, in some sense, this game is a milestone for me. It’s the first time I came up with an idea that just flat-out didn’t work – the rest of my unsuccessful games have been unsuccessful because I didn’t have an idea. So, I mean, I had an idea, and it sucked. That’s progress.

I think that’s progress.

GT Paradise, And Postmortem

2010, June 14th 2:51 AM

Well that didn’t work.

Windows (.zip version available)
Mac OSX
Linux (32-bit only)

The theme of this month was Casual Addiction. I came up with the bare bones of an idea, without any real belief that it would make a fun game, and decided to implement it and see what made it fun.

Four days in, with virtually nothing to show for it, I realized this entire thing felt very familiar. Almost like I’d done this before! And, shockingly, it worked just as well this time. I am amazed! Are you amazed? We are all amazed.

What I’ve realized, albeit a bit too late for this project, is that I absolutely need a clear vision of what I’m working towards. If I don’t know what I’m trying to code, I can’t code it. Now, it’s fine if this ends up morphing as I code, it’s fine if what I end up with bears only tangential relation to what I originally intended to make. But I need that anchor point to work for, and I didn’t have it. That is something I’m going to be watching for in the future.

I’ll describe what I was working for, though. Maybe someone else can make it entertaining!

I was planning on working Casual Addiction very deeply into the game idea. You were going to be a drug dealer, and part of the game would involve getting your customers hooked and then getting lots of money from them. But that was a double-edged sword. The more customers you had, the more the cops started noticing you. Unfortunately for you, just shutting down one of your dealerships wouldn’t really solve the problem – now your customers would be looking for a new dealership to buy from, and in the process of searching, attract even more police attention.

Similarly, your less-alert drug runners had a chance of being noticed by police (this is Bad). You could assign guards to them . . . but that would, in the process, reduce their Alertness even further, as they’d start relying on the help.

So basically, whatever you did with an intent to make your life easier would result in you being locked into that long-term, with a huge amount of pain to un-do it. I was hoping to balance things such that the “way to win” was basically stay low and under the radar and not try to make it big, while being a Big Drug Dealer would result in a cataclysmic meltdown unless you realized what was going on and bugged out early.

The problem is that I didn’t have any mechanics for any of this. I was thinking of having Police and Runners walking around the world, but I was never happy with my mental image of how it would work. I was thinking of abstracting Police into some basic values, but I never came up with actual mechanics. I didn’t have a game, I had a pile of unconnected ideas.

And, as a result, I don’t have a game.

I’ve seen this exact same problem play out over and over, which is why it’s kind of embarrassing to realize I’ve been doing it myself. It’s the classic class-project or group-project issue. One person says “hey roleplaying games are awesome, let’s make an RPG” but nobody has a clear view of what they’re actually trying to make. They know it’s got main characters, and a game world, but there’s simply no coherent vision. If nothing else, I’d say that coherent vision is the most important thing to get, and fast. With Nieuwe Aarde I was forming the vision even as I was doing the first development, but less than an hour in I knew I’d have islands and you’d build buildings on those islands and there would be a monster attack once in a while. That’s the core of Nieuwe Aarde, and once I had that implemented I was fine to spend a day tweaking and polishing.

So, if you’re trying to make a game: write down your plans first. If you don’t know roughly how game balance is going to work before you’ve written your game, you’re certainly not going to be able to figure it out midway through.

The only thing that went right this month was that I recognized a recurring pattern. With luck, I’ll be able to stop making that mistake in the future.

Nieuwe Aarde Postmortem

2010, May 3rd 5:22 PM

So. Nieuwe Aarde, that game I made for Ludum Dare in 48 hours.

This is going to be one of the toughest postmortems I’ve written.

What Worked

Well, first of all, it’s fun. I’m getting a lot of commentary saying that they enjoyed figuring it out and that they think it’s an enjoyable game overall. That’s cool. I seem to have done a good job with the base game mechanics and the interface, I’m having very few people tell me that they simply couldn’t figure it out.

The art, while not spectacular, is servicable and nonconfusing. The game feel is consistent. The tooltips work absolutely great for explaining the concepts.

I also appear to have nailed the difficulty. I’ve had a few complaints that it’s way too easy, and a few complaints that it’s way too hard, but the bulk seems to fall into the categories of “it’s tough, but I beat it” and “it’s tough, and I didn’t beat it, but I think I could have if I’d put more time into it.”

For doing it within 48 hours, it turned out great. Compare it to my earlier games – I spent a third as much time on this one, and I think it turned out better. My tools are maturing like you wouldn’t believe and I’m just getting faster and more skilled at this whole thing.

So, in summary, I made a good game.

What Didn’t Work

The problem is that I didn’t make the game I wanted to.

The original goal was Desktop Dungeons meets Seafarers of Catan. Desktop Dungeons is a clever small-scale dungeon crawler which is designed so that almost every single move is critically important. Sure, you can get a nice lead, but that lead can be whittled down rapidly by bad luck. Doing “as well as you can” is critical, every step of the way, and each time you click it had better be the right click.

Nieuwe Aarde doesn’t succeed in that. You’ll spend a large part of the game clicking “Work” over and over, for example. Clicking a few too many times? Totally okay! Building the wrong thing entirely? You can probably recover! There’s very little that has to be timed exactly, and the game design itself isn’t conducive to the sort of miniature puzzle where you’re trying to scrape out the last little possible iota of advantage.

I still think it may be possible, but if I want to do it, I’m going to have to start from basics again.

The Bottom Line

I made a fun game, but I made the wrong game. I’m not really sure whether I want to call this a success or not.

On the other hand, I made a fun game. If this is failure, I wouldn’t mind failing more often.

Nieuwe Aarde

2010, April 25th 3:45 PM

The planet is dying.

Monsters raise themselves out of the ocean monthly. The skies themselves blacken.

You, and your civilization, have but one choice: amass enough magical power to leap across the starless void, to another, safer planet. But you’re racing against time – every day the attacks get stronger.

The planet is dying, and it’s taking you with it.

Ludum Dare competition page and voting

Windows (.zip version available)
Mac OSX (10.6 or higher)

Nieuwe Aarde was made for Ludum Dare 17, a 48-hour game development competition. Yeah, that’s right, my normal week-long development process was compressed into two days.

Ouch.

The theme for this event was Islands, and so Islands is what I did! Nieuwe Aarde was inspired by Desktop Dungeons and Seafarers of Catan, and I feel like I’ve made a reasonably coherent little single-player strategy game with a whole pile of tooltips.

Postmortem up in a few days. Time to start on the next project!

Robert Recurring Postmortem

2010, April 23rd 5:55 PM

I should probably get this done before I finish another game.

What Went Right and What Went Wrong

This was a very focused game. I started working on gameplay and I pretty much ended working on gameplay. There’s no graphics, no sound, and the game does suffer from it a bit. The gizmos started to look too similar – many of them are based on the same texture, only differently textured and shaped, and that really isn’t enough. They should look more different and they should stand out better than they do, the wall texture is just too distracting.

The gameplay I think I pretty much nailed. Or, rather, I nailed it as much as I could within a week. I’m actually still coming up with ways to mathematically describe the levels, and I think I could make even more interesting game layouts. I managed to abuse Lua in some exciting ways that I hadn’t done before, and it turned out really really well – I’m finally getting my dev environment set up so I can do extremely complex stuff easily, and that is just damn cool.

The Bottom Line

I continue to be excited about this game, and this is one of the few that I’ve felt possibly worthy of being fleshed out into something bigger. That said, I’ve got like two other games queued up before I’ll have a chance to come back to it, possibly more. So we’ll see! We’ll see.

It’s on the Short List.

Robert Recurring

2010, April 14th 12:53 PM

It’s that time of month again! The time for games.

Robert Recurring is a side-scrolling puzzle game that is arguably about time travel. No, I did not remake Braid. It is about a different time travel gimmick than Braid.

Windows (.zip version available)
Mac OSX (10.6 or higher)

I know what you’re saying. “Oh, this game looks terrible! He must have given up again.” No, on the contrary – I ended up spending the entire week working on really fascinating game mechanics, and I’ve got half a dozen ideas that I didn’t have time to get to. Lots of design ideas = no graphics. You don’t get graphics.

Graphics aren’t for you.

Let me know what you think.

GDC 2010: Aftermath and New Beginnings

2010, March 14th 10:05 PM

I spent most of last week at the Game Developers Conference.

It was fantastic, because it always is – it’s a solid week of jamming new game development knowledge in my head, and, y’know, there’s nothing bad to be said about that. There were many good talks. Talks about game philosophy. Talks about game design. Talks about game implementation. Talks about marketing. Talks about business models. Talks about target users and monetization.

I realized, somewhere in the middle of these talks, why I was having trouble moving forward. It was because I was moving to the iPhone, not because I was excited about the iPhone, but because I was trying to sell a game. A game which – let’s be honest – I wasn’t really excited about either. I wasn’t working on what I loved. I wasn’t working on what I’d gone into this crazy industry for in the first place.

I was trying to change from an artist to a producer. And I’m not a producer. My business cards say “Director”, but I’m not sure even that is accurate. I’m an artist, and games are my canvas.

When I talk about the people I respect most in the industry, I don’t talk about the people making 99-cent iPhone games with three million downloads. I don’t talk about thirty-million-player Facebook games, or the latest Madden game. I talk about Cactus. I talk about Johnathan Blow. I talk about Derek Yu. I talk about Jenova Chen.

I talk about the people who make the game they want to make. And, sure, they pay attention to marketing, to business, to target users. But in the end, I think these people all make games they’re proud of, and they all make games that are meaningful beyond the next five minutes of our collective attention span. And that’s what I want to do.

I’m still going to be doing my monthly experimental games, at least for the immediate future (and, hell, I’ve only got three months until I’ve been doing this for a year, it’d be a shame to stop now.) But I think it’s time to buckle down and make something that I can be proud of, and I think it’s time to start making waves and trying to wrench myself into the public eye instead of running dark.

If I’m gonna be a rock star, it’s time to start acting like one.

2010 is a good date for that.

GT Multitude

2010, February 18th 5:53 PM

I had an idea for a game design. It turned out to be . . . shall we say . . . dubious.

Windows (.zip version available)
Mac OSX (10.6 or higher)

I’ll just write up a postmortem here.

The theme for this month was Rejection. The idea I had was to take some basic swarming behavior, then make the creatures in the swarm gradually pay less attention to you. Your “livelihood” depended on influencing your friendly swarm creatures, and thus, as they ignored you, you’d die.

The problem with behaviors of this sort is that it’s tough to accomplish both “interesting behavior” and “sufficiently controllable with the user”. Even in the current version – the best balance I was able to get – some of the interesting swarm mechanics go away when the user gets close. I had some versions where the player was fundamentally unable to interact with the creatures in a predictable manner, I had some versions where the creatures essentially became mindless slaves of the user.

Fundamentally, I wasn’t able to come up with any really interesting mechanics. Nothing I did was fun, and I didn’t find myself enjoying playing my own game. That’s a bad sign.

I don’t think anything really went directly wrong with this – it was an experimental concept, and it didn’t pan out. These things happen. Hopefully next month will be a little more successful.

So hey been a while. Let’s get this thing wrapped up.

I’ve gotten a curiously small amount of commentary on this game, and I’m not quite sure why. Doesn’t give me a lot to go on, and it worries me that, perhaps, I did something wrong that I will be unable to figure out.

Who knows!

What Went Right

I decided to tackle hardware shaders and higher-end graphical effects in this game. Overall I think this was an amazing success – there are a lot of effects in this game that are done entirely via hardware and on the graphics card, and the game comes across much better thanks to those. In fact, even something as simple as the lit-up paths are hardware processed. Wonderfully powerful and I’ll be using similar stuff in the future as needed. Huge success.

I feel that the sound effects turned out great as well, which is surprising because I maybe spent two hours on sound for the entire game. I wasn’t intending to end up with such a meditative soundscape but that’s kind of what happened, and I really rather enjoy it. Happy accident there.

The basic game design . . . I’m a little uncertain. I’ve had a few people suggest that it would be better with a touchscreen interface and a countdown, and I think that might be true – the “falling tiles” behavior doesn’t lend much of interest to the gameplay. However, the actual idea, linking things via wires one way or another, seems to be pretty dang fun. I think it’s got potential for tweaks and improvements.

What Went Wrong

Nobody anywhere has commented about the achievements. Did people not notice them? Did people not care about them? I have no clue! Tell me what you thought of them, or even if you noticed. The idea was to give people suggestions towards things that might increase their score, or towards things that they might not have thought of – essentially encouraging people to explore the bounds of the game mechanics. Hopefully it worked.

The hardware shaders ended up turning into a huge code and efficiency problem, and I ended up spending a week before the game making them work, plus a week after the game making them work fast. Ugh. On top of that I’m still getting frequent crash reports. I’m not sure if this is thanks to the hardware shaders or what – I’ll have to instrument some codepaths better to figure out where this crash is coming from. It may simply be that a lot of people are trying to run this game on low-end graphics systems.

I also still don’t have OSX crash reports working.

I didn’t have time to play around with the game mechanics much further. I wanted to have things like “score doublers” that you could drop in, that would double any points gotten “through” that link. Didn’t happen. I had some ideas about ways to modify the board layout after placing pieces, or letting the player stash a piece. Didn’t happen. This game was a huge time crunch from beginning to end, and I’m glad I did it because I ended up with some great infrastructure in place, but the game design suffered.

The Bottom Line

I feel like I’ve made my prettiest and most atmospheric game yet. That’s cool. I feel like the game design itself was kind of a failure, and I’m pretty much just gonna be moving on to whatever’s next.

Which, lately, has been an iPhone port. Getting close to the point where I can (relatively) easily build iPhone games!