Like CABot1 and CABot2, CABot3 is an agent that works with a user in an
environment. The environment is based on the shareware CrystalSpace games
engine. The two communicate via text and jpg. files. Both game and agent
can run in standalone mode, but will take input from those files and
send output to them.
CABot3 is written in Java. It is an extension of our CANT23 neural
simulator. All of the code you need for the agent is
here. See Building CABot3 below for further
instructions.
The environment is written in C++ in the CrystalSpace games engine.
The novel code is a modification of the
mazing tutorial provided with crystal space. You can also take
the 11 meg version and avoid futzing
with crystal space. See Building Mazing below
for further instructions.
Building CABot3
- Get the code. Decompress it.
- bat files are provide to run all this from DOS. It works in
a range of IDEs but, this seemed the lowest common denominator.
- In the base directory compilebase. You should now be able to
runbase and use the simplest CANT23 program (with 1 10x10 subnet).
- Go to the utils directory and compileutils.
- Go to the cabot3 directory and compilecabot3. You may need to
change the path variables in the bat file.
- If the path variables are right(inside the CABot3 code), you
should be able to runcabot3.
Building Mazing
- The simple way is to get the executable
version 11 meg. You should be able
to grab this, decompress it and run mazing. You may have path
problems (see handshaking below), but it should give you a
running system.
- The other mechanism is to build crystal space from scratch.
- Then grab the mazing source.
Unzip it in to the ..CS\apps\tutorial\mazing directory.
Build it, and run.
- Building crystal space from scratch has been difficult. It seems
the simplest way is to use Visual Studio.
- I typically use cygwin, but getting the libraries right has proven
awkward. On th other hand, cygwin is great.
Sorting out the handshaking
- Get both mazing and CABot3 to write and read from the
same directories. I use the CABot3\data directory.
The CABot3 build has some sample files in there.
- To make mazing find the correct directory, edit the vfs.cfg
file. Find the VFS.Mount.CABot3 line (about 14 down) and set
it to the correct path. If you get the can't save screenshot error
you've got an invalid path.
- In the CABot3.java file, set the path. It's about 20 lines
down, and there is a Huyck path and an ELB path comment next
to them. You have to rebuild cabot3 after that.
Typical run
- I typically run by deleting the cABotToCSCommand.txt file.
- I then start up mazing (./mazing.exe in cygwin from the cs directory),
and issue a command like "turn left".
- I then start up CABot3 (runcabot3 from the CANT23 directory).
- Once all the nets are up, I hit the start button in the BaseNet window.
If you have any problems, feel free to send an email for help.