wiki:Scenarios

Version 5 (modified by jherwitz, 13 years ago) (diff)

--

Scenarios

Quagents revolves around scenarios. A scenario is designed to be a modular cluster of code consisting of:

  • A set of changes to the server, which constitute global "rule" changes. These must be able to be enabled and disabled using Quagents Configuration Options.

This page describes currently implemented scenarios that users may immediately access. For more information, see Quagents Application? and Scenario Development?.

Wumpus World

We would like to simulate the Wumpus World in Quake. Invisible items will be used as senses that the quagent can detect using the radar function.

  • Created stench, glitter, and breeze items.
  • Able to create maps containing these items and make them invisible.

To do:

  • Create a whole Wumpus World map.
  • Create random maps.
  • Client AI.

Capture the Flag

We have implemented a Capture the Flag (CTF) scenario into Quake. The goal of this scenario is to produce data on how players act in throughout the course of the game. Currently, the scenario produces tuples of location data, timestamps, and audio tags. This data will be used for further experiments, such as using machine learning to create a general model for Capture the Flag. The scenario could also be extended by replacing human players with collaborative agents.

There are currently two implementations of the CTF scenario implemented in Quagents - one clientside and one serverside:

  • The clientside scenario is implemented using only the Quagents3 Java API. In it, the player controls a Quagent using Java swing listeners. A simple GUI is provided, which provides experiment control. Additionally, audio recording is automatically handled within the client code, so the user need only attach a microphone. For a more detailed description, see Quagents Capture the Flag?.
  • The serverside scenario is implemented from within the Quake VM. Enabled using Quagents Configuration Options, it automatically records all player's data (as described above) and uses a trap function to write the data to a logfile within the ioquake3 private filesystem. The user must, however, start up an external voice recorder to record audio tags. The Quagents team has provided one of these for general use, located in quagents/client/auxquagents.

It is important to note that this scenario is distinct from the native Quake 3 Capture the Flag mode. The goal of the scenario is to produce usable data for further research, not to "win" the game and get the highest score.