Lehigh University

Call To Power 2 API

InSyTe Lab
Computer Science &
Lehigh University
19 Memorial Drive West
Bethlehem, PA 18015-3084 USA
Chad Hogg
Joe Souto
Hector Munoz-Avila


Welcome to the CTP2 API Web Site. This project is being performed by the InSyTe lab at the Computer Science and Engineering Department, Lehigh University. This is a DARPA-funded project, part of the Transfer Learning Program. 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.


2003 P.C. Rossin College of Engineering & Applied Science
Computer Science & Engineering, Packard Laboratory, Lehigh University, Bethlehem PA 18015