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 proxies 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 for russian speaking people on blog and youtube channel. See video presentation 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 installto install all 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
Note: to improve speed, type man.api.visualize(false) in Chrome's devtool console during application run
P.S. If you ES6 js developer | Canvas 2D developer | Node.js developer | you just a
- join us!