Article
sandbox_paralleltease.medium

You Had Me at “Industrial-Strength Prototyping Environment” a.k.a. AI Sandbox (Video)

Alex J. Champandard on September 27, 2008

It often shocks me how modern game engines are primarily built around their graphics pipelines. Now I understand modern AAA games must look good, but that’s not what I’m talking about. What bothers me is the fact that gameplay is relegated to a second class citizen in the process. For instance, in your game & engine of choice:

  • Is it possible for you to load the game quickly without having to wait for other systems to initialize?

  • Does your engine support automated testing in accelerated mode — without graphics?

  • Can you keep on the cutting edge of the AI and gameplay code without having to sync. all the latest graphics assets and code?

  • Is all your gameplay related logic easy to reload dynamically on the fly without having to restart?

  • Can you build the rest of the engine’s libraries in release mode and only keep the AI and gameplay in debug?

Screenshot: AiGameDev.com’s upcoming sandbox. Video below.

Now, there are certainly studios that support such features to reduce turn-around times, but I’ve always been curious what would happen if one would build an industrial strength prototyping environment around these ideas. Specifically:

  1. Entirely designed for prototyping of gameplay, AI, animation, and physics.

  2. Ignores eye candy when it has a price, but tries to have style otherwise!

  3. Designed for fast turnaround times, compiling, loading, etc.

  4. Based on existing libraries, but Lipo-Sucked™ where possible.

  5. Combined in a modular way using en elegant shared model.

Anyway, that’s something we’re working on. The basics are in place, the results look good, and the code comments will follow shortly! In the video below you’ll notice our lightweight but stylish assets & visual style, as well as the quality motion capture (no blending yet).

This bodes very well for the next few months in my opinion! If you have any questions or comments, post them below or in the forums — as usual…

CREDITS: The code was developed in collaboration with Eric Broersma and Ziv Even Zur, who worked on the whole applicatoin, but in particular the MVC architecture and the physics integration as well. The character model was created by Ronald Kalchhauser, who also retargeted the motion capture animations.

Discussion 6 Comments

zoombapup on September 28th, 2008

Looking good so far guys. I'd probably add some kind of scaling texture to the floor (a regular grid with known unit sizes) just to be consistant and to allow for a bit more visual measurement when doing animations (like "how far is this guy moving in 1 second"). Character works well though. Maybe need to alter some of the environment hues to be a bit more like the character (more reds/yellows). But I'm sure an artist can do that for you, or you can use a colour wheel. Here's a useful app for testing out various colour schemes. [url]http://kuler.adobe.com/[/url]

alexjc on September 28th, 2008

While Ziv and Eric did much of the coding, and Ronny did the character model, the visual look is something I take the blame for entirely. :-) The floor has a regular grid to it already, every 5 meters there's a dark patch. I tried having a grid line every meter but it looked a bit too much. Do you think I should make it more frequent? The color of the whole scene changed just before I made the video, as I finally got the stencil shadows to work with the procedural generation of environments. So it is a bit more gray (e.g. the floor) than the rest... But I like the fact that the object stand out in a way. Alex

Dave Mark on September 28th, 2008

I think it would be nice to have "usable" objects to scatter around. They can either be sterotypical representatives like med packs and guns or they can simply be labeled boxes (i.e. A, B, C). That way we can assign them to whatever we need to in code and use our imaginations when we watch. Otherwise, this looks like it will come in handy. We can test individual stuff, 1-on-1 stuff, group things, coordinated stuff... very nice.

kfields on September 28th, 2008

Wow! I'm amazed how fast this is coming together. Nice work guys!

alexjc on September 28th, 2008

[B]Kurtis,[/B] The looks literally came together in a couple of days of hacking, textures, shadows, textures and materials, export pipeline (that's another story :). But looks can be deceiving and don't reflect much! Eric and Ziv have been working on this part time for quite a few weeks now. That said, it's not really been about the [I]quantity[/I] of code; overall we spent more time prototyping and figuring out nice design patterns to plug everything together. The next steps will be actually moving code around, cleaning things up, removing parts of code where necessary, and documenting the most important parts. [B]Dave,[/B] I opted running animations on purpose because it requires less interaction -- it's a good way to get started. But we have some motion capture for interacting with things too, and of course a simple gun model! Alex

Ian Morrison on September 28th, 2008

This looks really cool. I've got to admit, though, I'm more eager to look at how the internals lock together than to prototype in it... well, for now. ;)

If you'd like to add a comment or question on this page, simply log-in to the site. You can create an account from the sign-up page if necessary... It takes less than a minute!