Link to Home Page link to index
interfacing and testing icon Interfacing and Testing
The AI work bench (testbed) has been developed over many years and uses a generic in-house interface that allows all engines to plug into different platforms with the minimum of fuss (see Fireball interface). The interface to run (for example) Chess and a game of Snooker uses an identical set of interface classes. This means that any new game can immediately be dropped into and used with an established test console. Also the UI programmer can leave much UI interface code completely unchanged when switching to a new engine.
The benefits of this Work Bench are enormous for both development times and also reliable testing. It is a great asset for the 3rd party developer for checking and easing any development, as it allows the 3rd party UI testing of the target engine to be compared with the work bench results. The Work Bench can be re-compiled to two different levels. The basic level allows the 3rd party developer to play games, set play level and characterisation, step forward/backward through games and load and save games. If re-compiled with extensions enabled, the 3rd party developer can play tournaments for testing and also easily add their own commands for their own testing needs.
Another aspect of in-house generic components is the gradually evolving 3D engine, based on DirectX, that is the core of our later 3D projects. It is this that gives us the ability to create environments that can be explored in 3D, with advanced use of vertex shaders to provide a richly textured environment with realistic lighting effects, such as reflection maps. Each new project inherits the functionality developed for the previous project in extensions to the generic library.