All Projects → Patryk27 → shorelark

Patryk27 / shorelark

Licence: other
Simulation of life & evolution

Programming Languages

rust
11053 projects
javascript
184084 projects - #8 most used programming language
Nix
1067 projects

Projects that are alternatives of or similar to shorelark

Ecosim
An interactive ecosystem and evolution simulator written in C and OpenGL, for GNU/Linux.
Stars: ✭ 382 (+250.46%)
Mutual labels:  life, simulation, evolution, genetic-algorithm
tiny gp
Tiny Genetic Programming in Python
Stars: ✭ 58 (-46.79%)
Mutual labels:  evolution, genetic-algorithm
Invaderz
Space invaders, but the invaders evolve with genetic algorithm
Stars: ✭ 686 (+529.36%)
Mutual labels:  evolution, genetic-algorithm
Thrive
The main repository for the development of the evolution game Thrive.
Stars: ✭ 874 (+701.83%)
Mutual labels:  simulation, evolution
Cellsim 2
Simulating complete lives of different cellular animals and plants. Evolution, inheritance, predation and more.
Stars: ✭ 28 (-74.31%)
Mutual labels:  simulation, evolution
DeepHyperNEAT
A public python implementation of the DeepHyperNEAT system for evolving neural networks. Developed by Felix Sosa and Kenneth Stanley. See paper here: https://eplex.cs.ucf.edu/papers/sosa_ugrad_report18.pdf
Stars: ✭ 42 (-61.47%)
Mutual labels:  evolution, genetic-algorithm
Bot Evolution
An interesting display of evolution through neural networks and a genetic algorithm
Stars: ✭ 135 (+23.85%)
Mutual labels:  evolution, genetic-algorithm
Sproutlife
Evolving version of Conway’s Game of Life.
Stars: ✭ 298 (+173.39%)
Mutual labels:  life, evolution
Plant
Trait-Driven Models of Ecology and Evolution 🌲
Stars: ✭ 39 (-64.22%)
Mutual labels:  simulation, evolution
geneticalgorithm2
Supported highly optimized and flexible genetic algorithm package for python
Stars: ✭ 36 (-66.97%)
Mutual labels:  evolution, genetic-algorithm
GameOfLife
Conway's Game of Life
Stars: ✭ 18 (-83.49%)
Mutual labels:  life, simulation
mbsim
A multi-body simulation software
Stars: ✭ 22 (-79.82%)
Mutual labels:  simulation
QuadrotorFly
This is a dynamic simulation for quadrotor UAV
Stars: ✭ 61 (-44.04%)
Mutual labels:  simulation
cabasa
Haxe Framework for WebAssembly
Stars: ✭ 30 (-72.48%)
Mutual labels:  webassembly
ls1-mardyn
ls1-MarDyn is a massively parallel Molecular Dynamics (MD) code for large systems. Its main target is the simulation of thermodynamics and nanofluidics. ls1-MarDyn is designed with a focus on performance and easy extensibility.
Stars: ✭ 17 (-84.4%)
Mutual labels:  simulation
yew-router
Router extension to yew
Stars: ✭ 27 (-75.23%)
Mutual labels:  webassembly
AutoInteraction-Library
Android仿真人机交互开源库,包括自动化模拟点击指定控件、模拟滚屏等
Stars: ✭ 50 (-54.13%)
Mutual labels:  simulation
game-of-life
An implementation of Conway's Game of Life in Rust using Piston
Stars: ✭ 30 (-72.48%)
Mutual labels:  life
tetris-ai
A Tetris AI written in JavaScript that uses a genetic algorithm
Stars: ✭ 22 (-79.82%)
Mutual labels:  genetic-algorithm
data-science-notes
Open-source project hosted at https://makeuseofdata.com to crowdsource a robust collection of notes related to data science (math, visualization, modeling, etc)
Stars: ✭ 52 (-52.29%)
Mutual labels:  simulation

🐦 Shorelark

Simulation of evolution, powered by neural networks, genetic algorithms & high-school math:

screenshot

Feeling curious? I've described the implementation ab ovo on my blog: Learning to Fly.

Building

Using Nix

# 1/3: Clone the repository
$ git clone https://github.com/patryk27/shorelark
$ cd shorelark

# 2/3: Build the application
#      (this might take a few minutes)
$ nix build
#
# ^ This command will create a directory called `result`
#   that'll contain the compiled WebAssembly code and a few
#   frontend files.
#
# If `nix build` fails, you might be using an older version
# of Nix that doesn't support flakes - if that's the case,
# please use this command instead:
#
# $ nix-build

# 3/3: Start the frontend application
$ nix shell nixpkgs#php80 -c php -S localhost:8080 -t result
#
# ^ After launching this, open `http://localhost:8080` in
#   your web browser - you should see the simulation working
#   as the doctor ordered :-)

# > But why are we downloading PHP? This seems insane!
# 
# It's due to CORS:
# https://stackoverflow.com/questions/10752055/cross-origin-requests-are-only-supported-for-http-error-when-loading-a-local
#
# Bottom line: it's not possible to open a local HTML file
# and make it load WebAssembly code - there *has* to be a
# web server used; and it just happens that PHP includes 
# a simple web server out of the box.
#
# If you don't want PHP on your machine - :-) - anything
# from this list will do the work, too:
#
# https://gist.github.com/willurd/5720255

Using Cargo and npm

# 1/3: Clone the repository
$ git clone https://github.com/patryk27/shorelark
$ cd shorelark

# 2/3: Compile Rust into WebAssembly
#      (this might take a minute)
$ cd libs/simulation-wasm
$ wasm-pack build --release

# 3/3: Start the frontend application
$ cd ../../www
$ npm install
$ npm run start

# ^ After launching this, open `http://localhost:8080` in
#   your web browser - you should see the simulation working
#   as the doctor ordered :-)

Usage

Shorelark contains a simple in-game introduction - just read what the terminal on the left side says and have fun!

License

Copyright (c) 2020-2022, Patryk Wychowaniec [email protected].
Licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].