Ben Gonshaw: Digital Media Theorist & Game Design Consultant | ||||||||
|
FAR FROM PERFECT
18th Novenber 2004
The door swings open, and through the flickering, sickly glow of a strip light you struggle to catch a glimpse of a possible foe amongst the debris-strewn room. Games have been using textures and the odd object to describe decay or mess. Making things tidy is easy, but making them rough and messy has traditionally been more difficult.
Currently level designers have to place every item, source it from an inventory, rotate it and assign it coordinates by hand. The number of objects needed to be placed will rise dramatically with 3rd Gen 3D consoles. An intelligent solution is required to prevent games either taking forever, or needing 40 level builders.
A tool that works on five levels is needed:
- Define Object Groups
- Define Object Zones
- Assign Object Zones.
- Intelligent Placing Rule Types
- Intelligent Placing Assignment
In the editor you create a group of objects suitable for a particular place in you game world, such as an urban garden, suburban garden, civilian house etc. This list is populated with all the possible objects that could appear in that place. Then subgroups are created that contain all or one of the parent object group, for example ‘front room’ or ‘kitchen’: these are the objects that will be placed in a particular zone of a house. Then using the level editor, draw out a zone and assign it a type. So, first define an object group of civilian house, then an object group of kitchen and draw out an area of the house in the editor marking it as kitchen.
Now the AI layer kicks in. It places large objects near walls, and smaller objects near open space, so that the player can still navigate, it never places objects inside each other, and it mostly places small objects on top of larger ones. If necessary, the level designer can tweak the placement rules, and assign them to a specific zone. For example, they could do the inverse of the standard rule to make a pile in the centre of the space with smaller objects nearby, or other variations.
The obvious flaw is testing the gameplay in an environment where the littering has been digitally strewn. To make sure that this can be managed, the software generates actual instances of objects in the editor, so that they can be rotated, moved or deleted as necessary. A room’s mess can be regenerated as necessary, creating a new set of instanced objects in fresh positions and orientations.
The AI layer is neural-net driven. Any adjustments that need to be made to object placements are used to retrain the network. This way it becomes better at placing objects as the project goes on. The intelligent tool takes some of the strain out of level creation. However, in its early, untrained days, it cannot be relied upon to give good results. However, as training increases its performance, future projects will benefit immensely.
This is just one way that intelligent tools could help to speed up game development. I will take a look at other applications soon.
©2004-5 Ben Gonshaw All Images copyright of their respective holder, including (but not limited to) Sammy/SNK, Capcom, Marvel | About Me CV |