Wednesday, 21 July 2010

Procedural swarm

You've undoubtedly seen on the interwebs that Valve have released Alien Swarm, a Source engine based top down four person coop shooter for free.

What you won't have seen - and what is really exciting - is that you can enable both the Source AI director and tile-based procedural generation of levels from the console.

Now that is game changing.

I'll write more about this later.


kikito said...

Moar. Now. Pliz. Brain meltz.

VRBones said...

Awesome. I'd downloaded it last night to have a look specifically if it contained the AI director and codebase. Nice find indeed (including a great platform to develop even more procedural level generation ideas)

Andrew Doull said...

More useful commands:

The Mad Tinkerer said...

I've played around with it quite a bit and tilegen has one serious flaw: it still uses BSP.

The potential IS there. you can tell Tilegen to make you a map and then compile it immediately. But the same thing that's prevented anyone who might be serious about making a RL-FPS hybrid for the last 17 years also holds true for Alien Swarm: BSP calculations take too damn long to make dynamic FPS map generation practical.

Also, you still need to add some features manually (the overview map requires Photoshop, of all things) and both the director and bots are in rough shape, which is why the director is disabled by default and the bots only work properly in Offline Practice Mode.

So yeah, it's clear that Valve are thinking the same thing we're thinking, but making procedural generation work in the Source engine is still a little ways off yet. Maybe as soon as next year though. Here's hoping!

The Mad Tinkerer said...

Actually, I was bit too negative. Although you can't just jump into alien Swarm and tell it to make dynamic levels for you (hey, if it could, I'm sure Valve would be making a much bigger deal of it), there are some very big steps in the right direction:

1) The way it does random generation is according to very flexible, specific rules designed to allow the engine to make most of the level design decisions on it's own. With a bit of tweaking, it could be used for procedural Zelda-style puzzle creation (way forward blocked - find tool/switch/bombs/key - use said item - continue), for example.

2) The tiles are created using a version of Hammer, which is kind of like Lego giving you a Lego-set-building-machine and a CAD-based brick making machine and telling you it's still all in beta and then you push them over and run to the machines and start having fun. So yeah.

3) The new global lighting system does cut down on lighting calculations significantly(based on past experiences with source map making), but not quite enough yet.

4) The source code is (will be) free. So if you know what you're doing already, it's not a bad start.