OpenTTD is an open source simulation game based upon the popular Microprose game "Transport Tycoon Deluxe", written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features. I have worked on the development of the AI library of OpenTTD and created several libraries that are used by other AIs for OpenTTD.

I have written an AI that plays this game autonomously called NoCAB (CAB stands for Corniel and Bram, the former was a collegue at Tjip).


NoCAB was originally released to compete in the Tjip competition in 2008. Then it was not finished yet and performed quite bad as some of you may recall. At that point NoCAB could only use trucks to move cargo around. Ever since that period NoCAB has continued to evolve, the release of NoCAB 1.0 saw the usage of Aeroplanes, Trucks and Busses. Version 1.18 introduced Ships to NoCAB's portfolio and finally version 2.0.0 added train support.


NoCAB is and has always has been designed to be a competitive AI. Although I doubt it is competitive against experienced human players it can hold itself against all current released AIs (as of July 2010). Initially little to no consideration was given to the various NewGRFs designed for OpenTTD, but ever since version 2.0.0 was released more attention was paid to make NoCAB work with these. The latest version (2.1.0) should work with most NewGRFs if it does not please file a bug report in this thread and I will look at it.

The features of NoCAB are as follows, please note that this is not an exhaustive list:

  • All vehicle types are represented and can be used by NoCAB, with the exception of: helicopters and trams.
  • Custom A* implementation designed for speed - using an altered Fibonacci queue which is quicker than the library's Binary queue.
  • During play, rails and airfields can be updated to accommodate faster trains and bigger aeroplanes respectively.
  • During play NoCAB plans out different routes and uses subsum algorithms to decide which ones to build / upgrade depending on the amount of money available and the costs / benefits of building / upgrading the said routes.
  • While NoCAB has no money to build new connections it uses this time to plan ahead, when money becomes available again.
  • Compatible with NewGRFs.

Code repository

SVN repository: https://svn.assembla.com/svn/NoCAP

With the release of NoCAB 2.1.3 I have decided to go on a hiatus for an undetermined period of time to work on other AI projects. While I will check the forum every now and than do not expect any new features any time soon. For the post with latest changelog: click here.

OpenTTD NoCab.png