The following items are available relating to Creatures 3:
Most of the programs below were written in the Dylan programming language using the Functional Developer development environment. The basic edition of Functional Developer is free for download and Dylan is an easy to learn language if you're looking for a nice development system for writing Creatures utilities. See my Dylan page if you want details on obtaining versions of Functional Developer. Source code for some of the utilities written in Dylan are available in the Developer Information section.
Injector (Version 1.1 - 55KB - 21/05/2000)
A program that will let you inject a .gen file into the game as an egg. The egg will hatch naturally or can be hatched in the incubator and the resultant creature will reflect the genome used to create it. A useful program to use in conjunction with the Genetics Editor. Requires the Functional Developer run time library.
C3 LobeStudy (Version 1.3 - 70KB
A program for viewing the lobes and neurons within a norn brain. Displays the 8 state values and the input value for each cell in the selected lobe. Data is updated every second or the game can be paused and single stepped to view the brain state at more leisurely pace. This is a work in progress and there is more information I hope to dig up as I understand the brains a bit better. Requires the Functional Developer run time library available below.
Scriptorium Browser (Version 1.4
- 758KB - 23/12/1999)
A program for browsing the scriptorium - the place in Creatures 3 that contains all the CAOS code from Cobs, and internal system functions. Very useful for learning how things work.
(Version 1.1.1 - 543KB - 21/05/2000)
Allows viewing and editing of the genetics files for Creatures 2 and Creatures 3. Requires the Functional Developer run time library available below.
(Version 1.0.2 - 290KB - 21/05/2000)
A program that allows you to load a C3 or CA genome and display a detailed textual listing of all genes in the genome. You can load a second genome and the program will compare the two genomes and display a list of the genes that are different. This is useful for comparing children genomes and parent genomes to see what mutations have occured. Or for viewing the differences between two different breeds. It provides similar functionality to Sandra Linkletter's D-DNA Analyzer but is specific for Creatures 3 genomes (whereas the D-DNA Analyzer tool is for C1 and C2 genomes). Sample outputs of the detailed listing of the Civet genome (169KB) and the differences between the Civet and Grendel genomes (92KB) are available. Requires the Functional Developer run time library available below
CAOS Injector (Version 1.3 - 100KB
A program for injecting CAOS commands in Creatures 3 and returning the result. Also allows injection of scripts to replace or add new scripts into the scriptorium. Requires the Functional Developer run time library available below.
Run Time Library (Version 2.0 - 4.55MB)
The DLL files required for some of the program above. These files need to be installed on your machine, and your machine rebooted before these programs can run.
Shared Memory Interface
Information on how to communicate with the Creatures 3 game engine using the shared memory interface. The programs above all use this technique to 'talk' to Creatures 3.
c3-engine.dll Source Code
The source code to the c3-engine.dll that most of my C3 programs use to communicate with Creatures 3. It is written in the Dylan programming language and I used Functional Developer 2.0 to compile it. An evaluation version of Functional Developer 2.0 is available at the Functional Objects web site for download.
C3 Genome Injector Source
The source code to the C3 Genome Injector program. It demonstrates how to use the c3-engine.dll to communicate with Creatures 3. It is written in the Dylan programming language and I used Functional Developer 2.0 to compile it.
C3 Lobe Study Source Code
The source code to the C3 Lobe Study program. To compile it requires the c3-engine library to communicate with Creatures 3. It demonstrates how to use the CAOS BRN: commands and how to decode the binary format of one of those commands. The code is a bit hideous due to the contortions needed to read the binary buffer returned by the command and I had to work out the structure by guesswork but it may prove useful to anyone wanting to write brain utilities. It is written in the Dylan programming language and I used Functional Developer 2.0 to compile it.