Call To Power 2 API
19 Memorial Drive West
Bethlehem, PA 18015-3084 USA
Welcome to the CTP2 API Web Site. This project is being performed by the
at the Computer Science and Engineering Department, Lehigh University.
This is a DARPA-funded project, part of the Transfer
The Transfer Learning program
aims at developing
and evaluating algorithms that enable computers to
apply knowledge learned for a particular, original
set of tasks to achieve superior performance on new,
previously unseen tasks.
As part of this effort, we developed an API for CTP2, which enables
an agent to command the AI player in CTP2.
CTP2 was developed by Activision.
The source code of CTP2 is freely available
in the Apolyton web site
(please refer to the Apolyton web site for details about CTP2 use).
Status (May, 2007)
- We developed the freely available C++ API for CTP2 as described above (CTP2 is also implemented in C++).
- Here is the documentation of the C++ API
- Here are the header and source files for the C++ API. These are for reference; to build the complete project the entire Lehigh project source is required.
- Here is the comprehensive list of messages specifying the network protocol. These are the messages you will need to use if you wish to directly integrate a client program with our modified Call to Power 2.
- The networking API allows for client-side programs to connect (via TCP/IP) and control a player within a game of Call to Power 2 without requiring knowledge of the low-level details of internal game code. This was the topic of Joe Souto's Master's Thesis, which you can refer to for more information.
- We are currently working on the integration with both TIELT (NRL's Testbed for Evaluating
and Integrating Learning Techniques) and LIET.
- Here are the java files for a LIET agent which uses this integration: Main and Agent
- Here are the Knowledge Base files required for integration of CTP2 with TIELT or LIET: Game Model and
Simulator Interface Model
- Here is a video showing a run with the networking API (and a partial integration with TIELT)
- Here are the specifications for the actions possible from the networked client
- Here are the specifications for the percepts visible to the networked client
- Here are the communication specs for the low-level messages sent from from the networked client
- Here are the communication specs for the low-level messages received by from the networked client
- We will develop transfer learning
scenarios, which can be used to test machine learning
algorithms. These scenarios will be made available in this web site.