Skip to content

b8horpet/Genesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Genesis

##What is Genesis

Genesis is acronym for Genetically Evolved Neuralnetwork Environment System In Simualtion. Or something like that. This is a project where I learn Neural Networks, Physics Simulation and 3D Rendering of the simulated world. The code is in python3, which was chosen because of the ease of development and to maximize the speed of progress and writing code.

##Goal Besides learning, this project has some ambitious goals:

  • Simulation of a 3D world, with all neccessary physics involved
    • Real simulation of movement of bodies on ground or in water
    • Movements of a body capable of controlling its bodyparts
  • Creatures using Neural Network to survive and reproduce
    • Natural Selection is not part of the system, it happens naturally when a creature cannot pass it's genes.
    • The creatures vitality is not determined by the simulation, there is no fittness, only survival or death.
    • The environment changes over time, first provides more food and movement is cheaper, later it can become harder to staying alive.
    • Everithing is edible, including you.
    • The genom describes not only the Neural Network but also the body structure itself.
    • The creature has random chance to get special predefined mutations (like eye, proximity sensor ...)
  • Rendering the world in real time in 3D

###Side Projects There are sandbox python sources that only depend on a few module. They implement a smaller task and I use them to fiddle with other techniques as well. Examples: image recognition based on NeuralNet, OpenGL shaders based on Graphics, simple jenga game based on Physics. They are separate main programs and can be run without invoking genesis.

##Getting Started ###Requirements

  • python 3.x - I wrote in 3.5, tested on 3.4, latest python3 recommended
  • works on Linux (Ubuntu) and Windows
  • developed on x86_64 platform, it may need 64bit python to get enough memory
  • additional dependencies may change over time
    • necessary:
      • numpy
      • scipy
      • pyopengl
    • planned:
      • pybrain
      • theano
  • I use PyCharm IDE

###Development

It is a personal hobby project, feel free to fork or even send pull requests, but the ONE and ONLY goal of this project for me is to learn these things, others solving the problems and giving me the answers misses the point entirely.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages