• Stars
    star
    532
  • Rank 83,377 (Top 2 %)
  • Language
    C++
  • License
    MIT License
  • Created over 14 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Now obsolete code accompanying the first (2005) edition of the book "Artificial Intelligence for Games"

About This Repository

This repository should now be considered a historical curiosity only.

The original version of this code was developed between 2002-2004 and included free with the book "Artificial Intelligence for Games". Over the intervening years, the code has become a less useful reference. The third edition of the textbook is considerably larger, and this code did not keep up with errata or improvements in the algorithms. I have not use the code in this repository for my consulting work in over a decade.

The third edition of the textbook does not mention this code, but includes considerably expanded and corrected listings in the text in a language neutral format. I would recommend that version.


Historical Information

The Artificial Intelligence for Games system.

Copyright (c) Ian Millington 2003-2009. All Rights Reserved.

This software is distributed under licence. Use of this software implies agreement with all terms and conditions of the accompanying software licence.

This code also contains portions of the AI Core engine.

Copyright (c) Icosagon Limited 2003-2007. All Rights Reserved.

Please see accompanying LICENSE file.

Installation

The code can be extracted to any directory.

Platform Compatibility

The software has been designed for platform indepedence as much as possible. The only file that may need altering for your platform is ./src/timing.cpp which currently wraps the windows multimedia timer.

Building

Building with Scons

The code can be built using SCONS, available from http://www.scons.org/. Simply cd (change directory) into the build directory and type scons.

cd build scons

To remove intermediate files after building (but leaving the library and demos):

scons -c ../src

Building with Microsoft Visual Studio 8 Professional

Solution and project files are included for use with Microsoft visual studio 8 professional. They may also work with Express edition, but I've not tested that.

Building with CMake on Linux

The code can be built on Linux (and possibly on other platforms) using CMake:

cd build cmake . make

Documentation

To build the documentation (see below) you must have doxygen installed (it is available from http://www.stack.nl/~dimitri/doxygen/ Simply cd into the ./doc/build/doxygen directory, then type:

doxygen aicore.config

to build the documentation.

Layout

The build process creates a statically linked library in ./lib which can be used with the include headers in ./include. The demo programs are built and placed in the ./bin directory.

Source code is contained in the ./src directory, and documentation is in the ./doc directory, in particular the reference documentation is in the ./doc/ref directory.

Documentation

The source code is heavily documented, and the contents correspond to the discussion in the "Artificial Intelligence for Games" book.

It is possible to create 'doxygen' documentation with the tags in the source code files, and a configuration for building the documentation is provided in the ./doc/build/doxygen directory. The doxygen configuration supplied provides only html output, since other output formats depend on how your machine is configured.

This is not currently targeted from the scons configuration, because scons suport for doxygen depends on where doxygen is installed on your machine.

Demos

To run the demos you will require OpenGL and GLUT installed on your machine, and the relevant DLLs or shared objects on the path.

More Repositories

1

cyclone-physics

The Physics engine that accompanies the book "Game Physics Engine Design"
C++
884
star
2

undum

A client-side framework for narrative hypertext interactive fiction.
JavaScript
333
star
3

layout

A page layout engine for Python
Python
17
star
4

gnoam

A specification for a DSL / generating engine for data-driven natural language generation (NLG).
C#
8
star
5

idm-django-utils

My house set of django utilities.
Python
8
star
6

thebigdev-flash

A utility toolkit for managing the complex hierarchies of communication in Flash games. Based on similar code used in current generation PC and console games.
ActionScript
6
star
7

mini-languages

A bunch of experiments on writing mini-languages (mainly functional).
Python
3
star
8

csscolor

CSS 3 compatible color constants and parsing.
Python
2
star
9

dicecards-pledgemgr

The Software used for the pledge manager tool for my Dicecards Kickstarter campaign.
2
star
10

giclee

Code to make it easier to write object-oriented editing applications based on html 5 canvases.
JavaScript
2
star
11

sparkle

An extension and modification of John Aycock's Spark Python parsing package.
Python
2
star
12

cachemir

A simple Python decorator library for derived files.
Python
1
star
13

ajax-client-tools

A set of tools for building static HTML/JS interfaces on dynamic JSON data.
JavaScript
1
star
14

single-page-app-template

A template structure for developing a single page app with React, using Gulp + plugins for setup.
JavaScript
1
star
15

logstream

Secure data and issue tracking.
1
star
16

papersizes

Standard papersizes and manipulations
Python
1
star