GithubHelp home page GithubHelp logo

evo's Introduction

Evo

Environment for testing natural selection processes on some digital "bugs"

Key Parameters:

W, width of canvas [pixels]
H, height of canvas [pixels]

D_f, diameter of food [pixels]
P_f, period of food generation [ticks]

D_b, diameter of bug [pixels]
V_b, maximum velocity of a "bug" [pixels/tick]
S_b, number of bugs "spawned" when food eaten [bugs]
H_b, number of ticks a bug can go without food before death [ticks]

Key Behaviors

- Bug acceleration is "random" in 2D space but velocity never exceeds V_b
- The canvas is "infinite" (i.e. if bug wanders off left side it will appear on right side, and vice versa)
- Upon encountering food, a bug will eat it.  The polygon representing the bug and the food must intersect.
- If a bug goes length of time H_b without eating food it will disappear from simulation
- Upon eating food, the bug will become completely "full" and will instantly generate offspring of amount S_b
- Every amount of time P_f, a unit of food is placed randomly on the canvas

Directions:

  1. Download Processing (2.2.1) - https://processing.org/download/
  2. Confirm Lastest Java is Installed https://java.com/en/download/mac_download.jsp
  3. Clone The Repository
  4. Run "Evo.pde" using Processing Application

Screenshot

Evo

evo's People

Contributors

irawinder avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.