Wednesday, September 25, 2013

Nostrum update: now with a map!

I added a map. This was the first version.

Then I tweaked the colors a bit. And animated it so it flaps in the wind based on how fast you're flying.

Then I added a border from an old atlas, and a map trail that indicates where you've been...

... But now I'm probably going to remove the trail, since I want the player to orient themselves with the compass and local landmarks.

Thursday, September 19, 2013

Nostrum and clouds.

Hey! I made "Nostrum," a short flight sim game for the Oculus Rift VR Jam thing, and I placed 2nd. I won a bunch of money and a t-shirt, so I'm pretty happy with that.

For the first week of the three week jam, I was actually prototyping a lion simulator game. Then I watched Porco Rosso and thought, "wow, that'd be a fantastic game." So I stashed away all that previous work and started something new.

Wednesday, September 18, 2013

Teaching struggle.

The other day, I sat down with a student in my Unity class to review some course material and answer some questions. They were wondering why their code wasn't compiling. Their code looked something like this:

Tuesday, September 10, 2013

Hacking blend transition masks into the Unity terrain shader.

It is a truth, universally acknowledged, that grass rarely fades linearly into dirt. Grass is often quite clumpy. I wasn't satisfied with the non-clumpiness of my grass in a certain project, so I hacked Unity's terrain shader to add some blend mask support. You could probably use this technique for cobblestones, bricks, debris, gold coins... whatever you want to remain clumpy when overlaid on top of another texture.

First, let's think a bit about how Unity's terrain system renders the textures you paint on it:

Thursday, September 5, 2013

Level With Me, series 2

Level With Me is a whole new batch of "candid interviews with game developers about their design process" going up on Rock Paper Shotgun, one a week.

The first half of each interview focuses on their past work / approaches, and the second half is a conversation where we design part of a first person game together, based on what previous interviewees did. This way, you get a 90s net-art pioneer indirectly collaborating with a veteran AAA level designer indirectly collaborating with an indie horror game designer, as they all deal with the weight of each others' design decisions.

The goal here, as before, is to demystify game development. Games are magic, but not because they are unknowable -- they are magic because they are so hard to execute and they require so much work and blood and sweat of human wills. I believe we can talk about game development / struggle, straightforwardly, in plain words.

This is also how we design games: we ask ourselves questions, and then try to answer honestly. Different people will ask themselves different questions and give different answers.

Tuesday, September 3, 2013


It's not much, but it's what I can do:

I promise not to attend PAX, ever again, in any capacity.

I promise to advise my peers and colleagues not to attend PAX, ever again, in any capacity.

I promise to help organize / build / support new institutions and communities, to try to replace PAX and counter its owners' poisonous influence on its fans.

I can't promise that my actions will matter. They probably won't matter. But that's partly the point of a promise.