Data-Driven Games

This is a project is done in collaboration with the Cornell Database Group -- see the Games page there.

Overview

Computer games are becoming the next frontier for social interaction between humans. The Entertainment Software Association estimates that computer and video game software sales in 2005 were $7.0 billion. Game development is a particularly interesting design challenge because it requires the design team to have expertise in many different areas: art, music, engineering and so on.

Historically, game developers have solved this problem by separating game content from game code; games designed this way are called data-driven. While data-driven games may have different architectures depending on their genre, they all have roughly the same design; the following figure shows the architecture of a typical data-driven game.

Recently, the trend has been to move as much game content as possible out of the engine. The data used to define the characters or story-line is increasingly being stored in XML files. Modern design even separates logic specific to the game play from engine code, through the use of scripting languages such as Lua or stackless python.

In this project we are working to further the development of data-driven games by adapting techniques from the data management community and applying them to game development. Databases have revolutionized the design of data-driven business applications because they separate the processing of data from its specification. The designer need only specify the type of data desired, using a query language, while the query processing engine processes this request automatically and efficiently. Our goal is develop a general framework that allows game designers to do much the same thing. This framework will allow them to create worlds with large numbers of NPCs, all capable of highly expressive behaviors. In this framework, the designers need only concentrate on the specification of character behavior, without having to worry about how to implement it efficiently.

Publications

People