Welcome to the AI Development. Starting from 0.7.0 release it is possible for any user to create his own AI. Not only do we deliver a clean and simple API, we also allow you to make your AI in scripts. This should make it possible for anyone with a bit programming knowledge to make pretty good AIs. Also should it challenge people to build better AIs then the ones we had in 0.6. This page is all about telling you how to do it.
For all pages there is the rule: where examples are given, we will use Squirrel. We suggest everyone who wants to write an AI to read the Introduction as it will explain the basic concept.
Source & binaries
As of April 1st, 2009 NoAI is available in the 0.7.0 release. This means, you can get the latest stable release. Alternately you can get the latest source code by checking out from OpenTTD SVN repository (svn://openttd.org), or get compiled version by downloading a nightly build.
If compiling from source, the files for /src/3rdparty/squirrel have to be checked out from SVN at svn://svn.openttd.org/3rdparty/squirrel
Development milestones article documents most important changes to NoAI framework.
- As of 12 January 2009, NoAI was merged into trunk. The NoAI branch in SVN in no longer updated.
- As of 17 March 2008, it is no longer possible to write your AI in C++. The only language to write your AI in is Squirrel. See here why.
- For comments on all committed changes to the code, see the AI branch commits summary page: http://hg.openttd.org/openttd/branches/noai.hg/
- As of 20 July 2008, the -a option is no longer valid, and replaced with
[ai_players] none = YourAI =
- Introduction to writing an AI for OpenTTD
- Basics of writing an AI
- Things you need to know about writing an AI
- Common pitfalls when working with Squirrel
- Introduction to lists (TownList, TileList, ...)
- Find out how to retrieve error messages after failed build commands
- Trams, and everything related
- Documentation of all API functions can be found in the Doxygen output. For AI API only, check http://noai.openttd.org/docs/
- WrightAI - Builds plane routes only.