Skip to content

tmptrash/construct

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

471 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

construct

Build Status Codacy Badge

construct is a native JavaScript/ES6 based, digital organisms evolution simulator. It's used for study the evolutionary biology of self-replicating and evolving computer programs (digital organisms). This project similar to Avida, but works with more abstract language (Digital Organism Script - DOS) instead of assembler. It uses special DOSVM for running DOS byte code and distributed computing to speed up the calculations. Generally, it consists of servers, which just a proxy between clients. All calculations are made on a client side only. It's possible to run the system in a "serverless" mode. For this, you have to run index.html (just drop it into the browser) in Chrome without server.

More details on blog and youtube channel. Video presentation in russian is here.

Requirements

  • Last version of Chrome browser
  • Last stable version of Node.js

Installation

  • Install Chome browser
  • Install Node.js
  • Clone this repo to your local machine
  • Go to the root folder of cloned repo
  • Run npm run install to install all construct dependencies
  • Run npm run build to build client part
  • Run tests using npm run test command if you need

Run

  • To run construct in a "serverless" mode, just open ./client/dist/index.html in Chrome
  • To run construct in a "distributed" mode, you have to:
    • Choose some host in your local netwok for server
    • Clone construct repo to this host
    • Go to configuration ./client/src/share/Config.js, find serverHost option and change it to the IP, of your server host. You may use ipconfig under windows to get server's IP
    • Run npm run build command in a terminal from the root folder
    • Run server npm run server on chosen host
    • Copy ./client/dist/index.html and ./client/dist/app.js on all your remote machines and run it there under Chrome

P.S. If you ES6 js developer | Canvas 2D developer | Node.js developer | you just a - join us!