getting the source code from cvs (for the latest and greatest Loom):
cvs -d :pserver:email@example.com:/cvsroot/ailoom login
cvs-z3 -d :pserver:firstname.lastname@example.org:/cvsroot/ailoom co loom
You will need scons to build loom into a library. You can obtain scons from scons.sf.net and follow the installation guide for it (it is really quite simple) Scons is a replacement for make and is far, far, FAR better even in it's current primitive form. The Loom team strongly suggests that you consider scons for all your application development.
Once you have scons all you need to do is enter the loom/src/loom directory and type scons. Scons builds the library for you.
OK, so how do you use this monster? AI Loom is built on the concept of having AI Nodes. These most usually would directly correlate to 1 entity in a system. These nodes have many internal parts that take care of all the unneccessary overhead in an AI system. You can add nodes to the system with a single call. A node does 3 things it communicates up and down a hierarchy, it handles instincts, and it handles behaviors. Currently the functionality includes only instincts. So that is what we will discuss next: how to add an instinct to a Node.
An instinct in an aiNode is very similar to an instinct for a human. It is entirely reactionary meaning that at every millisecond the human body is testing for input and if an input is generated that is unexpected the body automagically reacts with a predefined instinct (example: touch a hot pan and you jerk your fingers away) So in Loom an instinct consists of two method calls to objects a testCommand and a command. The test command will be performed every game cycle, and if it returns true it will execute command.
I suggest you enter the loom/test directory and see how the simple test.cpp file sets up a testCommand and a command (it uses templated function pointers so it looks a little messy right now). Creates an instinct using these 2 primitive functions and then registers the Node with aiSystem and calls update a few times to see what happens. If you want to play with the command and testCommand I suggest changing testCommand to use alwaysFalse or alwaysTrue and then write your own command to perform if a test returns true.
Thank you for trying out this pre-alpha version of Loom, it has extremely low functionality right now, but keep your eye out, there will be frequent version updates located on our website. Thanks again - the AI Loom team.
This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.47)
Copyright © 1993, 1994, 1995, 1996,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir16156lHPBc4/lyx_tmpbuf2/readme.tex
The translation was initiated by Josh Brown on 2002-09-17