Darwinbots Forum

General => Off Topic => Topic started by: Testlund on April 27, 2006, 11:38:11 AM

Title: Thoughts about other a-life progs.
Post by: Testlund on April 27, 2006, 11:38:11 AM
I've been thinking about some other a-life programs out there that needs a lot of improvements. It seems to me that this a-life business goes damn slow and I get frustrated that it's so difficult to find any good ones. Has anybody here heard about El-Fish? It was allmost impossible to get it but after many hours of searching on the web I managed to find this link:

http://www.antiqueclockshop.com/virtual/elfish.htm (http://www.antiqueclockshop.com/virtual/elfish.htm)

It's an abandonware and you can download it for free if you want to check it out.

There are 3 things that makes this the best aquarium simulation software out there.

1. You can evolve fishes with different kinds of shapes and colors.

2. You can create unique plants for your aquarium.

3. You can create your own tank with lots of different stuff to put in.

But otherwise the fishes are just animations that swim around in the same way and they don't need to eat or sleep, and they can't reproduce. Also there is a compatibility issue with todays computers with fast processors, wich limits the amount of fishes you can put in the aquarium. For instance I could only put 1 big fish and only 4 small fishes in my aquarium. Sucks! So it gets boring after a little while. The only fun part was to try and make a fish look like some real species. I managed to create this one. It looks like a swedish species called Abborre, wich I guess you call Bass in USA. I'm not sure. (See screenshot)

Well... The reason why I write about this is just to see if any of you talented folks here whould be interested in making something like this or improve the programs that exists.

There are a couple of other similar programs I've checked out. One is at this link:

http://www.fearby.com/products/3dfishtank/evaluation.shtml (http://www.fearby.com/products/3dfishtank/evaluation.shtml)

I voluntered as a playtester for this program and the maker said he whould send me a copy to test but I haven't heard anything from him since last year. It seems like a dead program. It wont even run on my computer.

Another one I've been looking at is something called Aquazone. It's difficult to get information about how much a-life-like this is. I was thinking about maybe purchasing it, but I don't trust that it does what I want it to do.

So... I was just wondering if any of you whould be interested in something like this? Maybe after you've completed Darwinbots.  
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 27, 2006, 11:49:57 AM
The pics nice

Personally I don't know much about fish or acquariums.  I used to fish for bluegill (sunfish) but that's about as far as my fishery knowledge goes.
Title: Thoughts about other a-life progs.
Post by: Testlund on April 27, 2006, 12:17:41 PM
How about you make the program, Nums, and I give you info about the fishes. Hehe.  
Title: Thoughts about other a-life progs.
Post by: PurpleYouko on April 27, 2006, 12:24:44 PM
I thought about doing that a few times but never really got around to it.

I remember a cute little game that I used to play in which you control a little fish that has to go around eating smaller fish but avoiding bigger ones. The more you ate the bigger you got and the more the shark would appear and come chasing you.

It was really fun in a simplistic kind of way.
Title: Thoughts about other a-life progs.
Post by: Testlund on April 27, 2006, 12:44:23 PM
Yeah, I've played something like that too, called Feeding Frenzy. It's just a simple game though to play around with to kill some time.

It whould be awesome if you whould try and make some a-life aquarium program. It could be something to produce for the market. It's not like there is any competition to talk about out there.
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 27, 2006, 12:49:18 PM
Well what exactly do you find fun about acquariums?  Personally I find fish something of a chore and less of a thrill, but maybe I'm just not understanding the allure.
Title: Thoughts about other a-life progs.
Post by: Testlund on April 27, 2006, 01:35:52 PM
Personally I'm interested in the biology and to create a biotope to care for, with the right water conditions and food, and to watch the fishes. It can be difficult before you get the right balance, but after that there isn't much work to do, just regular water changes every couple of weeks. An aquarium adds a lot to a room.
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 27, 2006, 02:05:32 PM
Have you ever played SimEarth?  Is that sort of simulation tinkering what you find interesting?
Title: Thoughts about other a-life progs.
Post by: Testlund on April 27, 2006, 02:48:47 PM
Yeah, I've tried that. There are a few similar programs on the internet. One is called AI Planet. I think that is the best one of them. It's freeware too.
Title: Thoughts about other a-life progs.
Post by: PurpleYouko on April 27, 2006, 03:13:14 PM
I love aquariums.

I have always kept salt water reef fishes. Now that is a challenge.
Title: Thoughts about other a-life progs.
Post by: shvarz on April 27, 2006, 03:21:32 PM
What about the game called "Creatures"?  There were original "Creatures" and then two sequels.  Here is info from wiki: http://en.wikipedia.org/wiki/Creatures (http://en.wikipedia.org/wiki/Creatures)  

I tried the early version, but it was a hacked game from some web-site and I did not have a manual, so I could not figure out what the hell was going on, but from the description it looks like AL simulator.
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 27, 2006, 03:25:46 PM
Creatures is Neural Net ALife, which tends to be an entirely different beast from anything like Avida or Darwinbots.
Title: Thoughts about other a-life progs.
Post by: Welwordion on April 27, 2006, 04:40:33 PM
Yeah and creatures was a hell lot time intensive, it was interestin as you could teach your "norns"(creatures)
stuff and see them teach each other etc but it was hard sometimes to make them do somehting necessary (like reproduction) and the evolution aspects was to slow for me as generations lived pretty long.

Have you tried: http://www.geocities.com/ResearchTriangle/Forum/3830/ (http://www.geocities.com/ResearchTriangle/Forum/3830/) it has a similar complexity like darwinbots but involves neural nets which was quite fun but pretty hard to managr.
Unfortunately I think they guy deserted they programm if you look at the dates of the last improvements.

In fact there ar really not many good alife games out there, well although I did nt try out much of the 3D stuff those framesticks creatures are hard for me to understand.(and my pc is to slow for it)
I tried to think out my own idea but its not that easy to thik of somethign that will cause emergence to arise.
See here of my newest idea --> http://kuro-tejina.shroom.net/Forums/phpBB...wtopic.php?t=86 (http://kuro-tejina.shroom.net/Forums/phpBB2/viewtopic.php?t=86)

I really would like an alife game where some kind of metabolism,chemistry arises something not predetermined. I thought this could be done with cellular automata but its a hell lt complicated to predict what kind of automata rules might be useful for that.
Title: Thoughts about other a-life progs.
Post by: Testlund on April 27, 2006, 04:59:03 PM
Creatures could also be considered abandonware. I don't think you can buy it from anywhere, but there is a free version called Docking Station that you can download and the project seems to have been taken over by ordinary people doing a bunch of improvements for free. This is the official link:

http://www.gamewaredevelopment.co.uk/creatures_index.php (http://www.gamewaredevelopment.co.uk/creatures_index.php)

If you search around you can find links to stuff that people have made for the game. It's one of the best A-life programs out there.
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 27, 2006, 05:16:23 PM
I might cruise through e-den for interesting ideas we could "ahem" borrow
Title: Thoughts about other a-life progs.
Post by: PurpleYouko on April 28, 2006, 09:13:43 AM
Quote
Creatures could also be considered abandonware.

Wish I had known that back in 1998 when I bought it. perhaps I would have waited and saved my 20 quid.

Then again, if I hadn't bought it then I wouldn't have realized how boring it actually is to watch these strange and cute little creatures wandering about their incredibly limited world.

This game could have been really cool but I don't think it was ever really developed enough.
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 28, 2006, 11:14:36 AM
"boring" is the word I would use to.  Interesting, for a time, but it's just too difficult to get any kind of ecosystem going.
Title: Thoughts about other a-life progs.
Post by: Welwordion on April 28, 2006, 11:28:23 AM
Just a thought, but let us make another alife game besides Darwinbots, I just need some new stuff with better possibilities.
Oh and I do  mean seomthing which uses more bottom to up principles instead of up to bottom ones like Darwinbots use.
This would also make it easier to programm such stuff as we do not need to implement certain effects but rather hope they will arise from simple interactions, its just needs some more know how and inpiration.

This would also enable us to programm something where genes or whatever mutations could be programmed more specifically
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 28, 2006, 12:36:20 PM
A while ago a number of forum members went off to try and start their own programs, but most seem rather "abandoned" as of late.

It's alot of hard work.
Title: Thoughts about other a-life progs.
Post by: Welwordion on April 28, 2006, 01:44:05 PM
Yeah probably , thats why I think its worth to discuss such stuff and come up with soemthing thats simple enough ,yet worth to programm before going of to create a game thats just another simple bot variant clone.
I mean lets first think how such a game should be, after that we can still decide if we want to give it a try.
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 28, 2006, 01:51:00 PM
Well first you have to figure out exactly what you're trying to model.  DB is about behavioral evolution.  Avida is about reproduction (specifically the mechanisms needed to reproduce).
Title: Thoughts about other a-life progs.
Post by: Testlund on April 28, 2006, 02:34:23 PM
One way could be to get a hold of the source code from one of those A-life programs and develop them further.  ...or just try to make a similar program with more features.
Title: Thoughts about other a-life progs.
Post by: Welwordion on April 28, 2006, 03:31:58 PM
I doubt the approach most games take to simulate life,s o no improving of something I not believe in stuff.

Ok all things search for stability, you could say the have an intern fitness functiion that stems from the minimation of force and the darwinian concept, life in this concept can be understood  as the cooperation of parts that influence the fitness function to their advantage by changing local conditions(which influence the stability of an pattern).
So I would try an concept where manifold structures can arise from basic concepts, may the geometrical or chemical or simple gicven trough an cellular automata. These structures would now need a basic set of rules to interact so a function can be determined(like proteins work by their geometrical structure).

After creating this basic biochemistry we could introduce an Ai that is able to perform basic actions to contol its "body", where this AI would "learn" to work with its body by a system of association( to associate a certain feedback with certain actions)
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 28, 2006, 03:55:12 PM
Let me rant about emergence for a moment.  

People see emergence as some sort of magic bullet that wonderfully gives you a balanced and working system with minimal thought or effort. It just does all the work for you, yippee!

It doesn't work like that.

What you're basically doing is making the emergent properties decide the basic interworkings of your system for you. That is, you're turning over creative control of all the processes to something that, by its very nature, you have limited control over.

The benefits of an emergent system are that literally thousands and perhaps millions of design decisions are made for you. The pitfall is that literally thousands and millions of design decisions are made for you.

That's a two edged sword.  You give up total control in the hopes that something brilliant will come from it.

Most emergent systems aren't that brilliant.  There's some single best solution and it's fairly boring.

So when someone says "my system will be entirely emergent" it tells me they've never created an emergent system, and their results are probably going to be rather limited.

You should first decide what you want to see happen in your system specifically and then decide how to get there, wether through thousands of high end rules are several dozen low order rules.

The one benefit of emergence is self-consistancy, so I tend to use it in areas that have several thousand decisions to be made and needs to be fairly consistant. DB's future metabolism feature would be a good example.  But emergence works there because of the inherant self-similarity of that system.  A + B turns into C, which has exactly similar properties to A and B, but just with different magnitudes.
Title: Thoughts about other a-life progs.
Post by: Welwordion on April 28, 2006, 05:12:49 PM
Well let me take a minute to rant over "designed" systems, the creator often thinks that coming up with a system to mimick a certain aspect of life and the adding dozen of features makes a good game, but in reality he just creates some kind of predetermined movie with some alternative telling order.(I want to learn soemthing new and not only see something I created in the code )

Emergent systems are far from beeing easy soltutions, rather it needs more mindwork and trial and error to find a good system instead of programming dozens of strange code that eats calculation power and such limits complexity.(If you ever tried to find cellular automata rule that give interesting results you know what I mean)


Also its exactly the biochemical aspects I want to create by relying on an open sytem like 3 or 4 dimensional geometry etc. I am more than aware that many systems will only give one predetermined optimum and that is exactly the reason I am not going with the first best idea but rather want to hold a detailed conversation about this.
Also I am aware of the limis of a purely physical/biochemistrical system which is why I introduce the Ai "soul" into the components object consists of.
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 28, 2006, 06:26:44 PM
Quote from: Welwordion
Emergent systems are from beeing easy soltutions, rather it needs more mindwork and trial and error to find a good system instead of programming dozens of strange code that eats calculation power

 Emergent simulations almost always require more calculation power because you can't optimize them the way you can with a designed system.
 
 
Quote
(If you ever tried to find cellular automata rule that give interesting results you know what I mean)

 Exactly my point.  A good emergent system with "interesting" results is difficult to create.  Alot of time you're better off just designing something as upper level rules.  It's only really worth it when the number of interactions is simply unfeasible to create by hand.
 
 Basically emergence is a mean to an end, not an end in itself.
Title: Thoughts about other a-life progs.
Post by: Welwordion on April 29, 2006, 03:45:47 AM
Well if you call it a mean to an end, my end would be asystem with multiple aka dynamically changing optimums that allow for different biochemical approaches to coexist (like having carbon, silicium and whatever lifeforms in the same simulation)

Currently I am trying my mind really hard to find a system which would allow that, which would have such freedom and you should notice tha every sytem which has an dynamical changing optimum is automatically ermergent as you can not predict the path this might take.

I mean look ar my previous approach with mutating fitness function competing, its te same basic idea when the physics itself are object to mutation the optimums might also change.
A part of the hard thinking is also to create a system with an open biochemistry that still controllable for an Ai and delivers enough input, sensory data to do so.
Title: Thoughts about other a-life progs.
Post by: Welwordion on April 29, 2006, 07:05:21 AM
How about we have some central core with  AI , movement ability and senses that can attach other objects to it and everything neutral which in turn is attached to it also belongs to its "body". When one of these cores is able to directly touch another core with its body, it overwrites it and also there might be a limitation to the "lifetime"
of a core which means it will autodelete itself after some certain time, creating empty core as "food".
So basically they would try to disassemble the hull of others to eat them.
This way protection, speed, control etc would counterbalance itself and as different bodies are composed of different chemicals, they need different digestion methods and structures that are able to come in contact with the specific component (lock and key principle)

(I also thought on a possible chemisty based on triangular objects but I will wait to expalain the idea until I got your feedaback on the core concept)
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 29, 2006, 09:14:00 AM
You're basically proposing DB with metabolism

The problem with trying to simulate life as a biochemical process is that biological chemistry is intractable with modern hardware.

It takes supercomputers (or thousands of smaller computers hooked in parallel) to simulate the interactions of single protiens.

Which means you're going to be simplifying some things and presenting some high level rules.

Anything with different species competing and evolving in a rock-paper-scissors type system is going to be a dynamic fitness function.  I've seen several DB simulations run in which the changing of one species (plants) causes the bots to move towards a different optimum.
Title: Thoughts about other a-life progs.
Post by: Welwordion on April 29, 2006, 02:16:49 PM
I doubt your analysis highly.  
First your saying that I am proposing Darwinbots with Metabolism, the reason you do is that I introduce agentlike structures into my idea mix. However apllying  this definition, all games using agents would just be Darwinbots.
Second you say that biochemistry can only be simulated by supercomputer, however you take carbonic real life
chemistry as a measurement , which only confirms something I am thinking since a long time, that you try to imitate our life on earth to much instead of concentrating on a information theoretical abstraction which helps in a simplified approach.(well only your rock, paper, scissors argument is probably true, although I still have to observe this in one of my own simulations, but your quite better with finding good running cnditions for those sims)
 

For example the system I had in mind was based on the thought that each site of the triangle has a color/type
this colors woule repulse or attach to certain other colors, additional attachment could influence the shape of triangles by changing the position of the corner mark opposing the attachment site, such either stretching,kepping the form or shortening the triangle.
This would enable trough geometry and different color combinations  the forming of more complex body parts.
Additional the "core" could overwrite/change a certain number of reactions per round in order to control the growth and interaction of his body(besides moving and rotating when needed).
Example if a triangle with the wrong color combination tries to attach to a certain triangle of the growing body
the core could change this to repulse, or he could change repulse to atatching to make certain combinations
work out(which however means he would have to use that writing point every turn on this task).
The core could also use the change of form to orientated an bend certain limbs.
This could also be used to digest neutral/dead bodies by attaching to them, converting them into your own body and then seperating them.
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 29, 2006, 02:32:54 PM
Yes, every agent based model that eats is like Darwinbots

Well, are you wanting to model real chemistry or fake chemistry?  If you're interested in the actual physical chemicals used by a life form (wether carbon or no) you're going to need a super computer.

I can make a simulation which pretends that some of its organisms are silicon life forms (which BTW isn't all that likely chemically speaking.  You're more likely to see critters that use carbon but use otehr polar molecules instead of water, probably in either very cold or very dense environments.) but that's not going to tell me anything about silicon life forms.

Point is you're going to need a simplified biochemistry whatever your plans are.  And BTW DB's biochemistry, derived from bit patterns etc. isn't necessarily an abstraction of actual biochemistry.  There is no analogue to citric acid.  There are no explicit nitrogen cycles.  It's purely an absraction of what biochemistry inherantly does, which is rearrange bits in macromolecules.

Now, as to your idea:

It's theoretically sound, assuming a very good AI model.  However you might find it to be computationally intractible.  Specifically, you'll probably be needing to do some rather intensive rigid body dynamics and collision detection, on the order of several thousand traingle primitives at least.  Due to the dynamic nature of the agents, you're not going to be able to use BSPs to simplify collision detection between agents.

And as to the "chemistry" of it, you're not really providing an energy flow, which is key to understanding the dynamics of ecosystems.  You're primarily exchanging parts between agents, which would be a kind of Mad Max system dynamic, with all the agents scavenging off each other.

It might be a good idea to provide some inherant way to simulate energy flow.  Perhaps being able to construct triangles with energy and destruct triangles into energy.
Title: Thoughts about other a-life progs.
Post by: Welwordion on April 30, 2006, 05:30:31 AM
I disagree with your view concerning energy. Energy simulates a limited resource orgamnism compete for,
In my idea the compettition revolves around limited number of the core parts and components of body parts.

Well if you think its still to complicated I probably have to trsut your judgement (although there mioght be some ways to simplfy that assuming less realism)

How about you? Do you have an good idea? I mean I am not trying myself as dingle hero that learns aprogramming language in order to make his dream project, I wanted to make a team project but until noe nobody besides me made any proposal concerning the basic mechanism, shape of this project.  
Title: Thoughts about other a-life progs.
Post by: Numsgil on April 30, 2006, 12:03:52 PM
Real ecosystems compete for limited resources in addition to energy. Energy flow helps create niches. Without nrg Darwinbots would be incapable of even supporting the two species at once (veggies and bots).

My main point is just that any project that involves programming is going to be alot of work. I devote myself rather entirely to Darwinbots and you see the speed that things happen. If you'd like to see results then, I see two primary methods you need to have:

1.  Program it in a language that allows for fast development.  Either C# or VB or something like that.

2.  Use 3rd party libraries for as many things as possible (especially physics).

Also, you might have to settle for something that is discrete ie: grid based.  Not necessarily CA though.
 
 Here's a forest simulator I made during high school.  It took about a week and a half (maybe more, I can't remember exactly) of thought and effort to program.  T means tree.  s means seed.  $ means a tree with a seed underneath it.
 
  I can also upload a faster version if you're interested, but the faster version is almost too fast, it's hard to see anything.
 
I don't mean to be discouraging.  If you're interested in making your own simulation great!  But don't underestimate the amount of work you're talking about.  Realize that, generally speaking, anyone who can program has their own projects already and you'll need a fairly complete program before you can lure existing programmers to help you.  Sort of a catch-22 isn't it


If you do finish something I'll give you web space for it if you like.  The more good ALife programs out there the more we benefit from each other.