Cobosoda v1.0 by Justin Day INTRODUCTION Cobosoda is a physics simulation modeled after Soda Constructor. It allows you to build a moving model based on the interconnection of joints by springs and muscles. COMPILATION Cobosoda requires the OpenGL libraries libGL and libGlut as well as the open source lexical analyzer generator flex. It has only been tested with the GNU C++ compiler, but others should work. To build untar the archive and run make. If all goes well you should end up with two binaries, 'cobosoda' and 'mutate' and one Perl script 'runmutations'. USING COBOSODA Cobosoda takes the filename of the world definition file as its only command line arguement. If missing cobosoda will attempt to load 'world.def' by default. Once the world definition file is loaded, cobosoda will immediately begin the simulation. You can interact with the simulation by dragging any of the models joints with the mouse. CREATING COBOSODA MODELS The cobosoda world defintion file contains both the information about the environment and the definition of any models contained in that environment. The syntax is as follows: # This is a comment keyword value [value]... The following keywords are recognized: gravity : Defines the force of gravity in m/s^2 springk : Defines the spring constant of each spring in N/m mass : Defines the mass of each joint in kg jointcount : Defines the number of joint definitions to follow joint : Creates a joint in x meters to the right, and y meters up. If fixed is non-zero then the joint will not be subject to external forces. spring : Connects joint 'a' to joint 'b' by a spring. The joint number is the order of creation starting with zero. muscle : Connects joint 'a' to joint 'b' by a muscle. Muscles oscillate at the specified frequency and offset with the specified amplitude. For example a muscle with frequency of 1, an amplitude of 1, and an offset of 0 would artificially contract and expand completely once per second. USING MUTATE AND RUNMUTATIONS To evolve creatures you must use the mutate and runmutations programs. See the man page on runmutations for details. LICENSE Cobosoda is (C)2002 Justin Day and is released under the GNU Public License.