Next-Gen Game of Life
SQL31337 writes "Jecology is a life simulator created in the spirit of Conway's Game of Life. It touches on many topics such as cellular automata, ecological balance, and the food chain. There is only one type of creature in Conway's Game of Life(CGoL). They reproduce, but do not mutate or evolve. They do not have to find food, but instead simply die based on scarcity or overpopulation. Jecology encompasses these aspects of ecology with a more complex simulation, but retains much of the elegant simplicity found in CGoL. Jecology is not merely a life simulator, but an ecology simulator. It is also an example of a complex system arising from simple rules, as described in A New Kind of Science. Screenshots and info about Jecology here."
hey, that is some cool stuff. I was always fascinated with the game of life from my first CS days in college. Creating life! Actual life! and watching them live out their days and make families. It is fascinating!!!
Even when people like Ray Kurzweil actually take Wolfram's work seriously they conclude that he's written the biggest book about nothing to ever lay claim to the title of Science. Nothing "new" or worthy of the title of "science" came out of Wolfram's 10 year hiatus into cellular autonoma. Certainly nothing useful or enlightening either. However we did get to tolerate his smug superior "I invented the universe" style for 1488 pages.
How we know is more important than what we know.
I did this a long time ago using SDL and OpenGL with spiffy colored blocks and a huge world you had to scroll around in using the mouse. One color would eat the other color, reproduce differently, had different basic rules, etc. I guess it was a cellular automata. I may have had a 3rd species, but at some point I started to lose interest and moved on to bigger and more 3D things.
I like simulations like this, but I fail to see what is revolutionary about it. I'm sure thousands of people have implemented something similar. Heck, in high school we implemented the game of life and my very first modification was to attempt to add a second life form using slightly different rules to make things interesting.
Hexy - a strategy game for iPhone/iPod Touch
They reproduce, but do not mutate or evolve.
Unfortunately, slashdot readers do not do any of the above.
It is neat, however you should reset the playing area to pure black before the game begins as my terminal's default background is not black and it looks a bit screwy before it gets going.
BTW, I'm using OSX. No errors or warnings, compiles just fine out of the box.
Hexy - a strategy game for iPhone/iPod Touch
Is this new ruleset turing complete? That is, in my opinion, one of the most astonishing and impressive examples of emergent complexity re: the conway ruleset.
I've had this sig for three days.
I made loads of notes back when I had an Atari ST - the idea was to basically have a scrolling shooter with lots of aliens travelling around the landscape. The aliens would breed and through survival of the fittest they'd get stronger - the player would essentially be the force of natural selection....
Maybe it's time to revisit the idea.
I like the eye-candy aspect of it, though. Maybe you could port it to OpenGL. :-)
"A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
complex behavior from a simple model? That just sounds like a parameter-sensitive system of differential eqations. Am I missing something? A "complex" ecological system (or any other system) is normally modeled well (or well enough) over a set of conditions with a linear second-order system, and if it isn't, there exist well-tested tools for nonlinear analysis for high-order systems.
filter: +3. Hey, look! all the trolls went away!
If it is a real "ecology", where is the waste recycling? When a higher level creature dies, it is a large collection of useful energy. In real life something would evolve to eat the corpse.
I'd like to see whether this sort of system would develop "lichen" (combination of fungus and algae), or other perpetuating synergies.
The first version of this mutation of "Life" was done back in the 1980s. It's a genuine strategy game for 2 to 6 players.
Check out his site
// Orig:
void Delay(float dtime)
{
unsigned long start;
unsigned long finish;
start = clock();
do
{
finish = clock();
}while((finish - start)/(float) CLOCKS_PER_SEC < dtime);
}
// Simplest, gentlest on CPU would be:
#include <unistd.h>
void Delay(float dtime) {
usleep((useconds_t) (dtime * 1000000.0));
}
// And add -Wall -O2 to your g++ as well!
Done. Join the sourceforge project. :)
Does cygwin support sleep or usleep? That actually originally what I had I think but it wouldn't work on cygwin.
Hmm seems to work fine now. Just went to a windows machine and tested it. Thanks.
Hmm works fine. :)
"Creating life! Actual life! and watching them live out their days and make families."
SimNerds
Are you uploading these changes someplace? The file on sourceforge doesn't seem any different than earlier today. I may be missing something there... (I've always felt sf to be highly confusing...)
Hexy - a strategy game for iPhone/iPod Touch
looks like The Matrix v0.4
Are you talking about life on the computer or life in the fridge? Life in the fridge or on the bathroom ceiling can produce complex 3D patterns that you don't see on the computer -- as long as its not moving. ;)
I compiled it using DJGPP on Windows. First I had to add the pdcur24b module, which I had never needed before, from the v2tk download section. Second, the strtof (string to float, I assume) function came up undefined, so I commented out one line. This appears to disable, in some sense, the "t" option, whatever that is.
a,e,i,o,u and sometimes w and y (at be if of up cwm by)
This is clearly not a next gerneration version of life. The point of life is not that every cell represents an organism, but that patterns can arrise or be designed that express complex behavior despite the fact that the rules underlying them are simple. The phenomena of simple rules leading to some amazing patterns is what made life exceptional. Creating a overerly complicated rule system is not an improvement on life, but a hinderance. What is much more interesting in the future for cellular automata are reversible automata. You can read more here.
Philosophy.
I mean does anyone's game of life spinner still work?
a new version of NetHack? ;)
What modern Obelix would say today? Of course, "Those crazy Americans!".
A demilich! Run away! Run away!
Everyone is entitled to his own opinions, but not his own facts.
The easiest framework to write simulations of this type is Netlogo.
It's free, it's easy and quite powerful.
Skim through the models library (File->Models Library) for a large selection of simulations written. Almost every model you open, while it seems to be very complex when run, the code is usually no more than 50 lines.
For example try Biology->Ants. It shows a simulation of ants searching for food and when they find it, they will spread feromones to attract others.
^_^
But this is all kid's stuff. Such experiments can be much more interesting nowadays, with the power of computers as we have now. A student of mine studied the evolution of morals in a similar society. His program isn't online yet (will be soon, I guess), but his thesis is.
Here's a shamless plug for my similar ecology simulator with food and bugs that duke it out for survival. They occasionally mutate, too.
bugfight (Windows exe and perl sources included for other platforms)
OddManIn: A Game of guns and game theory.
like Sim Earth. I don't know the coding behind the classic, but it does allow for mutations, and the critters do seem to move around similar to the GoL.
Doesn't everybody do this in high school or college? Is there something special about this one?
In my mind, something that reduced the complexity of Conway's game would be interesting, but there seems to be no reason to increase it, since loads of interesting things (like computation!) already happen at the macro scale.
SimLife is a better analogy.
I actually own the original DOS version and still have the manual and everything. One thing SimLife teaches you is that it's really hard to build up a complex ecology in a confined space. If you use the smaller maps, it's almost impossible to get carnivores to survive. There's simply not enough room for them. If you use the largest maps, I've been able to get some stable carnivore populations, but not a ton.
Fruit trees are also darn difficult to get to spread (because they require animals), whereas grasses are very easy (as they spread on the wind).
Have you seen wireworld? It is another cellular automata which has some very interesting properties.
Hexy - a strategy game for iPhone/iPod Touch
So is someone going to write an i86 (or whatever processor) emulator to run on a CGoL Turing Machine? then port Linux to it?
(Only half kidding...)
Can we get a "-1 Wrong" moderation option?
It's even easier if you use Cygwin. I didn't have to touch a line of code.
Thanks are due to everyone who posted insightful comments and criticism, and to all the people that linked me to interesting things like this. To the hundreds of you that have contacted me via email, if I haven't gotten back to you yet I will soon. Here's the future of jecology, mostly inspired by you guys, in a nutshell:
Immediate future (next few weeks): DOS/Windows version; A linux screensaver; A GUI interface; A universe editor; A java port written by a third party that can run from the web
Not so immediate future:
A Gnorba component that will reside at the heart of all new functionality; networking interfaces to connect universes; A variety of OpenGL overlays that make it more interesting to watch
depends on the "simulation" - what level of complexity is the simulation? A 'model' is always a simplified version of a real environment - as you note .."in real life..." things are more complex. So it's down to how closely you want to move towards 'reality' and what is 'sufficient' for your purposes in the simulator. A simplified approach might be a closed energy model where the energy that leaves one part of the system is transfered to another, maybe it has to be more abstract than extending the ecology to additional life forms?