Two Delightful Books I Read Recently (about Fluid Mechanics!)

The best part about grad school is finally having enough time to “do all the nothing you want.” Which is why I was able to sit down recently and teach myself the basics of fluid mechanics.

I came across two surprisingly wonderful books I thought worth mentioning since it’s unlikely most people would ever see them.

The first is the dryly titled Fundamentals of Aerodynamics by (the also dryly titled) John Anderson. It’s an undergraduate textbook for engineers that opens with one of the most riveting passages I’ve ever read:

On August 8, 1588, the waters of the English Channel churned with the gyrations of hundreds of warships. The great Spanish Armada had arrived to carry out an invasion of Elizabethan England… On that crucial day in 1588, when the English floated six fire ships into the Spanish formation and then drove headlong into the ensuing confusion, the future history of Europe was in the balance. In the final outcome, the heavier, sluggish, Spanish ships were no match for the faster, more maneuverable, English craft, and by that evening the Spanish Armada lay in disarray, no longer a threat to England. [The battle] taught the world that political power was going to be synonymous with naval power. In turn, naval power was going to depend greatly on the speed and maneuverability of ships. To increase the speed of a ship, it is important to reduce the resistance created by the water flow around the ship’s hull. Suddenly, the drag on ship hulls became an engineering problem of great interest, thus giving impetus to the study of fluid mechanics.

It’s too bad the book is all downhill from there. But how could it not be? At some point you’ve got to stop talking about British naval victories and move on to the equations.

Album of Fluid Motion deftly sidesteps that problem by avoiding text entirely. It’s a book about fluid mechanics that’s ALL PICTURES (and captions).

This is surprisingly helpful since part of what makes fluids so hard to understand is the complex ways in which they interact with themselves. It’s also interesting to see the range of techniques used to visualize fluid flow including: air bubbles, smoke, aluminum dust, oscillating a cylinder with a loudspeaker in a mixture of water and glycerin, and coating a cylinder in condensed milk and pushing it through water.

Streamlines around a cylinder

Periodic waves from a supersonic jet

The photos are unfortunately a little blurry. There’s a similar, more modern book (which I haven’t read yet) that looks like it may have clearer pictures called A Gallery of Fluid Motion.

Posted in General | Comments Off on Two Delightful Books I Read Recently (about Fluid Mechanics!)

On meeting the CEO of EA and the creator of Love

I’ve had a pretty mixed experience with the classes at USC but the wide range of notable folks who pass through in a given week makes up for a lot. This past week more so than most.

As part of an event celebrating Tracy Fullerton being awarded an endowed chair I was asked to setup a public demo of The Unfinished Swan. The first player? John Riccitiello, CEO of Electronic Arts.

He seemed really into it. We had a chance to talk for several minutes and he had some very interesting suggestions. Of course this is the same man who wanted Mirror’s Edge to switch to a third-person perspective, though he’s big enough to admit that might not have been a good idea in hindsight.

This week I also had a chance to meet Eskil Steenberg, who stopped by to demo his game Love. It’s an MMO being developed by a single man (Eskil Steenberg). It’s astonishingly beautiful as you can see from the screenshots and teaser video.

Eskil Steenberg and me (I'm the nerd on the left)

Since I have a tendency to work in isolation myself I can totally appreciate Eskil’s one-man-band approach to game development. Although I’m personally trying to force myself to work more collaboratively, the principles of working on an ambitious game in a small team are pretty similar to working at it alone. In order of importance, I think it comes down to: (a) knowing what to cut, (b) knowing the tools, and (c) knowing when the existing tools aren’t good enough and you’ve got to roll your own. Eskil is even more obsessed with tools than I am. A lot more.

For starters he wrote his own 3d modeler, Loq airou. And it’s gorgeous. The application starts up with two soft blue point lights gently rotating around each other in a black void. For comparison here it is next to the ghastly startup screen for Maya, the industry standard 3d modeler:

It’s impossible for me to be objective anymore about Maya’s interface. I’ve spent hundreds of hours using it so it’s become more-or-less intuitive for me now. After 5 minutes of Loq airou I’m still completely baffled by it. As far as I can tell there’s no keyboard input — everything is driven by a sequence of mouse clicks and drags that seem cryptic to me but no doubt make perfect sense to Eskil. To be fair, my first experience with Maya was somewhat similar.

And even though I can’t say how much usability was sacrificed for its elegance, Loq airou does have some wonderful touches. Like when you delete a line and it bursts into a zillion particles that scatter across the screen. Or when you click a node and there’s a dazzling flash as if you’d fired some sort of, I don’t know, tachyon cannon or something. For a 3d modeler it feels quite game-like, in a nice way. It reminds me of a developer (maybe Kyle Gabler) who said games should be as “squishy” as possible, meaning that every input from the player should produce some gigantic and pleasing output, even if semantically it’s just a banal acknowledgment that a button’s been clicked on.

Jonathan Mak gave a fantastic talk on visual outputs at GDC last year. I can’t find any video from his talk, just text and audio, but the gist is that even bare bones prototypes benefit from a bit of polish. As I remember it, Jonathan had a plain circle jumping and then a (much more interesting) circle with a beanie hat on which added secondary animation.

Anyway, Eskil and I had a great chat about tools and indie game development. Which of course included a discussion of Introversion’s fantastic procedural city generation work. We’re both in agreement that good tools should help you iterate quickly on problems. No surprises there. And then Eskil mentioned that Love is written entirely in C. Which seems a little crazy to me.

Because conventional wisdom has it that C is the least malleable mainstream language out there. Even people who grumble about the quirks of C++ will toss in a “but at least it’s not C.” But what do I know, I spend most of my time way off in managed-code land. I guess the fastest tool is whatever works for you.

And judging from the current state of Love, whatever Eskil’s doing seems to be working just fine.

Although I couldn’t help noticing one significant ommission in the current build: there’s no sound. No music, no sound effects, nothing. And this is a game that’s been in development for around two years now, though Eskil said he plans on adding sound soon. Clearly he’s a very visually-focused guy — and he’s got the screenshots to prove it.

Posted in General | Comments Off on On meeting the CEO of EA and the creator of Love

I Hugged the Creator of Katamari Damacy!

I went to the Tokyo Game Show last week. Officially I was there to talk about my game The Unfinished Swan and another game I worked on, The Misadventures of P.B. Winterbottom, which were showcased in the TGS Sense of Wonder Night. But mostly I went so I could give Keita Takahashi, one of the SOWN judges and the creator of Katamari Damacy, a big hug.

Mission accomplished! Finally, my ecstatic love for Keita Takahashi is no longer a secret!

Keita Takahashi and I at the Sense of Wonder Night, 2008
Keita Takahashi and me at the Sense of Wonder Night, 2008
Posted in General | 5 Comments

What I learned from The Ants

I’ve always loved ants.

This summer I finally read the canonical, impractically massive book about them, The Ants.

The Ants by Wilson and Hölldobler
The Ants by Wilson and Hölldobler

It’s changed the way I look at the world. Which is what happens whenever I dig deeply enough into pretty much any subject. For example, I never really noticed shadows in the real world until I had to create them by hand in virtual worlds. And now it’s like I’ve added a whole new color to the world around me. I want to make games that can do that.

Oddly enough, I think surreal games have a great shot at that because putting players into unfamiliar situations encourages them to think unfamiliar thoughts. Of course the challenge is making the experience familiar enough at some level that those new thoughts are actually relevant outside the game too.

I think ants are a good example of that mix: their orderly marches make them seem fascinatingly human, but their single-mindedness is terrifyingly inhuman. Here are a few of the more surprising, amusing and ghastly things I learned about ants:

Ants don’t play.

Male ants are born without mouths in some species because they don’t live long enough to need them.

Ants are as violent and nasty as people. Like us, they’re their own worst enemies. In addition to the constant fighting and raiding that goes on between colonies, some species have evolved to be particularly horrible to one another. Like the slavemaker ants who enslave members of other colonies. Or one species whose queen will sneak into a neighboring colony and start quietly cutting the head off the host queen. “When this is accomplished, sometimes only after many hours, [she] takes over as the sole reproductive, and the colony eventually comes to consist entirely of her offspring and herself.”

Self-sacrifice actually makes sense for an ant. This one is hard to wrap your head around. Most ants can’t reproduce (that’s the queen’s job). So whether or not an individual survives makes no difference to evolution, since that individual won’t be passing on their genes anyway. What’s important is that the COLONY survives. For us, personal survival is an overwhelming imperative. But for an ant, survival is just one of several options. Well, one of two, I guess.

They have some of the worst jobs imaginable. Take, for example, the honeypot caste. Their job is to store food for the colony like a living refrigerator. They wait back in the nest while workers stuff them with food. In some species they get so bloated they can’t even move.

They spend most of their life doing absolutely nothing. They don’t even sleep. They just… stand there. For close to 80% of their lives. If I try hard I can kind of picture being a cat and spending my life sleeping in another man’s chair. But I can’t imagine what it’d be like to just stand still most of your life. For an attempt at this see Buñuel’s Simon of the Desert.

They’re phenomenally stupid. With their beautifully simple set of behaviors ants can seem a lot like robots. Really stupid robots. For example, they recognize dead ants based on a chemical that corpses give off. But what happens if you spray the same chemical on an ant who’s still alive? “…they are picked up and carried, unprotesting, to the refuse pile. After being deposited, they clean themselves and return to the nest. If the cleaning was not thorough enough, they are sometimes mistaken a second or third time for corpses and taken back to the refuse piles.”

I mean it, unimaginably stupid. So here’s one of the most ridiculous things I’ve ever heard. Army ants travel in massive columns which advance by having worker ants rush out just beyond the advancing edge and then turn back in, to be replaced by another wave of workers just behind them. So far so good. But “when masses of workers are dumped onto a clean flat surface or are cut off from the rest of the colony by rain, they commence ‘circular milling.’ In this bizarre formation workers go forward and inward with the crowd but not outward in a centrifugal direction, so that the whole mass continues to circle round and round until all the ants are dead.”

Circular milling in army antsCircular milling in army ants
Posted in General | 4 Comments