Xpilot is an open-source 2-dimensional space combat simulator which is playable over the internet. Multiple players can connect to a central Xpilot server and compete in many varieties of game play, such as free-for-all combat, capture-the-flag, or team combat. Each player controls a space-ship that can turn, thrust, and shoot. There is often a variety of weapons and ship upgrades available on the particular map in which they play. The game uses synchronized client/server networking to allow for solid network play.

Sel Bot

Xpilot-AI is being developed as a platform for research in autonomous agent learning.

Modifications have been made to Xpilot to create a system for testing artificial intelligence (AI) agent learning systems. The Xpilot client, which a player uses to join with an Xpilot server, is mainly used to display relevant information about the game world to the player and to capture keyboard and mouse input that it sends it to the server. Between each frame, the client receives from the server information that is needed to display the player's ship and the surroundings. This information is intercepted and converted into variables relevant for use with an AI agent. Keyboard strokes and mouse movements to control the ship are simulated.

New Version of Xpilot-AI

A new version of Xpilot-AI 0.9.0a based off XPilot NG 4.7.3 is now available!

This version only supports programming in Java and non-polygonal (old) maps.

The next version should support C, Python, and Scheme as well as include better instructions.

Check out our Google Code page and the wiki!

Installation

Our lubuntu livecd with Xpilot-AI preinstalled can be found here

To install from source (specifically on Ubuntu 10.10)

Download this script and run it with "chmod +x xpilot-ai_install.sh" and "./xpilot-ai_install.sh".

Or alternatively, use this code:


# Install dependencies
sudo apt-get -y install libsdl1.2debian libsdl1.2-dev libsdl-ttf2.0-dev libsdl-image1.2-dev libexpat1-dev zlib1g-dev gcc make openjdk-6-jdk
# Download and compile XPilot NG
wget http://xpilot-ai.org/downloads/xpilot-ng-4.7.3.tar.gz
tar xfz xpilot-ng-4.7.3.tar.gz
rm xpilot-ng-4.7.3.tar.gz
mv xpilot-ng-4.7.3 xpilot-ai
cd xpilot-ai
./configure --prefix=$PWD --silent
make --silent
make install --silent
# Download and compile AI code
cd src/client/x11
wget http://xpilot-ai.org/downloads/AI.c
wget http://xpilot-ai.org/downloads/AI.java
wget http://xpilot-ai.org/downloads/doAI.sh
chmod +x doAI.sh
./doAI.sh
# Create an .xpilotrc (if not present)
"" -> ~/.xpilotrc

You should now be able to run bots from xpilot-ai/src/client/x11

For example, check out our bot Spinner.java as seen in the wiki.


javac Spinner.java
java -Djava.library.path=. Spinner

Also, Morton in java for the new Xpilot is here.

Currently xpilot-ai is not supported under Windows or Mac. If you manage to build and/or use it, please let us know.

Old Version of Xpilot-AI

You can download xpilot-ai here

To install, follow the standard unix build & installation process.


tar xvzf xpilot-ai-0.5.7-src.tar.gz
cd xpilot-ai
# To install in a non-standard directory, 
# edit `config.mk' and change PREFIX
make
# run the next command as root if installing globally
make install

Tutorials

Library Reference

Sample code