Get CritterGod at Fast, secure and Free Open Source software downloads


Join the discussion at IRC #critterding
or call +1.415.997.WARE
to speak to a developer.

CritterGod Datasheet


Have you ever wanted to play god?

To create a universe filled with evolving life and experiment with it?

To see [& hear] the universe from your creation’s virtual eyes and ears?

CritterGod is free and opensource!

CritterGod is a general purpose simulation that can be used for entertainment and education, as well as an engineering solution to robot and robot-ecology design problems.


Items in [brackets] are planned but not implemented.

Simulated kinematic physics and raytraced vision in customisable 3D environments

  • Bullet physics engine

  • OpenGL Shader textures & Lights 3D rendering

  • Gravity (zero, or directional vector), Drag (simulates air or water resistance)

  • Flat or Spherical World

  • Client/server architecture: multiple clients on a common environment server

Genomic Bioneural Evolver

  • Abstract genome -> phenotype mapping

  • Range of body parts and joints

  • Auto exchange, enabling much larger shared populations over multiple cores and CPU’s

Spiking Neural Networks

  • Arbitrary size and wiring parameters

  • Adjustable neuroplasticity for online learning

openGL Vision

  • Retinas capable of seeing red/green/blue and alpha channels.

  • Customizable retina size


  • Nutrients: Adjusts energy levels

  • [Variable shapes]

  • [Drugs: Adjusts neural parameters]

Human Interaction

  • Mouse / Keyboard environment manipulation

  • Webcam

  • [Auto-zoom]

Heads-up Display

  • Neural network visualizer

  • Statistic charts

Critter Import

  • [Interactively drawn body profile]

Critter Export

  • 3D Model

  • [To Webpage or Github, with embedded 3D model]

  • [To 3D printer (for prototype manufacturing)]

Hardware/Software Requirements

Linux or Windows

OpenGL with Shaders support

Decent GPU acceleration

SpaceGraph-C v2.0 (engine for CritterGod experiments)

SpaceGraph-C v2.0
SpaceGraph-C is an interactive simulation system for any abstract purpose, including, but not limited to:

  Desktop Applications

  Data Visualization

  Artificial Intelligence and Evolutionary Algorithm Simulation

  Software Development

  Social Networking

  Multimedia Production


		The SpaceGraph rendering environment and control systems.

	bullet-src/ & bullet-gl/
		These are exact copies of the Bullet-2.77 physics engine 'src' and 'Demos/OpenGL' directories...
		...except that the BulletMultiThreaded/GpuSoftBodySolvers directory was removed when it didn't compile as-is under Ubuntu linux.
		(A more careful cross-platform facility may not require it's removal in the future.)

		The purpose being that when new bullet versions are released, they can be dropped-in.

	The Makefile was generated from NetBeans 6.9 and the NetBeans project files are included for immediate opening.


Development Plan:

		add(Process* p)
		remove(Process *p)


	BodyProcess extends CellProcess
		Vector3f color
		String name
		onTouched(world, normal)
		onPressed(world, normal, pressed?)

	BrainProcess extends CellProcess
		BrainInterface alloc(key, unsigned inputs, unsigned outputs)
		addNeuron(Neuron n, vector<Neuron> inputs, vector<Neuron> outputs)
		getRandomNeuron(float probabilityInput, floatProbabilityOutput, float

	Neuron extends CellProcess

	InputNeuron extends Neuron

	OutputNeuron extends Neuron

	IzhikevichNeuron extends Neuron
		[ map all of CritterDrug's neural modulators to this class's activity ]

	BrainInput extends CellProcess
		a vector of InputNeurons

	BrainOutput extends CellProcess
		a vector of OutputNeurons

	BrainMap(unsigned inputs, unsigned outputs) extends CellProcess
		instantiates 2 inputs and 2 outputs and directly propagates signals across. used to link 2 brains



[16:36] <sseehh__> once its all ported then i can grow it to new features
[16:37] <sseehh__> including the in-world controls
[16:37] <sseehh__> for building and manipulating creatures
[16:37] <sseehh__> like tables and benches and factories
[16:37] <sseehh__> with switches and sliders
[16:37] <sseehh__> then the creatures will eventually be capable of building other creatures
[16:37] <flamt> :|
[16:37] <sseehh__> pushing buttons, looking at readouts
[16:38] <sseehh__> AI engines will become useful
[16:38] <sseehh__> we can input semantic data directly into cognition engines, for instance
[16:38] <sseehh__> bypassing low-level neural stuff
[16:38] <sseehh__> but still including it
[16:38] <sseehh__> for things like vision and balancing
[16:38] <flamt> that will be a very rich world
[16:38] <flamt> comparatively
[16:38] <flamt> like greg egan

CritterGod 3D Neural Visualization

CritterGod Preview 4

Float Tanks as a Business Investment

yah well thats all in alignment with this
i originaly implanted the idea in her that it would be a good investment for anyone to setup an isolation tank facility
for example instead of a sports stadium
imagine if a city or municipality built a building with many tanks
apparently, if you have a tank  you dont need to sleep ever
you can be awake 24/7 and not get tired
u just go into the tank when u would normally sleep
and you get out and its as if u had slept, but u were awake in your mind the whole time
if thats true then a business ought to provide its employees with tank time
as a biz investment

CritterGod Snakes and Spider 1

CritterGod Parametric Spiders 1 (video)

Development Plans - Jan 2010

In making the transition from critterding to critterdrug to crittergod, we are planning the following improvements:

  • Refactored Source Code – it should make more sense, be more abstract and modular - allowing us to fractalize it further and add more features
  • Laboratory Environment – starts up in a blank environment where you can add objects which can be critters or tools or lab equipment.  critters can be interactively re-built with new parameters.
  • Parametric Bodies – starting with snake, then move to spider, then humanoid models.  each model will have various parameters that can be adjusted
  • Adjustable Physics Parameters – including gravity and timescale controls
  • Dynamic Attach and Snap - cells will be able to attach when close, and snap when pulled from eachother.  so a creature will need to be concerne about its own structural integrity.  if cells can be detached then another critter can rip another one apart, or chew it, or stab it.
  • First-Person Critter Control – go inside the critter, see thru its eyes, and control its peripherals
  • Interactive Examples of Small Brainz Networks – that show exactly how they function, and to serve as unit tests – with graphs and interactive knobs.  each neuron will be visualized and inputs will be adjustable.  will include neurotransmitter injection controls.
  • Multicore Parallelization - various simulation processes can be paralellized, for example isolated neural networks
  • Adjustable and Independent Process Frequencies – to support different concurrent frequencies of various simulation processes, ex: to have vision running at lower frequency than neural processing should produce a significant performance gain
  • A Report on Profiling CritterGod - to share with you where the CPU and Memory performance bottlenecks truly are, and start optimizing them
  • Particle effects – ex: like blood spray
  • Visual cortex read-out – like the cat vision you’ve seen pictures from, for eye and minds-eye
  • CA Rules Evolution – rewards for modifications to psychic screen corresponding to a desired set of propagation rules so critter brains can become cellular automata substrate computers as well as social survival machines if desired