Procedural Worlds to Challenge Game AI: Practicing with CityEngine (Contest)

Alex J. Champandard on February 2, 2009

One of the hottest topics of 2008 in the games industry was procedural world generation, which got a lot of attention due to the release of Spore primarily. The technology hasn’t swept across the industry yet; procedural techniques are still confined to a few games in practice, but with the growing costs of generating next-gen content this trend is likely to grow. There’s little doubt that we’ll have to deal with this problem as game AI developers very soon, so here’s how you can stay ahead of the curve!

This week for the developer discussion, AiGameDev.com has teamed up with Procedural Inc. — the team behind CityEngine. The topic for the discussion:

“How does procedural technology
and the generation of detailed 3D cities
affect our AI code, and what can we do
to prepare for this paradigm shift?”

Procedural Inc. is providing detailed 3D city models as a bonus to all new members of AiGameDev.com’s new continuous training program this week (just recently relaunched). However, you can also win a copy of these cities by entering this week’s discussion, and posting a comment on the blog or in the forums. The author of the most interesting and insightful comment will receive the 3D files of high detail cities generated by CityEngine.

Screenshot 1: Procedurally generated version of Manhattan using CityEngine.

Discussion Topics

To give you a quick idea of the kind of topics you can tackle, here are a few more questions:

  • Do we need improvements to our tools & data pipelines to deal with procedurally generated worlds during development?

  • How can we build AI behaviors to cope with the wide variety of cities that procedural algorithms may generate?

  • What’s a good way to make incremental improvements to our AI technology to support procedural generation of worlds?

You should post your comments below on the blog or in the corresponding forum thread. The deadline for this contest is Monday, February 9th at 18:00 CET.

Screenshot 2: Venice as an automatically generated peninsula using CityEngine.

Prize Details

The cities you’ll receive for posting the most insightful comment in this discussion are detailed 3D models that contain details to challenge AI. These models are being created by Procedural Inc., generated automatically based on user design using CityEngine.

You can use these 3D models whether you’d like to:

  1. Test your AI algorithms against procedurally generated worlds to see how well they cope, or

  2. Try building NPCs for large worlds too see what kinds of challenges Rockstar’s AI has to deal with!

Don’t forget you can download the trial version of CityEngine if you’d like to experiment with the software, but you won’t be able to export cities without a license. If you contact Procedural Inc. for further details, be sure to mention you heard about them through AiGameDev.com!

Note: The screenshots in this post are taken from the Procedural.com website, and are not indicative of the 3D cities for this contest or the ones you’ll receive when joining as a member to our continuous training program this week. The models are still being custom generated by the CityEngine team, specifically to maximize the challenges for AI (e.g. navigation).

Get started and post a comment below on the blog, or in the corresponding forum thread.

Discussion 3 Comments

alexjc on February 2nd, 2009

Pascal Mueller of Procedural just sent me a screenshot with an idea of the cities they are working on. You can find the [URL="http://forums.aigamedev.com/attachment.php?attachmentid=77&stc=1&d=1233596640"]screenshot here[/URL]. Looking pretty cool! Alex

zoombapup on February 2nd, 2009

artistically quite interesting. I kinda prefer introversions one though :) (go indie!!). Incidentally, I'm going to experiment with procedural generation using AI agents this week. Testing out a thesis I discussed with Prof Gabriel (of lisp fame) a few years ago. I'll post a screenie if it doesnt look completely horrible.

simonfdl on February 3rd, 2009

Very cool, looking forward to playing with the bonus content :) I've always been interested in the city generation but never had a chance to implement it, I remember reading Muellers SIGGRAPH 2001 paper quite well still. My only work in procedural generation was a SpeedTree style system and editor plus the typical landscape generation methods for the same editing system (and foliage to go with it). I think procedurally generated worlds should fit perfectly into current data pipelines assuming that everyone is working with a reasonable intermediate format so the MAX -> exporter -> intermediate format step turns into procedural tool -> format convertor (if needed) -> intermediate format. There may also be some checks / mesh operations needed on the data depending on how good the output is from the tool but these same steps are possibly being made on the meshes from artists also. The main thing to get right in using procedurally generated content is advancing the tools for the designers/artists to easily get the final output they want, apart from games based around the concept of the procedural content there will likely need to be specific buildings in certain places or different types of buildings in other areas. This could be integrated into the tools or the output from the tool would possibly go into MAX/Maya for adjustment first (which reduces the use of the procedural tool as it's harder to regenerate the procedural elements once edited!). Using mostly procedural content in a game does give a few advantages in that certain parameters can be exactly specified to help with the gameplay / AI. For example it could assure us that the roads are always 4metres wide, buildings are always separated by at least a 1metre gap, knowing that these restrictions are being kept to could possibly help with path planning / agent movement. A mesh generated by an artist may not meet these requirements exactly and may require a checking tool / iteration to fix the art. If there was a requirement later in the project to expand the gap between buildings to 1.5metres then it would just be a case of setting the procedural tool off again. Possibly a slightly abstract example but the ability to rebuild to new parameters is a powerful one.

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!