Animals ideas thread
|
mexxa Woyseck
Registered User
Join date: 8 Oct 2005
Posts: 31
|
10-11-2005 14:28
I was just thinking about some of the Dev comments about a jungle that evolved so you left it and it would form something new. Surely you could make animals that did this, for the basics all you need is a bit of random movement maybe related to grass (stay at grass patch and eat for x time then move to the nearest patch). You could always have a variable called hunger, when it is maximum (depending on the size of the animal) the animal stops eating. The hunger goes up every x seconds and when it reaches a certain level it will try and eat. If the animals hunger gets too high it dies. That would give us a realistic feeding and herbivore movement but of course every animal dies and every animal reproduces by definition. So there would have to be another timer, dependant on the time it spends hungry (time where it can't find grass objects), size and a bit of randomness. Once that timer runs out (or reaches a certain time) the creature dies. With death comes birth, this would depend on the animal. Bigger animals (that live longer) breed less and smaller (shorter life) animals will reproduce a lot more. So the amount of 'eggs' laid will be proportionate to its size. Of course for birth you need male and female, so you have male and female and in most animals the percentage of males is a lot fewer than the females. So giving birth I think about 3/4 will be female, therefore the amount of 'reproduction' is also dependant on the sex of the animal. Since I started thinking about this when i read about the ever developing forest I figured the every birth the animals ought to get slightly better, they travel slightly faster, require less food etc. They would also differ from their parents in size and in colour, so every birth the colours from the two parents are taken (HEX) and a new colour with a possible difference of +5 or -5 in R, G or B is created. I originally stated that the 'babies' should start as eggs, this would add a bit of competitivity between animals as of course eggs feed better than grass  . So if an animal becomes aware of an egg (if it is within its 'smelling distance') then it will obviously go and eat it. When giving birth I think a each animal should be named with numbers and have its parents stored in the script, so if the egg is being 'attacked' then the parents will travel towards the egg and protect their egg. Quite a lengthy Idea but I think It would be quite fun to leave some animals around and see what happens after a month or two. As well as C & C I ask that people post what stats they think animals should have (and how they effect them). Refer to the slightly randomness at birth as the birth difference. So far I think- Size - base animals' stats and birth differences. Hunger - covered in post, related to size and birth differences, animals will eat more until they reach 1/2 age (hungrier animals will run faster than towards food). Speed - how fast it can run... (faster animals require more food) (based on base animal and birth difference). Age effected. Smell sensitivity - how far it has to be to from 'an edible' to 'lock on' and eat it. Age effected. Lifespan - size, base animals' stats and birth differences. Health - How much it can be hit by other animals before it dies, base animals' stats, age, hunger and size. Damage - Size age and base animals' stats. Pack - (name pending) The loyalty animals have to their own kind, these animals will travel in packs or herds and will fight for their species eggs (will run away at different levels of health depending on their loyalty). Base animals' stats and birth difference. Sorry if this is a repost of another thread but for some reason my threads haven't been showing up 0.o
|
Jesrad Seraph
Nonsense
Join date: 11 Dec 2004
Posts: 1,463
|
10-12-2005 02:34
You may want to check this thread 
_____________________
Either Man can enjoy universal freedom, or Man cannot. If it is possible then everyone can act freely if they don't stop anyone else from doing same. If it is not possible, then conflict will arise anyway so punch those that try to stop you. In conclusion the only strategy that wins in all cases is that of doing what you want against all adversity, as long as you respect that right in others.
|
Devlin Gallant
Thought Police
Join date: 18 Jun 2003
Posts: 5,948
|
10-12-2005 05:25
WHAT Dev comments? I NEVER said anything about this stuff! 
_____________________
I LIKE children, I've just never been able to finish a whole one.
|
mexxa Woyseck
Registered User
Join date: 8 Oct 2005
Posts: 31
|
10-12-2005 09:30
From: someone I used to dream about this idea of a huge forest – a few hundred sims with an interacting ecosystem so complex that one could stroll through it an discover plants and scenes that noone had ever seen before. This could be done in a mind-blowing way even today if we just used the entire grid for the 'forest'. I was refering to philips blog as I have quoted, it just got my mind going. Thanks, that prooved my idea is possible. I'll try and get some tips off of him.
|
Dnate Mars
Lost
Join date: 27 Jan 2004
Posts: 1,309
|
10-12-2005 09:40
I have been trying to do this on a very basic level, but there are limits in the LSL that are really hard to overcome. The biggest thing I am having trouble with is the passing of "DNA". In the script the most you can send is a signle integer. Makes evolution very hard. The rest is doable. It is not an easy task, but doable. LLSensor is also a limiting factor to me, but I may just be using it wrong too.
_____________________
Visit my website: www.dnatemars.comFrom: Cristiano Midnight This forum is weird.
|
mexxa Woyseck
Registered User
Join date: 8 Oct 2005
Posts: 31
|
10-12-2005 09:48
I'm really new to SL but I can read most scripts and don't find it hard to learn. I figured that the evolution would be a script which contains that animals' colour, size etc and it would be sent to the mating partner to form the characteristics script for the child. So you have male animals sending their characteristics information to the female which takes that information and processes it to create the child's characteristics which is then 'dropped' on the child.
|
Dnate Mars
Lost
Join date: 27 Jan 2004
Posts: 1,309
|
10-12-2005 10:11
From: mexxa Woyseck I'm really new to SL but I can read most scripts and don't find it hard to learn. I figured that the evolution would be a script which contains that animals' colour, size etc and it would be sent to the mating partner to form the characteristics script for the child. So you have male animals sending their characteristics information to the female which takes that information and processes it to create the child's characteristics which is then 'dropped' on the child. That is what I thought too. llRezObject params are as follows: inventory, pos, vel, rot, integer param. The only way to pass values to the child is via the integer param. So that is a very limiting factor on passing information.
_____________________
Visit my website: www.dnatemars.comFrom: Cristiano Midnight This forum is weird.
|
mexxa Woyseck
Registered User
Join date: 8 Oct 2005
Posts: 31
|
10-12-2005 10:43
Send the message in some sort of code mb? Integers would be fine, If you work with RGB colours you can send that informations easily, all the other stats are integers as well. Just be inventive  .
|
Jesrad Seraph
Nonsense
Join date: 11 Dec 2004
Posts: 1,463
|
10-12-2005 10:56
Randomize the integer, pass it to the rezzed copy, which then opens a one-shot listen on this number as a channel, and send everything you need from the "parent" to the "child" 
_____________________
Either Man can enjoy universal freedom, or Man cannot. If it is possible then everyone can act freely if they don't stop anyone else from doing same. If it is not possible, then conflict will arise anyway so punch those that try to stop you. In conclusion the only strategy that wins in all cases is that of doing what you want against all adversity, as long as you respect that right in others.
|
Dnate Mars
Lost
Join date: 27 Jan 2004
Posts: 1,309
|
10-12-2005 11:00
From: mexxa Woyseck Send the message in some sort of code mb? Integers would be fine, If you work with RGB colours you can send that informations easily, all the other stats are integers as well. Just be inventive  . Yeah, right after I posted that, that same idea came to me. Still, it is a limiting factor, so no human DNA for now 
_____________________
Visit my website: www.dnatemars.comFrom: Cristiano Midnight This forum is weird.
|
Dnate Mars
Lost
Join date: 27 Jan 2004
Posts: 1,309
|
10-12-2005 11:02
From: Jesrad Seraph Randomize the integer, pass it to the rezzed copy, which then opens a one-shot listen on this number as a channel, and send everything you need from the "parent" to the "child"  Another good workaround, but how would that with lag and such. Most of the data really needs to be there on rez.
_____________________
Visit my website: www.dnatemars.comFrom: Cristiano Midnight This forum is weird.
|
Frans Charming
You only need one Frans
Join date: 28 Jan 2005
Posts: 1,847
|
10-12-2005 13:55
From: Dnate Mars Another good workaround, but how would that with lag and such. Most of the data really needs to be there on rez. You could rez a empty clone that forms itself after it gets its dna. Lag would be little of you just open it for a few seconds on a private channel listening to his parent.
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
10-12-2005 14:28
From: Dnate Mars Another good workaround, but how would that with lag and such. Most of the data really needs to be there on rez. Naw it doesn't. I have had success with a shipboard guided missile system. The launcher rezzed the missile, then passed a string to the listening missile, as Jesrad described. The string was something like "target's_key,firer's_key,region,speed,explosion_style." LSL is pretty good at being able to chop strings up and parse out the needed info. You could pass an unlimited amount of data from object to object, though, as you say lag must be coded around for the solution to be elegant.
|
Jeffrey Gomez
Cubed™
Join date: 11 Jun 2004
Posts: 3,522
|
10-12-2005 18:12
Something like this was tried with flowers, I believe. It read very much like the forefather of genetics research.Fortunately, LSL can do all this stuff. Some might say easily. That's not the problem with it, per se. Instead, the grapevine turned sour on one note: This sort of thing is extremely laggy, or rather, taxing on a sim. The real bottleneck is this: To communicate between scripts, one typically needs to open a listener, since assets cannot be written to. A large number of active listeners within a sim cause a great deal of load on the sim itself. Furthermore, to accurately similate genetics and behavior, you would need to produce a complex algorithm that could easily span several scripts, which tied in with the first point place an unrealistic strain on the given server. I think it's a terrific idea, and an experiment I would endorse 150%. But until these bottlenecks are addressed, or a workaround is found, I would be loathe to suggest such an experiment in Second Life. Though, if you're interested, there are other platforms to try that you could use to "get a feel" for this sort of thing. This is a good start, as far as a scripting API goes. Re, comments above: An "empty clone" of an object is itself a rub, because: How would you define that object as a clone without handling some sort of data handoff? The only way I could forseeably see this working, today, is if the process was rather slow and handled object passing/open listeners effectively. It would take a while to see any results (easily a few months), but at the right pace it could be rather... interesting. If we could define prims as "cells," the end result would be incredible. This all makes me wonder... ... ......
_____________________
---
|
Dnate Mars
Lost
Join date: 27 Jan 2004
Posts: 1,309
|
10-12-2005 18:36
From: Jeffrey Gomez Something like this was tried with flowers, I believe. It read very much like the forefather of genetics research.Fortunately, LSL can do all this stuff. Some might say easily. That's not the problem with it, per se. Instead, the grapevine turned sour on one note: This sort of thing is extremely laggy, or rather, taxing on a sim. The real bottleneck is this: To communicate between scripts, one typically needs to open a listener, since assets cannot be written to. A large number of active listeners within a sim cause a great deal of load on the sim itself. Furthermore, to accurately similate genetics and behavior, you would need to produce a complex algorithm that could easily span several scripts, which tied in with the first point place an unrealistic strain on the given server. I think it's a terrific idea, and an experiment I would endorse 150%. But until these bottlenecks are addressed, or a workaround is found, I would be loathe to suggest such an experiment in Second Life. Though, if you're interested, there are other platforms to try that you could use to "get a feel" for this sort of thing. This is a good start, as far as a scripting API goes. Re, comments above: An "empty clone" of an object is itself a rub, because: How would you define that object as a clone without handling some sort of data handoff? The only way I could forseeably see this working, today, is if the process was rather slow and handled object passing/open listeners effectively. It would take a while to see any results (easily a few months), but at the right pace it could be rather... interesting. If we could define prims as "cells," the end result would be incredible. This all makes me wonder... ... ...... The lack of writing to assets is the biggest limiting factor. The rest seems to work somewhat well without too much lag, but is llSensor really laggy?
_____________________
Visit my website: www.dnatemars.comFrom: Cristiano Midnight This forum is weird.
|
Jeffrey Gomez
Cubed™
Join date: 11 Jun 2004
Posts: 3,522
|
10-12-2005 19:39
From: Dnate Mars The rest seems to work somewhat well without too much lag, but is llSensor really laggy? At short ranges and long intervals, not really. If you're curious at how (un)laggy you can get with this sort of stuff, fly to Games1, 100ish meters up, and run the game (Primmies) I have set up there. It's my best attempt at hacked optomization. It utilizes optomized sensors, collision code, listeners, physics, asset handoff x5 scripts, llRemoteLoadScriptPin x30 scripts, and a heck of a lot more. Yet, it rarely pulls the sim down. The reason for this is: all of these commands are used in moderation. That code is kept in roughly a closed circuit. Unleashing self-replicating code of the above nature is, well, suicide with the current bottlenecks. But once we have simple object-to-object script dialogs and shared storage (hopefully), I would love to see another attempt at this experiment. Because, personally, I think it'll unleash the stuff of dreams.
_____________________
---
|
mexxa Woyseck
Registered User
Join date: 8 Oct 2005
Posts: 31
|
10-13-2005 08:23
I'd most likely have a longer life ( a few days) than most animals ingame atm and each animal shall mate twice (at least). If the population dwindles Ill add another male and set a female's limit higher untill the population of that animal is optimum(short term fix), then I'd give the egg more hp and make that type of animal more loyal so they attack anything attacking thier species' eggs(long term). And if the population gets to big Ill introduce a carnivour.
|
Alex Lumiere
Registered User
Join date: 1 Jun 2004
Posts: 228
|
10-13-2005 13:34
would there be a way to "port" some of the workload a Sim would normally take care of and move it to another outside server? in terms of updating animal "DNA" and characteristics, movement, etc. just a thought
|
Dnate Mars
Lost
Join date: 27 Jan 2004
Posts: 1,309
|
10-13-2005 16:02
From: Alex Lumiere would there be a way to "port" some of the workload a Sim would normally take care of and move it to another outside server? in terms of updating animal "DNA" and characteristics, movement, etc. just a thought That is possible, but that is a lot of work outside of SL. That would require a outside server too. My goal is to have it all within SL.
_____________________
Visit my website: www.dnatemars.comFrom: Cristiano Midnight This forum is weird.
|