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.
- Last version of Chrome browser
- Last stable version of Node.js
- Install Chome browser
- Install Node.js
- Clone this repo to your local machine
- Go to the root folder of cloned repo
- Run
npm run installto install all construct dependencies - Run
npm run buildto build client part - Run tests using
npm run testcommand if you need
- To run construct in a "serverless" mode, just open
./client/dist/index.htmlin 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, findserverHostoption and change it to the IP, of your server host. You may useipconfigunder windows to get server's IP - Run
npm run buildcommand in a terminal from the root folder - Run server
npm run serveron chosen host - Copy
./client/dist/index.htmland./client/dist/app.json 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!