Readit News logoReadit News
api · 6 years ago
Reminds me of something I wrote years ago:

https://github.com/adamierymenko/nanopond

Ecosim has prettier graphics and seems more high level and concerned with ecology, while nanopond is more about just open ended program evolution (including the rise of self-replicators ex nihilo... it starts by just generating totally random programs).

connor-brooks · 6 years ago
Nice, this is so cool! I had a few line-type creatures wriggling around at first and then a huge population explosion occurred and a swarm started filling the screen.
eigenvalue · 6 years ago
This seems very cool. I would recommend including an animated gif or link to a YouTube video showing the results of the simulation under a variety of settings/parameters. Also, this would probably get a lot more traction if it used web technologies WASM and webgl. Would be cool to combine this with an evolutionary algorithm similar to the Scriptbots project by Karpathy.
connor-brooks · 6 years ago
I'm planning to do this once I get my hands on a video capture card! Thanks for the advice :)
movedx · 6 years ago
Video capture card? Doesn't it run on the desktop? Just use OBS (Open Broadcast Software) to capture the window, friend. Much simpler.
sandov · 6 years ago
For some reason it complained about GLFW_TRUE not being declared, but I just replaced it in the source code with a literal 1 and then it worked.
rvz · 6 years ago
Very cool! However, I don't see why this has to be so specific for Linux from when by judging from the libraries used it can be also compiled for MingW, macOS, Free/Open/NetBSD, QNX and even surprising Haiku.

But a very interesting project nevertheless.

connor-brooks · 6 years ago
Currently having difficulties getting it running on macOS, and gdb doesn't seem to play nice with Catalina
sliken · 6 years ago
Doesn't work on ubuntu 19.10 either.

gcc -c main.c gcc -g3 logger.o quadtree.o graphics.o utils.o agents.o input.o main.o -o ecosim -lGL -lm -lglfw -lGLEW $ ./ecosim Segmentation fault (core dumped)

saagarjha · 6 years ago
Try LLDB; Apple keeps breaking GDB.
_slyo · 6 years ago
Very cool. I have dreamed of building something similar. I would be interested in these modifications:

1. Change living/non-living distinction of food to two different dimensions, shared by living and non living food alike: * Composition - arbitrary bits to match against a consuming organism's diet * Defense - arbitrary bits to match against consuming organism's capabilities, might be a function of energy level for living food

2. Organisms leave behind waste as part of eating and/or moving. Waste left behind is food for other organisms

This might allow for the rise of symbiosis and multicellular organisms

connor-brooks · 6 years ago
These are great ideas. I was looking for ways to facilitate symbiosis. Thank you :)
RawChicken · 6 years ago
Anyone interested on this might also be interested in an mobile app called "Cell Lab: Evolution Sandbox" [1], which does a good take on a cell simulation "game".

[1] https://www.cell-lab.net/

diath · 6 years ago
It looks pretty interesting but unfortunately I'm unable to run the demo, getting a crash in glDrawElements which is sort of outside of my scope to address. As a side note the debug symbols flag doesn't get passed to individual C files so the binary ends up without debugging symbols (as a workaround I moved the -g3 flag to CC variable instead).
connor-brooks · 6 years ago
Interesting. What distribution are you using? On Debian it has been working fine, however on macOS I also encounter the glDrawElements issue. Still working on that.
diath · 6 years ago
I'm on Arch running the latest proprietary nvidia drivers.
chaoticmass · 6 years ago
I am getting a Segmentation fault under Debian Stretch.
jonny383 · 6 years ago
Likewise on Ubuntu 19.10. Running an NVIDIA GTX 950 on nvidia-driver-430 (proprietary).
connor-brooks · 6 years ago
Uh oh, what graphics card / driver are you using?
Icathian · 6 years ago
Seems like a really cool project.

If you're at all concerned with keeping it reasonably easy to find, you may want to know that the name Ecosim is in use by software for simulation modeling of trophic energy flows in ecosystems.

https://en.m.wikipedia.org/wiki/EcoSim

connor-brooks · 6 years ago
Thanks! Oops, maybe not the best choice of name haha