Shaolin kode-fu

Yesterday I didn't get a spot of work done due to pulling a neck muscle while sleeping. It's kind of annoying to be bed-ridden when you could be procrastinating.

Instead, I did a bit of research. Me and Tommy stayed up late taking a look at the recent fruits of the demo scene, looking for inspiration for fancy viz for our game. Previously, we've mainly been concerned with just getting the functionality working correctly, and art has been on the backburner. We're getting to the point where we have to start thinking about pulling something a little special for our graphics.

It's been a while since I've looked at stuff from the scene. I used to think that the demo scene was basically just about making a few shiney metablobs with a nice bit of camera work, or some graphical effect so intense that there's no CPU left over for interaction, game play code, or AI. They were beautiful aphrodisiacs as far as technical fetishism went, but there was never any real artistic cohesion to them. It was mostly just procedural navel gazing.

Perhaps I didn't look at a broad enough range of demos, because coming back to them, I feel like my presumptions were wrong in fifty different ways. There are now such a wealth of different techniques being nailed in real time that what separates a good demo from a merely mediocre one seems to be the direction - using the effects to good effect, rather than just for the sake of showing off some mad coding skill.

Check out Chaos Theory by Conspiracy, a 64K demo - one of my favorites from our binge last night. If you watch your Task Manager's memory use per application, it's kind of amusing. You see chaostheory.exe starts with just about 1meg at the start to around 213megs after all the procedural content has been generated. Amazing stuff.

I'm told that there are far better demo examples than this (despite it being completely impressive to me) so if you have tastes for something a bit different, have a look around: pouet.net and scene.org have a metric eyestab-tonne of others to get some inspiration from.

We look at these visuals with envious eyes: They're all realtime, so we know that they ought to be possible to produce in games. You get to wondering why more games don't have this level of polish, in or outside the indie arena. Tommy points out that it's easier to make these sorts of things scream when there's no interactivity to worry about. I've been doing some fractal tree based stuff for our menu (not dissimilar to the matrix nesting tricks I've seen in some of the demos), so I can attest to the difficulty of enabling users' input to be a persistant part of the parameter set. If you don't bound your input ranges to something manageable, you end up with crappy looking procedural results. If you bound them too tight, you lose the feeling of interactivity. It's tricky, and certainly 'part art, part science'. The demo scene has a lot to teach indies and mainstream game developers alike, but developers have to be aware that there is not total overlap between the two. Just because something runs realtime doesn't necessarily mean it's suited to be interactive - that's not (often) the aim of a good demo.

I don't mean to sound negative about that. We have massive respect for the community, and hope to some day learn more deeply of their ways. I really feel like joining up with the scene and learning from their community would be like training under some kind of Shaolin Master (Will Wright obviously feels the same, because a lot of his Spore crew were supposedly recruited from the scene) but as Bruce Lee's philosophy of Jeet Kun Do states, all learning should be tuned toward discovering your own inherent style. Don't follow one master blindly.


Pictures from a Place in Space.

Here is Tommy's house in North Carolina. It's built into the side of a hill because his family couldn't afford all the walls.

This is what life looks like if you're a sexual predator, I should imagine.

These are important scribbles, or if you are David Jaffe, An Entire Design Document . Zzziiinng!

That's Tommy, playing Street Fighto 2. He doesn't look diabetic, does he? Well he's not! Or atleast, he was misdiagnosed with Diabetes type 1, but actually has the type 2. For the past month, he's been injecting himself with insulin needlessly. NEEDLE-LESSLY. HAH! Insulin will probably be his gateway into Heroin.

It was a scarey time when he was diagnosed with type 1... for me. I was really worried for him, and even got "Sympathy Diabetes". Sympathy Diabetes is exactly like Diabetes, but without any of the symptoms of Diabetes. It is a well documented phenomenon - the phenomenon of being actually fairly healthy despite everyone around you ruining it all by being sick. (Hey look, there's Captain Torso who we punch because he can't fight back!)

This illustration on the top of Tommy's Teenage Mutant Ninja (Hero if you're from the UK) Turtles: Turtles in Time cab makes me laugh every time I see it, which makes work really difficult since I like to keep looking at it all day, or when I'm sad, which is all day.

Here's my rig. As you can see, I have been drinking rather stupid amounts of coke. Lazier games journalists like to measure game development effort in litres of coke and slices of pizza. I don't know why. Doesn't seem to me like a particularly scientific way to measure effort. Journalists also like to mark games' quality using marks out of ten, though, so at least they're consistent with their pointless metrics. Don't get me wrong: I like journalists, but only when they are using their powers to make fun of game developers, because they're all asking for it.

An alternate view of my desk. I eat ginkgo pills even though I'm not sure if there's any conclusive research to show that they actually improve your focus. The packaging re-iterates this by saying "Improves Focus ASTERISK Only Joking". Similarly, I have no proof of this, but I think they definately cause cancer.