I would like to propose an online artificial life project, which uses the internet as an environment for a collection of user generated creatures. They will eat the internet! The internet acts as a changing terrain and food source. A bit like visible web crawlers looking for food, shelter, breeding partners and avoiding predators. I think this forum would be a good place to try and hack around ideas along these lines. The overall aim is to create a space in which users can make things which the creators never thought of, possibly even to encourage some kind of open ended evolution of the creatures. After all the internet as a terrain is an ever changing evolving expanding space, so navigating it successfully would also require adaptive behaviour.Too many alife projects (as fascinating as they are) never have any chance of creating novel behaviours because the beings live in a featureless or fixed environment. Here's a super crude image of the type of thing I have in mind. (Lizards eating text and image from a google search page)I'm sure this idea has been around for a long time - and in particular Tom and Tim talked about it in one of the episodes of the Biota podcast. (Tom I can't find the link on your site - I'd like to listen to it again). But I don't think anyone has done this yet and it would be a fantastic way to get people into the area of alife. To build their own creatures and then set them free to wander the internet.Technically I think the tools exist to do this, html5, databases, browser plugins which reveal a hidden layer of information above websites, which ones have been eaten or are lairs or breeding grounds etc. I'm not too worried about how it is done at this point more in what it could be - how could it be brilliant?There have recently been several large scale user generated projects which have got 1000s of people working together to create interesting and in some cases challenging / ground breaking content. For exampleMinecraft - sort of digital lego - building anything you want and then blowing it upLittleBigPlanet - designing game levels and other contraptions to delight & challenge other users.Soda Play - people building cool models which animate and flex, with even some problem solving aspects.Creatures - neural networked learning from cute creaturesSecond Life ? What I would like to see is an artificial life game/project which was free to use and allowed people to create invent new life forms and let them roam.---So the types of questions I am asking are:1) How do you keep people invested in their creations? 2) How do you allow for ongoing novelty?3) What is it that the roaming creatures do that is interesting?4) how do you stop it from becoming like 90% of other alife projects which fizzle out after initial excitement?5) what is cool about it?6) how to get the balance between ease of use and richness of behaviour?Over to you. Tim PickupGenetic Moo
Found it - was looking in the wrong sectionhttp://www.biota.org/podcast/live.html#73
I've listened again to Tim's ideas on the podcast and they have a lot in common with the above. have you made any progress Tim?The main difference is that in Tim's idea he suggests the webpage is the organism itself. The internet eats itself ! In my idea the webpage is the terrain. The organism would be constructed by the user. Which then goes out and eats the internet.I like both ideas. Tim's has a more conceptual feel, mine is more literal.
This sounds like a really interesting idea. As you said, Tom and I did speak about this kind of thing some time ago in the Biota podcast, although my ideas then were not well formed.Since then I have thought about this some more, both along the idea of the webpage as an organism and the webpage as a terrain. For treating the web as a terrain, I had some very similar ideas to what you set out above, and I also had some ideas of developing alternative parsers for HTML so that a standard webpage could be interpreted as a specification for a 2D or 3D terrain of some sort.I am currently gearing up to start developing a new alife system that will "live" on the web, so that it will be distributed and ongoing. I totally agree that the technologies are out there for doing something really cool.(My plans are a little more low level than what you set out here, in that I really want to concentrate on creating digital entities that are autonomous in that they have to actively engage in maintaining their own structure and organisation in the context of something like an artificial chemistry.)But I think the questions you highlight are all really important for both kinds of system. To take ongoing novelty, this can come about through new kinds of creatures, or new kinds of environments. It can come about through new combinations of existing technologies (sensors, effectors, neural nets, chemical pathways, etc), or by utilising some new phenomenon in the environment that was not previously used (e.g. the evolution of flight, or the evolution of eyes). And for virtual environments, there is the possibility of adding new phenomena to the environment on the fly (that's something I'm think about for my system). On this topic, Brian Arthur's book "The Nature of Technology: What it is and how it evolves" is a really good read.
I am in the process (and it will be a long process) of moving Noble Ape to a distributed network model. It is requiring substantial code review and some refinement through the process. It is amazing how few assumptions from single machine computing hold true in the cloud. Also adding unit testing to make sure nothing breaks through the move.
Here are some notes towards what I am thinking - a cross between Minecraft and Core Wars (but on the internet). The Minecraft side would be to let people play in a 3d sandbox putting together blocks, but rather than the blocks just being passive (like most Minecraft ones) they would be components of some sort of machine. So cogs, gears, pulleys, batteries, lights, switches, wheels. The difficulty would be in designing these objects so they simply lock together and do something. Then you let it loose to the public (and by public I probably mainly mean hoards of creative kids) who would build simple machines and then start putting the machines together to make bigger machines and so on. This all needs to be completely simple to do. Join a battery to a light and it lights. Add in a switch and it lights when you press it. Add in a sin wave block (?) and it switches on off on off. Add it onto a rotating disc attached to another battery and you have a lighthouse. This sort of process....Then for the Alife stuff. You need to provide a varied environment with various fluctuating energy sources and some free external energy (the sun) and allow the machines to farm the energy sources and grow somehow. So the question would be how would the machines grow? Is it all user controlled combinations of components or can blocks be generated. Or is it just energy to keep the machines running.?Certainly the machines will be able to fight each other, cannibalise each other, they could kill each other. And breeding could be done by combining elements of both. Could a machine split in two if it gets enough energy. Possibly. Like bacteria. Maybe there is a block which can become any other type of block (like a stem-cell block) if it gets enough energy. So you could grow in this way.Finally this all just sounds like it could exist on a server - what is the internet aspect to this? Could these machines be living on the environment which is a mapping of the internet - does this add anything interesting to the project? Well the internet could provide the fluctuating energy source as it is constantly changing and spreading / bits disappearing. How could the machines use the internet pages as energy. A simple idea would be to use the text and images (which is what websites primarily are) in a different way. So for a crude example - red pixels could be one energy source, green, blue. How would this be interesting? ie how would it have any bearing on the underlying information stored in the page - as opposed to just a collection of letters and pixel RGB data. Another idea might be to look at the connectivity as the important thing - so the machines have 1) a physical arrangement of blocks to enable movement + energy collection but 2) an algorithm something like a web crawler (and this is where the Core wars idea comes in - actually that isn't a great example because the code and the arena share the same space. - maybe more like those Robot programming challenges like Robocode). So the machines can move from page to page - using the algorithm. In which case the algorithm should be in the form of the blocks making a choice as to where to move to across the page data. This all sounds a bit like Von Neumann's self replicating cellular automata, which is good, but in 3d using a small set of understandable non abstract blocks and with a steam punk aesthetic - battles of giant watch-type mechanisms which slowly crawl from web page to web page eating the web. There would be some sort of central recording server which keeps track of where everything is and how to get from A to B quickly - some fight arena / breeding / part swapping websites built, and the ability for people to build their own websites which could be garages of scrap parts to build up their own machine. But you have to crawl there which costs energy, and so on... These are just random thoughts. I would welcome suggestions / ideas.TimGenetic Moo
Maybe the name should be The Clanking
It looks like you're new here. If you want to get involved, click one of these buttons!
Apply for Membership