Author Topic: New bot shape  (Read 19758 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New bot shape
« on: July 06, 2007, 05:58:22 AM »
I've been working over how the next Darwinbots will work.  Specifically I want to make it 3D and allow bots to create "membranes" so they can form things like squids that move based on jet propulsion.

I realized pretty quickly that spherical bots attached with rods doesn't work well in this sort of situation.  Bots that wanted to change the angle between ties need to specify both ties to work with.  This creates a level of complexity that I have a hard time imagining evolution being able to successfully adapt to.  So I reversed my thinking, instead of bots acting as the joints between ties, I have bots be the rigid rod and have them form joints with each other.

There are a variety of shapes that bots could have.  The one that comes to mind quickest would be a large box.  But I don't think it would look very organic-- too many corners.  The next thought in my mind was for them to be capsules.  Looking something like this:



Multibots would form as a pivot point between two bots.  It would either look like or

I haven't decided which one looks and works better, so I might implement both and see which one works better in practice.  I'm wondering what people think about something like this.  It would really change how the program looks.
« Last Edit: July 06, 2007, 05:59:51 AM by Numsgil »

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
New bot shape
« Reply #1 on: July 06, 2007, 01:12:36 PM »
3D would be very cool! 8)

I think the second example of pivots looks pretty good, cells join on the outside of their surfaces. The first example, if in a 3D enviroment, makes me think the bot is linked on the outside of the cell still but our POV hides the link.

Your new shape for the bots looks like an extended circle, might be an idea to allow bots to modify their proportion along the centre axis as well and gain another means of propulsion. (change from circle to extendable cylinder at will while maintaining overall volume).  Unfortunately I'm not smart enough to do a pictoral example of that so I'll leave that idea to your imagination. Was thinking of muscle cells maybe...
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline razzo

  • Bot Neophyte
  • *
  • Posts: 3
    • View Profile
New bot shape
« Reply #2 on: July 06, 2007, 02:04:44 PM »
One word:
Awesome.


Just hide the pivots and allow the player to guess.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New bot shape
« Reply #3 on: July 06, 2007, 11:14:07 PM »
Quote from: Jez
3D would be very cool! 8)

I think the second example of pivots looks pretty good, cells join on the outside of their surfaces. The first example, if in a 3D enviroment, makes me think the bot is linked on the outside of the cell still but our POV hides the link.

Your new shape for the bots looks like an extended circle, might be an idea to allow bots to modify their proportion along the centre axis as well and gain another means of propulsion. (change from circle to extendable cylinder at will while maintaining overall volume).  Unfortunately I'm not smart enough to do a pictoral example of that so I'll leave that idea to your imagination. Was thinking of muscle cells maybe...

Hmm, that's an interesting idea.  I was thinking more along the lines of fixed proportions and have bots grow or shrink as they gain mass, but I can see some fun possibilites from having them be able to change their length.  I'll have to work it out on paper and see how it would work.

Quote
Just hide the pivots and allow the player to guess.

Yeah, the pivots in the pictures are for the diagram.  I probably wouldn't have the pivots get drawn by default.

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
New bot shape
« Reply #4 on: July 07, 2007, 01:13:22 AM »
You could get some very interesting methods of propulsion that way. This idea reminds me a bit of sodaplay.com
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline fulizer

  • Bot Destroyer
  • ***
  • Posts: 198
    • View Profile
New bot shape
« Reply #5 on: December 04, 2007, 08:58:50 AM »
yes but try to avoid I being to power comsuming for the computers
"If this is coffee bring me tea, If this is tea, bring me coffee"

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New bot shape
« Reply #6 on: December 04, 2007, 09:31:16 AM »
It shouldn't take that much extra computational power.  The bots will always be convex, which makes collision detection not that much more difficult.

And as long as I'm posting, currently I'm envisioning a bot that can control it's length, width of the head, and width of the tail.  So I bot could squish itself down to a circle, or squeeze its head and tail and form a really long noodle.  Should allow sodaplay-esque multibots to form, but with more control over individual elements.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
New bot shape
« Reply #7 on: December 04, 2007, 12:44:31 PM »
What if you don't have flexible joints at all, but rather put much more focus on flexible shapes? Two bots would define how much surface they would share with each other and which part of them would be shared. Then they are tightly connected there, but are free to change their own shapes. This would be much more biologically relevant. Would that work at all or would it be way to complicated?
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
New bot shape
« Reply #8 on: December 04, 2007, 01:22:22 PM »
Quote from: shvarz
What if you don't have flexible joints at all, but rather put much more focus on flexible shapes? Two bots would define how much surface they would share with each other and which part of them would be shared. Then they are tightly connected there, but are free to change their own shapes. This would be much more biologically relevant. Would that work at all or would it be way to complicated?
It would be more computationally expensive.  The more you can describe a shape with a formula (e.g. circle, line, rectangle) the faster it will be to draw, the faster we can compute collisions and so on.  The more we allow arbitrary shapes, the more work has to get done make up those arbitrary shapes from lots of smaller geometric shapes (usually triangles).  It gets costly.  Special hardware can help (which is what graphics cards and Xboxes do) but you still have to compute the shapes and collisions and so on.

Some strategies such as using bounding boxes can help and may provide realistic looking collisions, etc. by using a simplier invisible shape that surrounds the more complex arbitrary shape.  That can help narrow down the cases where the work has to be doen for collision detection and so on, but we still have to do the work when collisions do occur.   For arbitrary shapes to matter, those tiny little surface differences have to matter and make a difference in how organisms collide, etc.  

Bottom line, simple shapes make the math easier and sims faster but also the organisms simipler.  You get what you pay for.
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New bot shape
« Reply #9 on: December 04, 2007, 02:49:50 PM »
I explored floppy bean bag like cells, but I had these problems:

1.  Most systems like this aren't really that robust.  You can have the cell collapse in on itself in a tightly coupled mass of vibrating goo.  Basically game over the cell.  Which is fine for a game where you only lose a life and start the game over, but for an evo sim it's a disaster.

2.  Floppy shapes are not always convex, making collision detection significantly more difficult.  We'd probably never get sims with more than a few hundred bots run at any decent speed.

3.  I have no idea how a bot would control its shape from the DNA.  Actual cells use a sort of fuzzy logic, pulling various bits of its cytoskeleton with varying strength, which results in the final shape.  I don't really have a good idea of how to accomplish something similar with the way DNA works in the program.

Still, if those three issues ever get solved, I'd really like to explore floppy ameoba cells.  It's just beyond my capabilites (and most others' capabilities from the looks of it).

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
New bot shape
« Reply #10 on: December 04, 2007, 03:28:02 PM »
No, I did not mean to go directly to an amorphous goo, I meant that you can give bots controls over simple shapes and how they get stuck to each other. Pretty easy to imagine DNA controls that would switch between oval, triangle and quadrilateral and maybe higher-level shapes too. The controls for changing shape would be easy too - control lengths and/or angles. Allow only one connection per side and interacting sides from two bots must be of equal length.

Actually, you don't even need to introduce shapes higher than triangles, just develop good realistic algorithms that would deal with how triangles interact with each other and with the world and how they change shape. More importantly - how a large collection of triangles stuck together changes shape when one of them tries to change shape. True, it's not going to be very bio-looking, but you can hide the triangles and show more rounded bots for pleasant looks.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New bot shape
« Reply #11 on: December 04, 2007, 03:40:46 PM »
I read some articles in an Alife journal about something similar using rods.  They would connect together using simple rules and form more complex aglomerations.  It's certainly an option.  If anything, limiting bots to regular polygons would make things easier.

With the present capsule design, I was trying to roughly simulate the rounded shapes of actual cells, and provide a generalization that the current system would fit inside.  Bots shaped like capsules look vaguely cell like (resemble plant cells more than animal cells), and if you maximized the size of the head and tail you get a bot that's a circle.

So I'm open to suggestion.  Personally, while I think using n-gons would work just fine, I also think rounded capsules are keeping more in the spirit of Darwinbots, with its faux biology.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
New bot shape
« Reply #12 on: December 05, 2007, 03:09:27 PM »
Well, looks are not everything. Besides, as I said, the looks can be cosmetically applied on top of physics. I was just thinking that you may as well build-in some more robust structural integrity for multibots. Connected sticks are pretty flimsy things - break one and the whole structure falls apart. Connected shapes right away provide a higher level of complexity and stability. And much more complex shapes. Not sure if it's necessarily a good thing, it was just an idea.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
New bot shape
« Reply #13 on: December 05, 2007, 03:45:38 PM »
I think there is not much value in to complicated shapes, exspecially when shape plays such a minor role in most aspects of the game, pivots and capsules give enough function of positioning and keeping together, although I am worried about the topic of equal orientation for bots in order to make their movement commmands compatible, however I do not know mujch abouts darwinbots3 work in this regard.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
New bot shape
« Reply #14 on: December 05, 2007, 03:48:41 PM »
I'll keep it as a fall back plan.  If I can't get a reasonable simulation running using round rods like this, I'll start to play with using regular polygons.

Quote from: Welwordion
I think there is not much value in to complicated shapes, exspecially when shape plays such a minor role in most aspects of the game, pivots and capsules give enough function of positioning and keeping together, although I am worried about the topic of equal orientation for bots in order to make their movement commmands compatible, however I do not know mujch abouts darwinbots3 work in this regard.

I haven't worked out multibot communication yet, but it'll probably be like the rest of the senses and be relative to each bots' position and orientation.