CTF project is a multi-agent capture-the-flag framework for education.
This project was started by Jason Rohrer during the fall of 2000 and was initially used to teach CS 472, Introduction to AI, at Cornell University.
A homework assignment was given that asked students to design a CTF agent for the framework.
Students in the class responded to the assignment with great enthusiasm, and many of their final agents far exceeded our expectations (one student group went so far as to design a genetic algorithm to evolve a team of agents).
CTF forces students to explore the issues surrounding agents that operate in a limited information environments.
The framework is flexible enough to allow almost any possible implementation of agent control, from the simplest reactive agents, to agents that query powerful knowledge bases, to neural network agents that are trained by back propagation or reinforcement methods.
When using this framework at Cornell, we left the assignment open-ended. However, you can use this framework in your own class to teach a specific agent control concept (by forcing every student to implement a reinforcement learning system, for example).
Here are some key features of "CTF":
- Runtime loading of agent classes-- plugging new agents into the framework is incredibly easy
- Runtime loading of obstacle maps
- Automatic round-robin tournament system
- Automatic grading-- an email-ready message is generated for each student team at the end of the tournament (a script for sending out the email messages is included); the point system can be completely configured
- Assignment handout-- click here to see an example of the instructions we handed out to students for CS 472 at Cornell
- Licensed under GPL-- if the framework doesn't work for you as is, you can improve it yourself