Wednesday, February 17, 2010

Artificial Life 2.0 now available

Artificial Life 2.0 iPhone app is now available on iTunes.

Screenshot_6.rsk6Ge0xLUpW.jpg

Artificial Life is a simulation of the evolution of behavior of microorganisms. This newest update adds a new mode of play called Survival Mode. In this mode, you create the rules of behavior for one protozoa and see how long it will survival vs. a random population.

You can read more detail about this app here.

Here’s a short video demonstrating some of the features:

15 comments:

tylercd100 said...
This comment has been removed by the author.
tylercd100 said...

Hey I love your App! I cant get enough of it, the idea is just pure genius!

I know you have probably received a lot of other users opinions, ideas, and suggestions, but I just wanted to submit mine.

Species mode: Pretty much the same as survival mode but it doesn't end with the death of just one protozoa. Instead allows you to watch your species evolve and grow as well as switch between offspring of your original protozoa and the offspring of the offspring etc.
In this mode you may want to add a green circle around offspring similar to the red circle around the protozoa you are following this way users can see their species expand. The UI for switching between protozoa could consist of pausing the game and in the center is the protozoa you are watching and below it is a list of the protozoa's offspring, selecting an offspring will then allow your to follow it and see the offspring of the newly selected protozoa. Above the center protozoa could show the parents(only the ones related to your species in some way that obviously gave birth to this protozoa). So at the top there would be one or two there depending on if the parent mated with a relative or not. Clicking on a parent would then lead you back up the chain(clicking on a dead parent would still let you see and select another parent or different offspring). This mode should end when the species becomes extinct.
This game/simulation is all about the idea of evolution so adding a mode like this will add alot of interesting aspects as well as complexity. Thats about all I can think of at the moment. I hope you enjoyed reading my suggestion as I have enjoyed using your app.

Anonymous said...

I also love the app very much especially survival mode. I enjoy trying to "code" combinations of chromosomes to create macro-level patterns after sufficient numbers of time units have passed.

For example, one saved set is called "Base Huggers," whose prime directive is to stay inside hiding spots as often as possible, venturing outside a short distance only when threatened with starvation if it doesn't find something to eat or attack. The end result (if I live long enough) is that there will be these red glowing masses where the hiding spots used to be. They look like some sort of bizarre atoms with pulsating particles.

Another one I like i have called "Red Swarm Rising." in this one, the chromosomes favor finding relatives & sticking closely to them, mating whenever there is no nearby relative & attacking foreigners when there is. So, your star Protozoa goes in search of something to mate with until a relative gets close enough whereupon both suddenly pounce upon the nearest foreigners.

This has the effect of creating densely populated groups of red Protozoa swimming & hunting together. It also makes the sleeping vulnerability much less dangerous, as your sleeping Protozoa is among its own kind who are eating the nearest threats. Of course, eventually there is no more prey nearby, so I put in a survival rule that if its life is under 45%, attack *any* weakling, so the swarm can become cannabilistic at times. Really neat stuff!

I have one feature request: can you make it so that we can continue to observe the evolution after our viewpoint character has died? Right now, the black & white score screen comes up asking if we want to retry or quit. But! Underneath it, and dimmed out slightly, evolution marches on. In fact, often I will not choose to quit or retry; instead, I let the simulation run for an hour or so and come back to see fountains of red coursing in graceful arcs, or see no red at at all as perhaps two other colors have do instead the world and live as symbiotes for each other. So, it would be fantastic if another option would be: continue to watch the world (with no more score accumulating).

Is that possible? Since the simulation is continuing post-demise already, I would think it would be fairly easy to code. It would really add to the enjoyment of an already fascinating game.

clydebink said...

I really enjoy Artificial Life on my iPhone. Of course I'm here to share my wish-list. I think it's interesting how your app seems to inspire so many ideas for additions. You should definitely take it as a compliment. Artificial Life is very fresh from a gaming perspective.
Like everyone else, I would like more info available for the genealogy. I'm not sure what is possible, but even having a counter for how many times the organism has successfully mated would be nice. Right now I keep track by sampling populations to see if they have the same numeric value in their chromosomes. I figure that if two organisms have "if hunger is <14% then eat food" then they are related. I'm hoping for something more stunning, though I don't know what.
My other suggestion is really exciting for me too. In Sandbox Simulation, I would love to be able to draw circles or squares or squigglies around small groups of protozoa so that I can breed them for a periods of time before releasing them into the larger population. I would also secretly conduct fights to the death this way. I would need to be able to destroy the shapes later. Making shapes within shapes would also be necessary for my plans of menace.
I have a few questions that I haven't been able to figure out:
What does the spiky shape signify? Some protozoa are round and others are spiky.
What determines the color of the offspring?
Awesome game, I get really sucked in. Thanks for making it. I've learned a lot about genetic algorithms because of it. As a Futurist, I now believe that genetic algorithms are far more capable of creating efficient strategies than is the human mind. I would have never come up with "if nearest protozoa is > 5 units away, then sleep" but it is the dominant gene of the entire culture. I looked around and I'm like "I'm looking at the Reapers from Mass Effect, it is a real, possible genetic strategy."
My wife wants to be able to program all of the organisms simultaneously. When I try to suggest that she should want to program groups, she corrects me and says "No. All of them. I want to program all of them, sit back and watch them do my bidding."
If you have to make a choice between my requests and hers, I recommend doing mine; even though she has her finger on the pulse of the pop-culture.
Thanks again.

Mostly Torn said...

Thanks for the kind words regarding Artificial Life and your suggestions for improvements. Coincidentally I've been spending most of this weekend revisiting the app, making some revisions, testing, and planning what new features I'll realistically have the available time to implement next.

I appreciate the suggestions - the idea of being able to cordon off areas to do selective breading of groups of critters is interesting. I'll have to think of a way to implement that.

I'm also working on a way to view more statistical information about the world in general and also about each individual protozoa - hopefully some of that will make it into the next update. Also, a way to easily view the groups of related protozoa (I'm currently calling them "tribes", but might just use the term "family" in the final update.)

Regarding your wife's suggestion, I am already looking into a way to collectively edit a tribe of related protozoa - hopefully it'll work out as a feasible way to make mass adjustments. It's probably not exactly what she was looking for, but it'll be a start. I'm not sure if it'll be ready for the next update, but it is on the list of near term updates.

Regarding your question about the difference between spiky and non spiky protozoa - the spiky ones are predators, the non-spiky are scavengers. The only real difference is a predator is a protozoa that has attacked another protozoa. As soon as one performs this action, its look changes to the spiky look. (It doesn't just have to have a rule that would potentially cause it to attack - it has to be successful.)

As for color of offspring, this is randomly inherited from one of the two parents. Also, there is a 1 in fifty chance that the offspring will have a completely random color not associated with either parent.

Color is used to determine who is a relative. So, when two protozoa mate and they have an offspring, the offspring is officially related to only one of the parents. (It's a cruel world...) As for actual inheritance of chromosomes, each chromosome is considered individually and there's a 50/50 chance of which parent is inherited from. Also, there is a 1 in 10 chance only half of the chromosome comes from one parent (the "if" part) and the second half comes from the other parent (the "then" part). Then there's also a 1 in 20 chance of a random mutation for that chromosome.

At some point, I'll need to add more settings screens to allow these values to be modified during play.

Mostly Torn said...

The next update of the app is going to include a few minor changes in how the sim works in sandbox mode. Most noticeable will be the addition of food growth. By default, there will be a food belt a certain distance from the sun in which food grows at a defined rate. Both the food growth rate and the size of the food belt and its distance from the sun will be adjustable.

Also, mating results will be modified slightly - currently, the offspring is born with full life and there is no adverse affect on the parents, other than their desire being reset to 0. The problem with this is mating turns out to be a low cost way to produce food if the protozoa resort to cannibalism, so it is easy to get self sufficient colonies that just keep breeding and eating their offspring, which sort of creates energy out of nowhere. This is no longer possible - with mating, the offspring will start with the life of its two parents added together and divided by two, and the parents mating will lose 1/2 their life in the process, so no energy is created out of thin air.

With the introduction of food growth, I'm trying to make the whole simulation have a more balanced system of energy where it isn't possible for a group of protozoa to just go off and flourish off in space away from everything else. Now, it makes a little more sense that food grows due to its proximity to the sun, and the protozoa can survive off of that food and the predators can then survive by preying on those protozoa eating the food, etc.

Granted, it's all just a game and isn't trying to be scientifically accurate, but I think this gives rise to more interesting possibilities. Also, it will be possible to revert to the original behavior of "no cost" mating and turn off the food growth if you really like the original sim behavior better.

Anyhow, I've rambled enough for now. Just wanted to thank you again for your thoughts and wanted to let everyone else know I've not abandoned this app. I hope to be making improvements to it for a long time to come. It's just a challenge to get the free time to work on it, but I'll hopefully be getting out at least one new update this month (February, 2012).

Cheers,
Brian

clydebink said...

awesome.

clydebink said...

Thanks for the update, I'm excited about putting a foodbelt near a deadly sun.
I've noticed a significant bug and I wanted to bring your attention to it. When I zoom in on my protozoa, it jitters and the image doubles if it travels upward(between 9 and 3 on a faced.clock). This also occurs if I touch and hold the screen while watching protozoa. I'm on an iPhone3gs and I have the latest update.
Thanks for your continued work on this project, it keeps me interested.

Anonymous said...

This is an excellet game, but I have few ideas I think would make it even better.

'Trait' Similar to chromosomes, however traits are passive and can be used at the same time as chromosomes. Traits aren't used unless the conditions are met, but multiple can be used at the same time. They have the same set up as chromosomes.
Ex: If <> is within <> units, <>. They just have different results.
An example trait is below, One I think could be used well.

'herd with' A trait that allows protozoas to come together as a group, similar to 'go to'. However, this is a trait, allowing them to continue to function In conjunction with chromosomes. They will continue to function normally, but will try to remain close to whoever it is set to.

Also, there are currently only carnivores. I propose a herbivore, who would feed from the growth around the sun. Their shape would be a diamond, like:

Tail. Head
~~~~~~~<>

If you have the time I think these would be interesting additions. If I get more ideas I'll be sure to post them.

Mostly Torn said...

Clyde, what version of iOS are you running on your 3GS? I want to try to duplicate the environment to reproduce the bug. I'm not seeing it on my iPhone 4 or 1st gen iPad (both running iOS 5.1), but I don't have an iPhone 3GS.

Mostly Torn said...

Hi again Clyde,

I dug out my old 1st generation iPod Touch and I *am* able to reproduce that flickering problem you describe. I'll try to track down the cause. It's really odd because it never happens on my newer hardware. Hopefully I can figure it out.

Cheers,
Brian

Mostly Torn said...

I found the cause of the flickering - turns out it will happen on any iPhone or iPod that doesn't have a retina display - when you have a protozoa selected. I'll be submitting a fix for it later today. It should be reviewed and approved by Apple within a week or so.

Sorry for the inconvenience.

clydebink said...

The update is up and works great. Thanks for getting on it so quickly.

Volgeirea said...

Out of all the apps that I have (which is a LOT!) I always go back to this one, it never gets old for me :) I play this game all the time and it's really peaceful just watching the protozoa that you make just surviving or even just letting randomly generated protozoa in the sandbox go and do their thing, my favorite creation lasted more than 130000 units of time, I call it Lurker. It stays away from the sun, eats food if it's less than 20 units away, attacks it's relatives since more of this species will just eat all the food for the original, if it's life is starting to go down it attacks anything, and if none of the above apply, it hides.

SUGGESTIONS: this is already such a great game, I can't really think of much else that could be done with this, but I do have a couple suggestions.

1. Adjust the colors of the protozoa in sandbox mode

2. like being able to attack specific protozoa like predators and scavengers, I think an option to be able to mate with specific protozoa like relatives or foreigners.

Since the last update with being able to import your saved protozoa and save protozoa from sandbox was so great I am really looking forward to the next :) thank you so much for providing me with an app I really really love!

Volgeirea said...

Out of all the apps that I have (which is a LOT!) I always go back to this one, it never gets old for me :) I play this game all the time and it's really peaceful just watching the protozoa that you make just surviving or even just letting randomly generated protozoa in the sandbox go and do their thing, my favorite creation lasted more than 130000 units of time, I call it Lurker. It stays away from the sun, eats food if it's less than 20 units away, attacks it's relatives since more of this species will just eat all the food for the original, if it's life is starting to go down it attacks anything, and if none of the above apply, it hides.

SUGGESTIONS: this is already such a great game, I can't really think of much else that could be done with this, but I do have a couple suggestions.

1. Adjust the colors of the protozoa in sandbox mode

2. like being able to attack specific protozoa like predators and scavengers, I think an option to be able to mate with specific protozoa like relatives or foreigners.

Since the last update with being able to import your saved protozoa and save protozoa from sandbox was so great I am really looking forward to the next :) thank you so much for providing me with an app I really really love!


All content copyright © 2009  Brian Stormont, unless otherwise noted.   All rights reserved.