No description or website provided.
C++ C Lua Cuda Makefile JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
GPUMLib
LuaJIT-2.0.3
box2d
examples
fann
guichan
json_spirit
kdtree++
kmlocal
lua
packaging
sdl1
sdl2
src
tests
.gitignore
DejaVuSansMono-Bold.ttf
DejaVuSansMono.ttf
Hotkeys.txt
Makefile
README.md
TODO
build_deps.sh
build_deps_32bit.sh
build_deps_js.sh
build_deps_static_32.sh
build_deps_static_64.sh
graphTeamA.gnuplot
graphTeamB.gnuplot
graphs.kst
neurocid
neurocid-dbg

README.md

Neurocid

A space ship simulation controlled by neural networks, evolved through a genetic algorithm

Prerequisites

Installing development packages for following libraries is mandatory:

pkg-config, boost-system, boost-program-options, SDL-gfx, sdl, SDL-image, SDL-ttf

Following libraries can be disabled by prefixing make with WITHOUT_VIDEOENC=1 (e.g WITHOUT_VIDEOENC=1 make):

libavformat, libavcodec, libswscale, libavutil

Following libraries can be disabled by prefixing make with WITHOUT_SERIALIZE=1:

boost-serialization

On Debian/Ubuntu you can install required packages like this (Video encoding not supported):

apt-get install pkg-config libsdl1.2-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libboost-system-dev libboost-program-options-dev libboost-serialization-dev

On Opensuse 13.1

sudo zypper install libSDL-devel libSDL_image-devel libSDL_gfx-devel boost-devel libffmpeg-devel

NOTE: Because of troubles with different ffmpeg implementations video encoding is not supported on debian/ubuntu. don't forget to use WITHOUT_VIDEOENC

Build

if you have problems with the ffmpeg support you may disable video capturing functionality entirely by prefixing make with WITHOUT_VIDEOENC

git clone https://github.com/kallaballa/Neurocid.git
cd Neurocid
./buildDeps.sh
make
sudo make install

Run

In the examples directory there are two shell scripts that are examples of how to run neurocid to train and watch space ship populations.

  • basic_training.sh - attempts to produce a well fighting population in a short time.
  • play.sh - loads a population and multiplies it 5 times to run it it in a big scenario.

Please have a look at Hotkeys.txt to learn how to control the simulation

NOTE: You might have to tweak hardcoded parameters in the scripts (e.g. resolution).