The OCTI Player is a GUI (Graphical User Interface) program written by Charles Chiou. It is a work- in-progress and is slowly being developed to function as a stand-alone application to play the game of OCTI.
For more background information, please read the FAQ.
Browse the OCTI robot SDK source code online.
Screen shot of X-Pilot PDA running OCTI online
OCTI Trainer Program
The OCTI Robot SDK is designed to provide the following interfaces to programmers and meet the functional requirements.
This is the latest snapshot of the OCTI Player running on Linux
If you would like to participate in the development of the OCTI Player or the SDK, please sign up to the mailing list .
OCTI Player is a GUI (Graphical User Interface) application designed to run as a stand-alone program capable of playing against online users, as well as to provide an interface for hosting A.I. plug-in modules.
There are three goals to the development of OCTI Player:
The OCTI robot SDK is a package that facilitates the development of A.I. modules that the OCTI Player can load and configure in runtime. It contains a set of header files and makefiles and skeleton implementations that enables SDK users to develop their core logic and produce either Windows DLLs (on Win32 platform) or UNIX shared-objects (Linux, Solaris, FreeBSD, etc.) for the OCTI player.
The purpose of the plug-in SDK is to allow OCTI A.I. robot developers to concentrate on A.I. algorithms and logic. The OCTI player provides the GUI and networking capabilities that the plug-in/module may utilize using the API made available by the plug-in SDK.
Currently, the SDK is offered in the C programming language. It is trivial to create a C++ binding based on the C-code and hence we will create a C++-binding once the SDK is ready. We also realize that there are many other programming languages that are suitable for writing high-performance A.I. programs other than C or C++. Therefore, when we have time, we will create bindings for other languages such as Java, PERL, Lisp, ML, Haskell, etc.
The OCTI Player is about 50% completed.
Unfortunately, due to the lack of time and the author's laziness, progress is slow. If you would like to contribute, please contact the author or subscribe to the mailing list.
OCTI Player is written in C++ and it uses the QT GUI library. It is primarily developed on a Linux workstation using GNU tools. We also compile a Windows 95/98/ME/NT/2000/XP, ... versions once a stable base code is ready. We shunned using Java as a GUI platform because of (obvious) performance reasons. QT is a superior platform for GUI development and the portability is reasonably well. It enables us to compile native codes for different platforms and use the DLL or shared libraries as the mechanism to create A.I. plugins. It also means that we can create better language bindings for the SDK, as well as native package distrubutions.
QT as a GUI platform is expanding rapidly. On the desktop or workstation, we will be able to compile OCTI Player on most UNIX OSes, Linux, all variants of Windows, and the MacIntosh. It also looks like that we can compile it for handheld/embedded devices with QT framebuffer support. It would be great if QT would later support Windows CE. Bt then we would certainly cover most platforms!
It is not available for download yet, even though Linux and Windows versions were submitted to the Yale OCTI tournament in August, 2001. Once more substantial work has been completed, the author would feel more comfortable in releasing public versions.
The SDK development has just been started and is currently unavailable for public download. However, there is a daily snapshot of work in progress which you may review.
The author does not intend to publish OCTI Player in source-code format. Although the source code would be available for those who request for it and those who would like to make contributiions. The reason being that OCTI Player uses a lot private utility classes that were written for other applications that would be used in commercial products. This does not mean that we have secrets to protect in OCTI Player, it just means that we would like to keep things uncomplicated. Since OCTI Player would be a stand-alone application, it would be released in binary forms. Also, it is ideal for a small number of core developers to work on the GUI. Please send an email request if you would like to have access to source code.
The robot A.I. SDK would be published in open-source. More specifically, in BSD-style license. That means anyone may modify, redistibute and do whatever he/she wants with it.
For those who like to create compatible applications for whatever reason. We will also publish the complete communications protocol so that you may create your own GUI (perhaps you're ticked-off that OCTI Player is not open-sourced?)
Copyright ¨ 2001-2003, SELFSO.COM . All Rights Reserved.