Code center > Darwinbots3

Combat System and other things

<< < (3/6) > >>

Numsgil:

--- Quote from: abyaly ---The bot you're looking at has a real size and an apparent size. The apparent size is a function of distance. The apparent veldx could be based distance the same way the apparent size is. Preventing an orbit could be simply done with *.refveldx .dx store as it is now. Or even without refvel vars at all, there is Jez's method of *.dx .sx store.
--- End quote ---

I'm working through the math, and well, things would be very different from how they are now.  Angular diameter can be approximated as real dimater / distance.  It's an inverse function with respect to distance.  If you were to plug in speed instead of diameter, you'd get a function that gets bigger as you get closer.  That is, things seem to move faster when they're closer to you.

But when you're close to another bot, you'd want to use finer controls.  So one obvious solution is to use the inverse of apparent speed times some base speed value.  Something like 100 *.refvel div .up store.  Which basically gives you a linear function based on distance.  The further away from an object you were, the faster you'd try to go.

As the object got closer, it would seem to be going faster towards you.  So a typical persuit would probably involve a huge speed up followed by a slow and gradual slow down.  And then there are issues of decimal values being returned for apparent velocity, and their rounding issues.

However, if the object were to increase its speed away from you, this inverse term would become lower, and the persuing bot would slow down as if it were approaching.  But of course it wouldn't be hard to check the apparent size of an object and make some sort of decision based on more information.  If a bot were to take this refvel and divide it by apparent size, it would get a function basically equal to speed / diameter.  Assuming the diameter won't be changing on the other bot very often, this gives the speed of the other bot divided by a constant.

In general, it just has a whole slew of implications and I'm still trying to sort through them all.  It might just, in the end, be about the same as giving a bot distance and relative speeds.  I'm not for obfuscating terms that a bot can easily calculate.

And in the end, unless you're imagining bots as floating space whales, it's hard to conceive of a situation where you'd be confused if another animal were really small or just far away.  Even animals without bifocal vision still have some basic lens structures set up that can give a good guess at distance (things are blurry if they're far away and you're looking at something close up).


--- Quote ---Under the system I suggested, the "sac" would be a separate bot set up in a way so that it isn't succeptible to the poison. For example, a poison that stores some sort of strange action, like spinning around, would be entirely ineffectual in a bot that has no muscle. A poison that constantly produces fat could be contained in a bot with a small shell (if shell restricts growth). This way specialized parts become necessary to handle the deadliest toxins.
--- End quote ---

I dunno, on the one hand it's nice to move towards a more specialized system, where several bots would have to work together to be the most effective.  But on the other hand, I think the program should work as a simulation of whole creatures.  You should be able to pretend a bot species is a lion and another a tree just as easily as imagining one is an ameoba and another a volvox.

I think I'd like to keep specialization seperate from the ability to effectively use a feature.  Have a colony of bots work better because of economies of scale instead of whole new features.  Well...  There are physical connections between bots to form structures.  Maybe invent some other new features that are possible when you have a large number of bots working together, beyond just structural ones.


--- Quote ---
--- Quote ---I am playing with the idea of shell locking the volume of a bot.  A bot that tried to increase its size (say, by eating another bot) beyond the limit imposed by the shell wouldn't be able to do it.  But part of me feels that it would make shell have too much of a downside and bots would be better off without it, defeating its purpose except for a very limited niche role.
--- End quote ---

You know that bit earlier when you were talking about the ability to place shell on specific parts of the bots body? Well this seem to tie in nicely, I'm thinking limpets and crabs here; one produces a shell that grows larger as it does, while the other sheds its shell and then has to wait for a new one to form.
Thinking about that though the crab might be hard to do without allowing growing space inside the shell, not sure how it really works.

--- End quote ---
I'll research and try to find out why some animals need to molt and others don't.  Hopefully I'll come up with a reasonable solution that allows minimal shell protection without restriction, and more endurable shell protection that requires molting to grow further.

It wouldn't be hard to give a bot the ability to puff up its size artificially.  Insects do it all the time when they molt their shells and make new ones.  That way the new shell is larger, and the insect still has time to grow into it.  It could also be used as defense.  Make another bot think you're larger than you really are.  Of course, other than looking impressive size is something you want to avoid.  Just makes you a target for the bigger predators.  If you don't have the muscle to back up your size, you're just a sitting duck.

Trafalgar:
I'd rather not have aiming (at where the target will theoretically be in the future) be even more difficult than it is now.

abyaly:

--- Quote ---In general, it just has a whole slew of implications and I'm still trying to sort through them all. It might just, in the end, be about the same as giving a bot distance and relative speeds. I'm not for obfuscating terms that a bot can easily calculate.
And in the end, unless you're imagining bots as floating space whales, it's hard to conceive of a situation where you'd be confused if another animal were really small or just far away. Even animals without bifocal vision still have some basic lens structures set up that can give a good guess at distance (things are blurry if they're far away and you're looking at something close up).
--- End quote ---
No matter what information you give about size, position, and velocity, it will be possible to at least guess at reality based on that information (if it isnt, the bots are screwed). The only thing that changes is how much time and effort it takes a bot to get the real values. Things may be better off if the bot just had real size, speed, and position from the start. I just care about consistency.


--- Quote ---I think I'd like to keep specialization seperate from the ability to effectively use a feature. Have a colony of bots work better because of economies of scale instead of whole new features. Well... There are physical connections between bots to form structures. Maybe invent some other new features that are possible when you have a large number of bots working together, beyond just structural ones.
--- End quote ---
If you had a siamese twin, you would be at a disadvantage. Why? Because neither of you is delivering something the other can't do on their own, and yet you restrict each other's movement. Right now, bots have only the smallest of differences in form and function, the only real difference being behavior. Because of this, I don't think it's good to be essentially giving a bot an extra 'organ' for something that is more an of amenity than a necessity.

Trafalgar:
I would like to see multi-bots with, say, a tail with a heavily shelled end cell (or cells), with it being capable of coordinating swinging the tail to strike an enemy with the shelled end, to damage or destroy them with the force of the impact.

Jez:

--- Quote from: Trafalgar ---I would like to see multi-bots with, say, a tail with a heavily shelled end cell (or cells), with it being capable of coordinating swinging the tail to strike an enemy with the shelled end, to damage or destroy them with the force of the impact.
--- End quote ---
That would mean single cell bots would also have the ability to damage other single cell bots through collision as well though wouldn't it?

Don't get me wrong, it's an interesting idea; perhaps limit it to shell on shell impacts or give bots a deformity limit rather than the overlap they have now, physics states that energy is motion X mass? so the faster moving of two equal bodies causes more damage.

Nums;

The thought of comparing limpets to crabs was that limpets have an open space to expand into, crabs are enclosed so they have to shed their shell to expand.

/.\ becomes /.\
................. /oo\

I realise that it would mean bot shapes become deformable though and that shell would become plates placed in regions over the bots body.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version