Niwrad
Distributed multiplayer sandbox evolution simulation
Install / Use
/learn @louis030195/NiwradREADME
niwrad
- Try directly outdated WebGL version here (WebGL CI is broken yet)
- Or download latest version. (Windows, Linux, Android, Web, iOS, MacOS).
See related writings:
Features
- [x] Heuristic AI (state machine)
- [x] Artificial selection (partially)
- [x] Spawn plants / animals by drag & drop
- [x] Parametrable experiences
- [x] Working UX
- [x] Experience metrics (partially)
- [x] Big ugly panel in game with number of animals ...
- [x] Optional carnivorous hosts
- [x] Android, Linux, Windows, Web, iOS, MacOS
- [x] Decent cross platform UX
- [x] Multiplayer (91.121.67.56:30020) + singleplayer
- [x] Can share experiences
- [x] Leaderboard (yet naïve: who had the most hosts alive = biggest computer)
- [x] Audio (parametrable)
- [x] Inputs (not parametrable)
- [x] Cross platform
Dependencies
- Online mode: Nakama
- Online mode: https://github.com/louis030195/octree
- Online mode: deployment (Docker, Kubernetes, Helm)
- Both: Unitask, Protobuf, TextMesh Pro, new unity input system, few free assets
Goals
- Hosts have characteristics. When hosts reproduce sexually or asexually, the offspring characteristics are its parent's plus mutations.
- Hosts behaviour code MUST be generic, so we can either implement simple heuristics like state-machines, behaviour trees, utility or try learning AI like reinforcement learning.
- Observers can trigger artificial selection, the goal is to implement actions that offer the possibility to influence evolution. Currently what came to my mind: any way to protect, harm, heal, feed ... some species
Non-goals
- Simulating nature at the quantum level

