Cultural Training Simulation

2007-2008

Please see the CAGE page for a more recent summary!

A project that garnered both the LCCD and its supporters' interest is the idea of a cultural training simulation.

The first implementation of this "cultural training simulation" idea on which I worked was the Cultural Afghan Villege Environment (CAVE) game. This was developed using the Cultural Adversarial Game Engine (CAGE), a software platform developed by LCCD allowing quick realization of interactive games. The aim of the project was to create a virtual Afghan village -- complete with political leaders, religious leaders, elders, normal villagers, farmers, appropriate buildings/scenery/weather, et cetera -- in which to explore different methods of communicating with the villagers.

Jewel cover for CAVE project

A description of the actual CAVE game can be split into two parts -- the cultural/training portion and the graphics and visualization side. First, regarding the cultural side of the game, the laboratory collaborated with some political science folks -- terrorism and Middle Eastern specialists like Aaron Mannes -- to produce realistic states for our village. Believable scenarios were also created involving United States soldiers entering an Afghan village with different goals in mind -- introductions, helping with agriculture, aiding in schooling, bringing medicine, investigating reports of insurgent activity in the area.

The scenarios above were then transformed into a sort of script, one part to be read by the military or government user, the other to be performed by the CAVE program. By inserting different decision points into the script, we were able to develop a decision tree for the game to follow. For example, while entering the village, the CAVE software could present the user with a number of different options like "greet villagers in this (acceptable) way," "greet villagers in this (unacceptable) way," "drive past villagers," or "exit vehicle and walk into village without acknowledging visitors." The user would then select an option (or branch to follow in the decision tree), and the CAVE software would change the game state appropriately.

The game itself focuses on a subset of the Afghan villagers. Each starts with a preset opinion of the American forces (ranging from -1.0 to +1.0). These "cultural compatibility indices," or CCIndices, change depending on the path the user takes to reach the end state of the game. At game's end, the CAVE software displays a summary of the user's performance and a set of potential next actions. For example, if the user treats the Afghan villagers well (respects their customs, follows protocol, does not overstep bounds), a possible next path could be to return later as a friend of the village. Returning as a known person could yield better results were the user to ask less superficial questions, like those regarding known terrorists in the area.

Final results screen in CAVE program

Secondly, we'll split the visual portion of the CAVE game into two parts: the GUI and the rendered 3-dimension scenes. The GUI was created in a mixture of Macromedia's Director 2004 and Adobe's Flash CS3. Director and Flash interact well together, so we built the main menu in Flash (for aesthetics) and the main framework of the game in Director. Since a large portion of the game was followed a user-selected path through our decision tree, Director allowed for easy reuse of graphics, buttons, and options common to every scene. Our tree was stored in a series of XML files, and both products mentioned above provided acceptable functionality to deal with reading, parsing, and writing XML files.

LindenLabs Second Life logoA major part of this project was developing the virtual world into which our users are intended to immerse themselves. After some deliberation, Linden Lab's Second Life was chosen as a type of game engine for the project. Second Life is an online world subsisting on user-created content ranging from different hats for avatars to elaborate islands created to sell a product or enshrine a favorite musician. We chose Second Life both for its avant-garde attitude toward human-computer interaction and, more importantly, for its stable online presence.

Second Life's in-game modeling and texturing tools were not as encompassing as we desired, so Autodesk's 3d Studio Max was used for modeling building, landscape, humans, and other objects for the village. Adobe's Photoshop CS3 was used for texturing and bump mapping. Since Second Life uses a different set of primitive objects than 3d Studio Max, an elaborate mixture of MaxScript scripts, Ruby scripts, and Second Life "notecards" were employed to import models onto the virtual island.

Second Life does, however, provide a fairly extensive library of functions to be used in scripting. Scripts were applied to objects ranging from tea cups and chickens to the village elders and even the player's US soldier-avatar. These scripts, written in the Linden Scripting Language (LSL), gave us access to particle systems (steam for the tea), voice ability (chatting between avatars), and movement (chickens aimlessly wandering about a field).

In-game screenshot from CAVE program

The AAAI will publish a paper on this project titled CIG: Cultural Islands and Games in the second half of 2008.

Please see the CAGE page for a more recent summary!