Darwinbots Forum

Code center => Darwinbots3 => Topic started by: Numsgil on July 06, 2007, 05:58:22 AM

Title: New bot shape
Post by: Numsgil 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:

(http://img525.imageshack.us/img525/7269/botwz8.png)(http://img261.imageshack.us/img261/199/botdiagramgc0.png)

Multibots would form as a pivot point between two bots.  It would either look like(http://img385.imageshack.us/img385/5356/possiblemultibotnv6.png) or (http://img264.imageshack.us/img264/3686/possiblymultibot2wt2.png)

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.
Title: New bot shape
Post by: Jez 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...
Title: New bot shape
Post by: razzo on July 06, 2007, 02:04:44 PM
One word:
Awesome.


Just hide the pivots and allow the player to guess.
Title: New bot shape
Post by: Numsgil 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.
Title: New bot shape
Post by: abyaly 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
Title: New bot shape
Post by: fulizer on December 04, 2007, 08:58:50 AM
yes but try to avoid I being to power comsuming for the computers
Title: New bot shape
Post by: Numsgil 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.
Title: New bot shape
Post by: shvarz 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?
Title: New bot shape
Post by: EricL 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.
Title: New bot shape
Post by: Numsgil 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).
Title: New bot shape
Post by: shvarz 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.
Title: New bot shape
Post by: Numsgil 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.
Title: New bot shape
Post by: shvarz 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.
Title: New bot shape
Post by: Welwordion 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.
Title: New bot shape
Post by: Numsgil 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.
Title: New bot shape
Post by: shvarz on December 06, 2007, 12:24:22 AM
After thinking about it a bit, just having triangles should be plenty. Join to triangles along one of the sides and you have a multibot that can swim by changing the shape of one of them - by periodically increasing the length of the two unconnected sides (kind of like wagging the tail). Is your physics engine complicated enough to have this sort of propulsion?
Title: New bot shape
Post by: Numsgil on December 06, 2007, 09:45:46 AM
It could be.  I think I could work out the mathematics, or an approximation of it anyway .  You can make arbitrary shapes with any number of triangles, and it wouldn't be difficult to control at all, since the number of sides is a constant and low three.  DNA could simply control the length of each side to change shape, with certain restrictions to maintain surface area.

When I get that far I'll experiment with a trial version and see what comes of it.
Title: New bot shape
Post by: EricL on December 06, 2007, 11:42:08 AM
FYI, I did a little thinking last night about supportting capsule shapes in DB2.  Could have a long axis dimension through .aim under bot control, default would be 0.

But then I though more about what would be necessary to do this right:

Changes to fluid resistance and friction to handle new shape.
Fluid resistance at least would now depend upon bot oreintation.
Vision routine to handle capsule viewing.
Collisions routines for bots and shots and shapes handle capsules and factor in rotation.
A real angular momentum algorithm.
Moving from aim sysvars to thrust jets.
Tie changes to be end specific.

And so on.    Suffice it to say no-one has to worry about this showing up in DB2.
Title: New bot shape
Post by: Numsgil on December 06, 2007, 12:32:52 PM
That list is pretty much what I'm doing right now.   Or trying to do, we'll see what comes of it.
Title: New bot shape
Post by: Botsareus on December 20, 2007, 02:25:41 PM
Quote
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.

What about tie-feeding?
Title: New bot shape
Post by: Numsgil on December 20, 2007, 02:52:37 PM
Quote from: Botsareus
Quote
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.

What about tie-feeding?

What about tie feeding?
Title: New bot shape
Post by: Botsareus on January 03, 2008, 02:18:39 PM
Does the new robots have to position itselfs infront or in back of the victum and have zero disitance between them in order to form a tie? It was much easyer before when the robots can attach at any angle with relatively good distance...
Title: New bot shape
Post by: Botsareus on January 03, 2008, 02:24:27 PM
A problem of creating a worm:

A two celled warm is relatively easy:

A robot turns 180 degrees , reproduces , turns 180 degrees back. The baby robot attaches itself to thr back of the parent.

But what about if a warm consists of 3 or more cells. That means that the first two cells bouth have to rotate 180 degrees etc.

Solution:

Make the robot have a spesial command that makes its head and the eyes fase the back or the front.  Also please don't forget about slanted shots. This means: The shot can come from the front slanted up or down Or from the back slanted up or down.
Title: New bot shape
Post by: Numsgil on January 03, 2008, 10:49:37 PM
Ties and connections will be distinct ideas.  Ties will work pretty much like now.  You'll need to face the thing you want to tie to.  You'll need to be within a certain distance.  But you only get one tie.

Connections, like forming a worm, are a separate issue and feature.  Most likely, here's what happens:

1.  Reproduction works by taking an elongated bot in the shape of a capsule, and cleaving it in two.  Probably with the child bot's head being your old butt.  This way reproduction is always possible because the parent and child will take up the same physical space.

2.  Connections can be formed (probably can only be formed.  Still working out the logistics) by short-circuiting the reproduction process, so the child bot doesn't fully separate from the parent bot.  So in short forming a worm should be relatively easy.  Making the worms' cells work together is another issue entirely.

So in short, ties won't have anything to do with forming multibots.  They'll be separate ideas.
Title: New bot shape
Post by: Botsareus on January 10, 2008, 01:59:33 PM
Sounds Cool
Title: New bot shape
Post by: fulizer on January 14, 2008, 08:39:27 AM
Quote from: Numsgil
Quote from: Botsareus
Quote
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.

What about tie-feeding?

What about tie feeding?
tie feeding would work the same but with rigid ties (I think)
also nimsgils answer, ive ehard that somewhwere...
Title: New bot shape
Post by: rsucoop on January 19, 2008, 09:43:50 PM
Might I point out that by changing the shape of the cell, oyu greatly devalue its overall efficiency. The reason bubbles are round is because a sphere evenly distributes the forces exerted on it. Once you change the value of pi, or create a new shape other than a sphere, you create a weak spot in the cell, one which would cause a direct increase in damage bonus. Also, movement could be limited with a value that represented the sides of the cell. A 1 in the value of that side would indicate there are feet/flippers or some locomotive filange. If these values were expanded, different values like a 2 or 3 could change their best use/function as a swimmer/walker or whatever. These values would be used for determining a seperate cost evaluation. Changing the shape of a bot would have a profound effect on the type of bot it could be, hibernation would be difficult without a circular outer shell. The amount of new bots we would see would be exponentionaly larger than the types out now. Advanced multi-bots with nerve-like cells that were shaped closer to a star to allow for more 'fixed' ties with other cells, acting as a message highway for the cells. A cell could tell anyother cell at any given location in the multi chain to do something, like mutate, or make a shell or go faster or feed us. You might as well make a mutation value for the slopes of the sides of the cells, so that things like sin cells could be developed.
Title: New bot shape
Post by: Moonfisher on February 27, 2008, 05:52:22 PM
Wouldn't making it 3D increase the physics calculation too much ?
Anyways, from what I understood the bot has one tie and can form 2 of these links (One on each side)...
Or can you make several links in each end ?

Either way it seems to me like it would be cool if you could adjust the length of a bot, so you could use the conventional round shape or make your bot longer.
This way a round bot would also be able to serve as a joint for several longer bots. Having small round joints in between the long bots would also increase manuverability.

The downside of only creating links through birth would be that small organisms who infiltrate larger complex organisms would have no way in.

I'm also trying to figure out where the "canon" would be located... if it's in the midle it will be more effective at covering the sides... if it's in one end the rear will be very vulnerable forcing bots to keep on the move, and creating a dilema when linking complex organisms...
Maybe there could just be 2 possible shapes, you could just pick one when giving birth, this way a long bot could have a canon in each end and cost more to grow...
Either that or you could just have 2 canons all the time, and stretch the bot as needed, if it doesn't make short(round) bots owepowered compared to the longer ones.

I definately think it would be a shame to remove round bots altogether, I can't imagine the longer bots would be as easy to controll... single cell organisms would get knocked around all the time, wouldn't they ?
Title: New bot shape
Post by: Numsgil on February 28, 2008, 01:05:51 AM
Quote from: Moonfisher
Wouldn't making it 3D increase the physics calculation too much ?

It would, but not as much as you think.  It's straightforward enough to scale to 3D if I had a working 2D version.  But for the initial release I think it'll be 2D.

Quote
Anyways, from what I understood the bot has one tie and can form 2 of these links (One on each side)...
Or can you make several links in each end ?

The technical side is straightforward enough to have as many joints as I want, wherever I want.  However, allowing bots to change their shape might put some tax on the system, and limit the effective number of joints.

There was a great picture on Wikipedia that illustrated what I wanted to do, but I can't find it anymore :/  Basically, there are two types of connections bots might form.  The first allows for something that looks a tree.  Bots connecting multiple other bots together at their end points.  A long snake would be the simplest form, but you could also form something like a stick figure.  Each joint would also be a motor, so bots could apply force to change the angle (a walking stickman might be possible, but more realistically I tink a bunch of bots doing "the worm" to crawl along the top of shapes is more feasible.)  Something like a fish might also be possible, a long snake like bot wiggling to produce drag and net motion.  The second is a tissue layer that looks like a long stack of pancakes, or offset, looks like a brick wall.  This tissue form could be used to form something like a volvox: a bunch of bots all connect in a long stack, with their heads larger than their tails, to form a curve and eventually a large ball, with a hollow space in the middle.  In order to get to the inside of the volvox, another bot would have to either be eaten and pooped out by one of the border cells, or kill a handful of the border cells and squeeze in.

I'm working on the physics right now.  I need to find a way to balance rigid bodies (which are easy to simulate) with some slop in the joints to form something like a flexible tissue.  Once that's done (probably a few months yet), I'll start working on the control scheme.  How the bots will actually control and form these shapes.  This is definately the biggest step.  Once I get the physics down, most of the rest I know how to do.

Quote
Either way it seems to me like it would be cool if you could adjust the length of a bot, so you could use the conventional round shape or make your bot longer.

Yep, that's what I'm planning.  Still working on how it would work though.

Quote
The downside of only creating links through birth would be that small organisms who infiltrate larger complex organisms would have no way in.

It would be very easy for a complex organism to form a "skin" to keep out small bots.  But a small bot can always kill the skin cells and force its way in.  Or trick the skin in to eating it and pooping it out the other side maybe.

Quote
I'm also trying to figure out where the "canon" would be located... if it's in the midle it will be more effective at covering the sides... if it's in one end the rear will be very vulnerable forcing bots to keep on the move, and creating a dilema when linking complex organisms...
Maybe there could just be 2 possible shapes, you could just pick one when giving birth, this way a long bot could have a canon in each end and cost more to grow...
Either that or you could just have 2 canons all the time, and stretch the bot as needed, if it doesn't make short(round) bots owepowered compared to the longer ones.

You've lost me.  What cannon?

Quote
I definately think it would be a shame to remove round bots altogether, I can't imagine the longer bots would be as easy to controll... single cell organisms would get knocked around all the time, wouldn't they ?


 A round shape would just be the bot making its dorsal axis as small as possible.  Sort of a fuzzy logic control scheme.  Bots set values that represent how hard the cytoskeleton is pulling in different directions.  The physics engine then determines the appropriate changes in shape.
Title: New bot shape
Post by: Moonfisher on February 29, 2008, 10:15:33 AM
By "canon" I mean whatever it is the bots are using to shoot... the shots will have to come from somewhere.
In a circle shooting from the center is the obvious choice, but when you make the shape longer, then if you leave the "canon" in the center your ends will be exposed (More travel time for shots) , if it's in one end the other end will be exposed.... which is why I was thinking they could have 2 "canons" to be able to cover both ends.
Title: New bot shape
Post by: Numsgil on February 29, 2008, 10:36:07 AM
Shots will play a slightly diminished role, I think.  I'll probably just limit shots so that they just come from the eye.  I might play around with having longer bots be stronger (if you pretend the shot is a bullet from a mass driver, the longer length would give the bot more room to accelerate the particle and deliver more force).  But that's all in the distant future.
Title: New bot shape
Post by: rsucoop on April 06, 2008, 02:04:44 PM
What about adding inertia to the shot as it comes from the bot? So if the bot is moving 20, and it shoots, the shot will now travel 60. I think this would raelly imrpove realism and reduce the role of a shot. If we do this, I think the distance the shot can travel could be limited so that their is no real way to keep the shot alive, since it has more to do with friction and forces played on the shot.
Title: New bot shape
Post by: Numsgil on April 06, 2008, 04:27:16 PM
That's how the present system works, actually. So yeah, that's what I plan on doing
Title: New bot shape
Post by: Botsareus on May 01, 2008, 02:25:30 PM
Quote
Shots will play a slightly diminished role


Num, what do you mean by "slightly diminished" ?
Title: New bot shape
Post by: Numsgil on May 01, 2008, 02:41:41 PM
-6 shots (ie: body shots) are replaced with swallowing another bot, for instance.  Instead of firing in any direction, I'll probably limit shots to only firing in the direction of the bots' eyes.  That sort of thing.
Title: New bot shape
Post by: jknilinux on May 02, 2008, 01:13:58 PM
Hi nums,

This is probably the ultimate alife body form: http://www.io.com/~spofford/ (http://www.io.com/~spofford/) . Now, not only will the bots' programs evolve, but their bodies will too. Try out the program!
Title: New bot shape
Post by: Numsgil on May 02, 2008, 01:41:29 PM
Yes, I think I've seen it before.  Could never figure it out exactly.  There are certain limitations to what a bot in DB can be since they need to be able to connect and form a MB.  Other than that, there's certainly a lot of wiggle room.
Title: New bot shape
Post by: Blacksmith on May 02, 2008, 07:49:52 PM
have you look at what the artificial simulator 'Gene Pool' uses?
Title: New bot shape
Post by: Numsgil on May 02, 2008, 08:23:16 PM
Yep.  Ideally when I'm done you'd be able to build something like the gene pool swimmers.
Title: New bot shape
Post by: jknilinux on September 16, 2008, 10:44:04 PM
Have you seen the program "primordial life" ( http://www.io.com/~spofford/ (http://www.io.com/~spofford/) )? I think that is the best: to have the bot SHAPE, not just behavior, be able to evolve. What do you think? maybe one of the lines could be a "linker" line to enable multicellularity?

Have you seen the program "primordial life" ( http://www.io.com/~spofford/ (http://www.io.com/~spofford/) )? I think that is the best: to have the bot SHAPE, not just behavior, be able to evolve. What do you think? maybe one of the lines could be a "linker" line to enable multicellularity?
Title: New bot shape
Post by: bacillus on September 17, 2008, 01:06:50 AM
Primordial Life is interesting, however I think that evolving such a creature would be something to aspire to rather than have it built-in. I do think, however, that certain substances, such as chlorophyll and muscle, will act as a sort of substitute for these "body parts".
Title: New bot shape
Post by: Cyberduke on September 28, 2008, 05:28:00 PM
Ahh, I have just looked at ‘Gene Pool’ and think I now better understand the direction you are going in.

I assume an individual cell would still have flagella to move (slowly).
And in multi cellular organisms each cell would be more specialised.

I just thought, would you make things like sensors (eyes) something you have to build in a cell since there might not be a lot of point in having eyes in every cell especially since there is a processor cost involved in doing so?
Maybe flagella shouldn’t be innate either.

Then again all this is just hindering the artificial evolution.
Title: New bot shape
Post by: Numsgil on September 28, 2008, 06:12:07 PM
Yep, Gene Pool sort of critters is what I'd like to be able to simulate.  Only instead of a single organism it's several bots that communicate and work together.

Single bots would still be able to move around with their current abstract propulsion mechanism.

I think there was some play with the idea of letting bots turn off vision or propulsion, etc., for some sort of specialization benefit, but the exact mechanism and benefit was never agreed on.
Title: New bot shape
Post by: bacillus on September 28, 2008, 06:35:27 PM
Maybe have a sort of 'init' gene, where the bot's properties are specified, eg. how many eyes it has/uses, each eye either costing a certain amount of DNA points to attain or keep up, or maybe just use energy to switch an eye on, and perhaps different methods of propulsion eg. a max. power - energy usage/unit ratio.
Title: New bot shape
Post by: Cyberduke on September 28, 2008, 06:38:51 PM
Well since any kind of sensor has an associated processor overhead (or be it only broad phase) it does sound logical for a cell to start with no senses or movement ability and then have to 'load nrg points' into a particular sensor for it get better (longer range?) So the evolutionary pressure would be to become more economical with the use of sensors (which would help processor load).

If your cell has evolved into an algae (veggie) niche then it is unlikely to benefit much from eyes.
Title: New bot shape
Post by: Cyberduke on September 28, 2008, 06:51:26 PM
It might be cool to have two separate cells in the same organism have eyes in order to judge distance?
Title: New bot shape
Post by: Numsgil on September 28, 2008, 07:19:55 PM
I thought about that once but single bots really need to be able to judge distance as well, or it becomes hard to design interesting bots.
Title: New bot shape
Post by: Cyberduke on September 29, 2008, 10:53:51 AM
How current are the more recently expressed ideas on slime, shell and using inanimate material in the environment to break apart and build structures with or digest and utilize as a mineral?
With the current joint ideas if you authored a simple single algae cell, could you anchor it to structures in the environment? maybe using slime/glue? or even attach/stick to another cell without a join/tie

(I am not sure what’s with all the '/'s either)
Title: New bot shape
Post by: jknilinux on September 29, 2008, 03:56:55 PM
Quote from: bacillus
Primordial Life is interesting, however I think that evolving such a creature would be something to aspire to rather than have it built-in. I do think, however, that certain substances, such as chlorophyll and muscle, will act as a sort of substitute for these "body parts".

Well, in nature, don't different bacterial species have different shapes as well? In fact, if we want true multicellularity, then doesn't that require specialized tissues, with specialized cells? Besides, it will make it far more interesting, even at the single-cell scale.
Title: New bot shape
Post by: Peter on September 29, 2008, 04:38:31 PM
Quote from: jknilinux
Quote from: bacillus
Primordial Life is interesting, however I think that evolving such a creature would be something to aspire to rather than have it built-in. I do think, however, that certain substances, such as chlorophyll and muscle, will act as a sort of substitute for these "body parts".

Well, in nature, don't different bacterial species have different shapes as well? In fact, if we want true multicellularity, then doesn't that require specialized tissues, with specialized cells? Besides, it will make it far more interesting, even at the single-cell scale.
Well, no I wouldn't take bacteria as a good example for different shapes. Diversity in shapes overall between animals, plants and fungus is there anyway, I just wanted to nitpick  .
Substances like chlorophyll will as I see it make for a big part specialised cells. They are the reason after all leafs are green.

So, I am sorry for missing your point. What did you meant?
Title: New bot shape
Post by: bacillus on September 29, 2008, 05:41:27 PM
Quote from: Cyberduke
How current are the more recently expressed ideas on slime, shell and using inanimate material in the environment to break apart and build structures with or digest and utilize as a mineral?
With the current joint ideas if you authored a simple single algae cell, could you anchor it to structures in the environment? maybe using slime/glue? or even attach/stick to another cell without a join/tie

(I am not sure what’s with all the '/'s either)

I think a good idea is to build 'crystals' of minerals out of lots of little hexagons, which then can be unfixed with a shot. A bot can then fix them onto a new lattice by expelling it, perhaps with some glue. This would allow bots to 'mine' minerals, give plants a reason to develop roots, and allow for complex structures such as a communal shell.
EDIT=> I think that idea with drawing bots as not-quite-circles being merged through ties instead of just having a line would allow for better-looking multibots.
Title: New bot shape
Post by: jknilinux on September 29, 2008, 10:14:30 PM
Quote from: Peter
Quote from: jknilinux
Quote from: bacillus
Primordial Life is interesting, however I think that evolving such a creature would be something to aspire to rather than have it built-in. I do think, however, that certain substances, such as chlorophyll and muscle, will act as a sort of substitute for these "body parts".

Well, in nature, don't different bacterial species have different shapes as well? In fact, if we want true multicellularity, then doesn't that require specialized tissues, with specialized cells? Besides, it will make it far more interesting, even at the single-cell scale.
Well, no I wouldn't take bacteria as a good example for different shapes. Diversity in shapes overall between animals, plants and fungus is there anyway, I just wanted to nitpick  .
Substances like chlorophyll will as I see it make for a big part specialised cells. They are the reason after all leafs are green.

So, I am sorry for missing your point. What did you meant?

Well, basically I meant that I don't think multicellular life could have gotten as complex as it has if all our nerve, muscle, spleen and skin cells were just rods. Letting a gene control bot shape would allow you to let algae evolve a large surface area, for example, or let multicellular animals evolve all the different shaped cells we have now.

Also, I don't think it's practical to give every cell the abilities we do, like to see. This is, first of all, nothing like real life. They should have a gene that controls the ability to respond to light/sound/smell/whatever for a cost. That way, there's also less processor consumption and an incentive to become multicellular, so you can sense as many things as possible, since each cell can only do one.

Just a thought.
Title: New bot shape
Post by: Numsgil on September 30, 2008, 02:48:06 PM
My present goal is to give bots limited control over their length.  So at one extreme they can contract down to a circle, and at the other they extend themselves to something like a muscle cell (really long and skinny).  But this delves in to technical limitations.  Most physics engines do not handle rigid bodies changing size or shape very well.
Title: New bot shape
Post by: Cyberduke on October 02, 2008, 07:11:58 AM
Ok I am still not quite sure I understand how you envisage the cell joins in multibots, in particular cells of different shapes and sizes? Can you elaborate a bit on this?

[attachment=1018:cell_graphics_1.png]
[attachment=1019:Cell_graphics_2.png]
[attachment=1020:Cell_graphics_3.png]
[attachment=1021:Cell_graphics_4.png]

BTW, I am just using PowerPoint for my diagrams.
Title: New bot shape
Post by: Numsgil on October 02, 2008, 01:17:47 PM
Probably like the last one you have there (I like the variety you have going on.  I hadn't thought of something like that 3rd one).  Bots join together on the outside of their skins.  I think it's the most flexible way (pun intended )
Title: New bot shape
Post by: Cyberduke on October 02, 2008, 01:57:38 PM
heh, ok, and how many appendages can one cell have? Not just one for each end, or all you could create is a worm? But if more than one how does that work? Can I have them placed anywhere around the exterior of the cell?

[In Australian Accent] Can you guess what it is yet...?
Hmm.. I don’t suppose you had Rolf Harris in the US?
[attachment=1025:frog.png]
Title: New bot shape
Post by: Numsgil on October 02, 2008, 02:01:13 PM
No limit on the number of joins.  And probably they can join any point to any point.  The hard part is figuring out how, in practice, the two bots are going to maneuver to create a joint.  Maybe something like a tether that one bot fires out and slowly pulls in.
Title: New bot shape
Post by: Cyberduke on October 02, 2008, 02:12:09 PM
Quote from: Numsgil
No limit on the number of joins.  And probably they can join any point to any point.  The hard part is figuring out how, in practice, the two bots are going to maneuver to create a joint.  Maybe something like a tether that one bot fires out and slowly pulls in.
Hmmm, wouldn’t be very precise or replicable then? I think it needs to be more mathematical in nature.
Title: New bot shape
Post by: Numsgil on October 02, 2008, 02:29:49 PM
I was thinking along the lines of some sort of extracellular matrix that bots use to construct themselves.  Maybe construct a regular lattice of cells and then kill off the extra ones through Apoptosis (http://en.wikipedia.org/wiki/Apoptosis).
Title: New bot shape
Post by: Cyberduke on October 02, 2008, 02:43:16 PM
Quote from: Numsgil
I was thinking along the lines of some sort of extracellular matrix that bots use to construct themselves.  Maybe construct a regular lattice of cells and then kill off the extra ones through Apoptosis (http://en.wikipedia.org/wiki/Apoptosis).
Doesn’t seem a lot of point in creating a lot of cells to then just kill off most of them..
But maybe the reproduction command can take multiple values from the stack, 1 for the nrg to give and 1 for distance or percentage of distance around the exterior from an arbitrary starting point?
Title: New bot shape
Post by: Numsgil on October 02, 2008, 02:52:04 PM
It isn't so bad if the resources can be recovered.

Another helpful thing will be allowing bots to split to reproduce along different angles.  We'll see.  It doesn't need to be easy, just reproducible.
Title: New bot shape
Post by: Cyberduke on October 02, 2008, 03:09:13 PM
Yes, angle is better. And then while is still has its ‘birth tie' the new bot could opt to keep it and would become multi-cellular or do nothing and it would just be a regular reproduction.
Title: New bot shape
Post by: Numsgil on October 02, 2008, 03:44:49 PM
Yes, that's my thinking.  An incomplete separation results in essentially a new link.  Not all multibots can be built like that, but a great many varieties can.  The reproduction/splitting angles allowed depend a great deal on the physics engine and how flexible it is with bots changing shape.  Splitting laterally or dorsally should be pretty easy.  Splitting at more complex angles... maybe less so.
Title: New bot shape
Post by: bacillus on October 03, 2008, 12:31:02 AM
Maybe build ties on contact, and let the bots decide if they want to build the tie or not? Sort of a temporary one-cycle birth tie to read a limited amount of variables, replacing .tie with .harden or something like that.
Title: New bot shape
Post by: peterb on November 12, 2008, 09:24:37 AM
I'm reading the discusion here, shapes, angle points.

just imagine
a bot defined by a skeleton string of containers.

define (head) as (eye)(mouth)(nose)
define (body) as (tail)(spine1)(spine2)(spine3)(spine4)(head)  
Mabe then next be able to set different spine boths weight / mass and friction to rotation with its neighbors.

It would be close to the current darwinbots, but the .tie between the parts should be able to set.
And a new kind of reprodution is required to allow offspring have a skeleton definition like a string or so.

Dough complex would be to also describe legs and arms.


maybe a string like
(mirored) (leg(part1)(part2)) (body)  (mirrored) (leg((part2)(part2))  ((head(eye)mouth)    >> "M(L P1 P2) Body M(L P3 P4) Head"
then next perhaps someting about seize, and friction

Dough that might be able to describe a dog like shape it wont do an octopus with eight legs.
Maybe then the DNA language has to have something like sections, like a new meta command
so you get something like..


structure = "<head><body>

<head>
start
eye5<50
cond
..
.
stop

<body>
cond
.fatt <50
start
..
.
stop

The thing that might hurt this idea is that nature is able to create MB starting with a single cell.
So somehow I got the feeling this should be able to do so with (quite complex) coding in current darwinbots.
another question is that if you create feet, it makes only sense for an environment where feets are handy (like a 3d world).
But then if you have feet, you also need to control them... (maybe some  .mod on age cycle and a muscle ? ) >> not easy.

On the other hand what if only some body parts where allowed to have specific commands (back to 2D) so only a leg section could move a bot.
movement is limited to size of that sub bot.    Then single cell organisms might still exist in there, dough multi cells have a small advancement.
For example you could loose one legg but still be alive, and able to move with your other leg. As long there is a structure (I gues inside the head bot) then regrow.
Specialism in cells isnt a strange idea I think nature uses it too.

well just some toughts..

Title: New bot shape
Post by: bacillus on November 12, 2008, 04:20:28 PM
Sounds a bit like framsticks.
The problem with this format is getting all this down in one string of DNA. Each cell should ideally start out the same shape and function, then be able to change its function according to where it is located (probably through a tie variable.) The way you suggest it now, however, seems to be similar to the way most MBs I know of work:

def structure 989
def head 1
def tail 2

cond
 *.structure .tail =
start
...
Title: New bot shape
Post by: peterb on November 12, 2008, 08:11:02 PM
Quote from: bacillus
Sounds a bit like framsticks.
The problem with this format is getting all this down in one string of DNA. Each cell should ideally start out the same shape and function, then be able to change its function according to where it is located (probably through a tie variable.) The way you suggest it now, however, seems to be similar to the way most MBs I know of work:

def structure 989
def head 1
def tail 2

cond
 *.structure .tail =
start
...


.yes

if most MB work like that, then creature shape can allready be defined (based on multiple bots)
What might be improved is perhaps the .language
something to communicate troughout the creature
So for example head had a special channel even if it wasnt a neighbor bot it could be adressed in communciation in both directions.
Then be  able to store energy or control a part by directly adressing a number
So if the head would see something the tail could wag to propell ahead.
5 *.structure 30 *.nrg  store
(adressing the fifth structure and storing 30 energy points in it).
5 *.structure *.eye5 30 floor .DX

It would be nice if somehow shape and function would be a result of the physics in the darwinbots world. (like nature).
So a good tail part's shape is better to provide power, while a (fat)body part is better in storing energy and a head is better for eyes.

dough octopus can use jet propulsion,
Thats hard to get from shape?  >> or is that like I let go a balloon free on a children party pfffffrrfrfrfrfrfrfrrrrrrfffrfrrrrrrt  till its empy  hahaha
If that would be simple, then perhaps fins are more complex, if you would like to make them use of the physics world?.
If the new tube shapes can be used for fins.. then thats great (I dont think a circle can do that)
Maybe a group of circles could do it, but that requires more resources on a comoputer.

If you wouldnt let it make use of the physics, then you might give it only a bonus in specialism for certain cells.
But then the location of those cells wouldnt be important either. (so neither would advanced shapes be important then).
To get it in correct in physics.. hmm that would be verry hard to code, if your able to write such an evo sim..    great!
Well that would be perhaps a bit of a holy grail. If the new tubes get closes to it, then thats great coding
Or perhaps take a little bit of both worlds physics and specialism bonus.









Title: New bot shape
Post by: bacillus on November 12, 2008, 09:06:26 PM
I think that the problem is that DB takes the environment as one big vacuum with friction, which prevents more complex interactions, such as tie drag, currents and fluid dynamics such as squirting out water for propulsion (although this would be the same as ties displacing fluid). The main reason for this IMO is that the advantages in doing so (more realistic movement etc. ) are so rarely used that it will most likely never outweigh the drawbacks (mayor memory guzzling).

 Things such as fins shouldn't be too difficult in comparison to a whole dynamic environment, as it's just a matter of friction on a tie. It's more a matter of velocity restrictions making complex movement structures unnecessary at this point. A maximum acceleration may be more realistic that a maximum speed (although that doesn't stop fast single-celled organisms, perhaps a non-linear movement cost sytem would solve that. It's really a matter of balancing the costs so cumulative forces are favored to one big force.)

Evolving properties such as eyesight and storage capabilities in relation to certain resources, such as fat and muscle, has already been discussed much. Each of these should ideally have its own pros and cons, so that one cell can't just save up a whole lot of nrg to make an uber-cell with enough resources to wipe everything else, such as speed restrictions, vulnerability ec.
Title: New bot shape
Post by: jknilinux on November 15, 2008, 06:37:26 PM
I for one would prefer tie drag etc... to increased speed.
Besides, with the 64-bit craze these days we can access more RAM than you can shake a stick at, and you can be sure there will be big enough memory sticks to fill the void. So, by the time DB3 comes out in a year or two any worries about RAM size should be moot. Unless there are other drawbacks...
Title: New bot shape
Post by: peterb on November 16, 2008, 03:51:30 PM
Memory isnt the problem I think rather CPU speed (as some creatures tend to do a repro bloom ).

Anyway I was thinking these perposed new shapes Half circle tube other half.
I was thinking if one circle would became real small, it would become a point..
And what if a point could penetrate deeper in other shapes to for example deliver poison or mutated DNA ?

Some link between shape and effect on its surounding would make it great.
Also toughts about surounding, are importend as presurre factors on evolution, besides its other friends..

Sunny / humid /dry / cold /warm / acid /posion / bad vision environment / camofl.... etc etc

So like the places we see bacteria the bacteria (bots) these days (everywhere they specialize).

(Maybe get a carbon cycle..) (or nitro... or..)

Oh and I dont think its nice to shoot only at heads, it would be nice to shoot at other functional parts too.
Specificiation, of cells would be a nice thing the get (if there was some force on it, maybe a benefit).

Title: New bot shape
Post by: bacillus on November 16, 2008, 04:00:11 PM
I imagine the pressure thing shouldn't be too complicated, although it would have to change the approach to shots. Perhaps a form of body-feeding that can only be achieved by penetrating the enemy cell, and can be stopped using a form of shell?
 What about shell being built up with minerals as well as nrg? Little hexes could freely be floating around, and cluster together with others upon contact. When a cell dies, these are released again, and can be absorbed by 'mining them' or feeding off other bots. These could form 'soil clusters' in which smaller bots could hide in. or plants take up, etc.
Title: New bot shape
Post by: Numsgil on November 17, 2008, 10:12:28 PM
Proper fluid dynamics is impossible because of sim speed issues.  However I can fake it pretty well to allow for things like squid bots and fish bots.

Penetration probably won't happen.  I'll think about it some more, but I think it'd be more effort than it's worth.  I might be able to fake it in some way, tough...