Darwinbots Forum
General => Biology => Topic started by: shvarz on March 15, 2005, 11:49:10 PM
-
I found this absolutely AMAZING article about... well, about life as a bacteria. You ALL must read it, it will change your world! It is written in very easy-going and plain style, so it is acceptable to everyone. There are some cool facts about inertia in bacterial life in the beginning of the article and some cool ideas about movement and diffusion near the end. Read it!
Here is the link: http://brodylab.eng.uci.edu/~jpbrody/reyno...lowpurcell.html (http://brodylab.eng.uci.edu/~jpbrody/reynolds/lowpurcell.html)
-
An interesting article, but I'm a little afraid of what it implies.
I played with the premises in my mind earlier. Viscosity, that kind of thing, but I wasn't able to find the conclusion that this paper does.
We could eliminate momentum all together. Simple as increasing friction to some value.
-
Eliminating momentum altogether is something I have thought about too. It would make collisions SOOO much easier to calculate and would also help to stop robots crossing the whole field so easily.
The only actual movement would be what is applied through acceleration now.
Increasing friction in the present system wouldn't work though since this reduces the applied acceleration too.
I will read the article when I get the chance.
:D PY :D
-
My Head Hurts already , but I think momentom should be optional I.e: dont get rid of it completly.
Any one know what Momentum is? Is that the stuff rockets use? If so I like that stuff , dont get rid of it.
-
Disallowing momentum basically means when a bot stops using number .up store it stops moving.
So there's no coasting.
-
:( But I like rocket science :(
How about we make it like real life? We will have somthing like .jetup store seporatly that works like the old .up
-
The .up, .dn, etc. will work like normal, it just means that you can't hit acceleration at some high value and go flying across the screen. You have to pay for every movement you get.
Like this:
Imagine a bot does 5 .up store.
In the old veresion:
-----------------0
wow, the bot moves this far after infinity turns (that is, after friction stops it).
In the new version:
-0
darn, that didn't get us far at all! I guess we have to keep expending energy to go forward.
-
The fun of rocket science is that if you shoot .jetup and then .jetdx little by little you will be going of in an arc angle of about 45 degrees ,( nice)
Play some cr , you will se what I mean.
I dont like the looks of :
-----------------0
wow, the bot moves this far after infinity turns (that is, after friction stops it).
In the new version:
-0
It means that robots have to waste a whole *eep* load of energy just to move to the next food source.
Make it fier for the bots Num
-
That's actually the point of the article. Real bacteria have to wiggle continuously to keep moving. But they don't spend alot of energy to do it, maybe 10% of what they spend total.
-
Ever watched a daphia water flee or a brine shrimp.
If they stop actively swimming they pretty much stop immediately.
For even smaller stuff like bacteria, water is a pretty viscous liquid. It is completely unrealistic for them to accelerate a bit then just coast.
Rockets only do this in a vacuum.
:D PY :D
-
ok I get it.
But I still like rocket science :(
How about my .jetup and stuff idea? we have a lot of commands but I think this is a good one.
And If you really into it like me , we can have somthing like .jetang (speed) and .setjetangle commands
(ofcorse this stuff will be more costly then reguler .up or .dx commands, just dont make it so costly that its a desadvantage to use.)
-
Rockets only do this in a vacuum.
Thats a strong point PY.
Sometimes we have to choose were to make it more like real life and were to make it more fun for the user. I like the more fun idea in this case.
-
How would .jetup differ from .up in function? It still just sounds like .up to me.
-
ok I got more users (one of my cr frands) to join, but if you will dismiss my idea , then the chance they will actualy join is less.
-
.jetup and .up would do exactly the same thing.
That is to say that they would impart an acceleration in the direction that the robot is currently facing.
:D PY :D
-
how does a rocket buster work num?
(btw .jetang and .setjetangle sounds even better)
I am not a good web searcher , ill just make my own presentation. brb
-
A rocket booster works by accelerating an amount of material out the back end of the rocket thus causing an equivalent acceleration of the rest of the rocket in the forward direction.
(rocket science 101 :lecture: )
-
ok I got more users (one of my cr frands) to join, but if you will dismiss my idea , then the chance they will actualy join is less.
Oo, I get to point out a logic fallacy.
Botsareus has just committed Argumentum ad baculum. Or appeal to force. That is, trying to justify a point by threats.
Bonus points for me!
And what do you mean when you say 'cr'? Is it a game?
-
Bots, what exactly do you want .jetang and .setjetang to do? I have a feeling that .setaim and .aim already does this.
-
(http://img95.exs.cx/img95/9358/new3yx.th.gif) (http://img95.exs.cx/my.php?loc=img95&image=new3yx.gif)
Lengh and power of burst depands on how mutch energy you dumpted into it.
The robot is fasing up during the whole example , it does not turn.
-
(http://img84.exs.cx/img84/779/new23ky.th.gif) (http://img84.exs.cx/my.php?loc=img84&image=new23ky.gif)
The above is what happens to a robot using my system over time, It exselarates until it reaches absolute velocity
CORRECTION: I got this one wrong, short bursts will keep the speed level (friction), If you have one big burst long lasting , then the above is true.
-
I was talking about Cosmic Rift , its not the best example , but its a good one.
-
You can do that with the current .up and .dx system.
Make a bot that goes forward at a velocity of 10 constantly.
Then apply short bursts using .dx.
-
Cosmic rift reminds me of Starport GE.
-
IVE BEEN UPGRADED TO BLUE STARS
Hollah!
-
Num I added a correction to the exselaration explonation, read it.
If the current system works the same as above , lets keep the current system just change it to use angles.
We can make the current system cost a little more If you want. (not too mutch please) (or dont make it cost more at all , just change it to use angles and keep it)
And change .up and .dx to use the new Nums system.
-
Firstly the rocket won't turn either unlsess a sideways burst is fired from either in front of or behind the rocket's centre of balance.
next the only difference between a rocket and a darwinBot is that DBs move in cycles of small instantaneous bursts of acceleration while a rocket accelerates continuously.
:D PY :D
-
just change it to use angles
Why?
What possible benefit would this give us?
:wacko: PY :wacko:
-
Thats the way the current system works , nice.
What about my idea? and The new Reguler Movment idea from Shvartz?
***
Correction PY , change it to use angles and possible to set power/lengh of burst.
The Bots that will use this will , look unbelivably sweet , beleave me. If actualy make it look like the bot fires a boost (like particals or somthing (optional)) , will look so cool, PY you dont watch Anamay (If I spelled it correctly) thouse chinece/Japanise space cortoons mutch, do you?
-
You don't know him very well I think.
I suspect he watches alot of Anime. How can I tell? Because he seems to watch exactly what I watch. It's some cosmic law. :P
Bots, I think we can do what you're talking about with the current system.
Give the .velup and .veldx functions a look. I think combined with some advanced vector manipulations could give you what you're after.
-
If you play cr , do not play Rogue Trader. (no one playes that)
Here is the order of zones I play most to least
cz ---> dz ---> sf or rb
-
ok Num , just dont delete this from the next virsion of Db please.
(I think angle will be better , I wont have to worry about doing any math , and besides how am I supposed to this math using only db dna)
-
Num I cant find velup or stuff in the Dna help system menu from Db.
Were is help on that?
(I think its better to replace it with .jet and .setjetangel) and make it optional to have a graphix display of the paricals being fired from the jet.
-
Outline a scenario that you want to do, and I'll help you through the DNA codes for it.
Be sure to be explicit. Like if you were going to program it.
-
If the vel stuff didn't make it into the DNA help. Look in the readme.
-
like for example a robot thinks up an angel n it wants too boost , how would I boost into angel n in the current system , lets say n is memory location 951 whats the Dna code?
-
Okay, tell me if this is the problem:
The robot is at position 'X1', 'Y1'.
It's currently facing angle 'theta1'.
It wants to accelerate along the path theta2.
Is that it?
ie:
The bot now:
........
........
...^...
...O...
What it wants to do:
........>
....../.
..../...
...O...
Is that it?
-
Yea theta2 without turning , using a boost
and then theta3 without turning , with an arc from theta2
ex:
An arc:
.............................................
.....o.o.o................................ ------> starting from 0 degree theta2
..............o..o...........................
......................o.o......................
.............................o....................
................................o..................
..................................\
......................................\
.......................................> 45 degree down , right theta3
robot fasing ^ 270 degree (up) does not turn'
during the arc move the speed is 5pixels/sec , when it completes the arc and travels theta3 the speed exselarates to 20pixels/sec (slowly 5,7,10,15,20)
-
PY you dont watch Anamay (If I spelled it correctly) thouse chinece/Japanise space cortoons mutch, do you?
I think Num has this right.
I Love Anime and Manga. I am curently into Full Metal Alchemist in a big way.
Where did you think I got my name from? Purple Youko is a play on Kurama from Yuyu Hakusho as is my Avatar.
Speaking of Avatars I just started watching that new show "Avatar, the last air-bender" and that is pretty cool too.
:D PY :D
-
ok Py knows alot more about Anime then I do.
Num , figure that one out or just change it to use my system , easyer.
-
Okay, this is actually not that hard. It's vectors. I'll be back in a sec with the solution.
-
Please remember that DarwinBots are NOT Gundams, Godesses or X-wing fighters.
They are single celled creatures living in a pond or petri dish.
I don't think jets of reaction mass particles are quite the direction that the majority of us would like to go in.
No matter how cool it would look to have little jets out the back of a robot as it accelerates.
Incidentally a rocket can't just accelerate in any vector that it wants to. It has to rotate first to face the right way then accelerate in one of a number of specific directions like forward, backward, left and right.
Now where have I seen that before?
I know!
DarwinBots just like it is right now!
:D PY :D
-
:( <---- autorepeat,, nm , forget it. the hell with it , yea lets just change up and dx etc. the way shvartz wants it. Who cares? no one cares.
PY well why not make DB's better then even ordinary rockets? they can fase one way and move different ways.
o n,m
Thats how some alien ships in my 3d game will move.
-
Okay here it is:
f + c = d * magnitude
where f is the firing vector you want, which is what we're trying to find
c is your current vector defined by <.velup, .veldx>
d is your desired vector, defined by <cos(theta2-theta1), sin(theta2 - theta1)
and magnitude is how fast you want to go in your new direction.
f = d * maginuted - c
so:
.up = sin(theta2 - theta1) * magnitude - .velup
.dx = cos(theta2 - theta1) * magnitude - .veldx
I think that should do it. Don't worry if the math is above your head, it's called rocket science for a reason :P
The only problem, of course, is that DNA doesn't have sin or cos (ahem :rolleyes:)
-
Hey why don't we fit them with warp drive, photon torpedos and quantum tunnel (wormhole) generators while we are at it?
Maybe one of the food sources should be nuclear fission or maybe anti-matter reactions in a little warp containment field made of a special mixture of .slime and .shell.
Get your proportions wrong and end up with the mother of all POOFs as the resultant explosion rips through the DarwinBots continuum and dumps the poor creatures into tri-dimensional time/space where .up, .dn, .sx and .dx are meaningless constructs so they are rooted to the spot while they wonder what the fuck to do with this extra width dimension that they are suddenly faced with.
:D PY :D
-
Sarcasm aside... :rolleyes:
Sin and Cos are the only things missing that would allow you to do this kind of thing. And if you know the angle you want to go in terms of x,y components you can do it in 2.35 no problem.
-
But sarcasm is the best part of it.
I just want to know what would be the point of accelerating off to some angle that you aren't looking at. You might just run into a predator or a brick wall or anything really.
This kind of behaviour would almost certainly be weeded out as inefficient by evolution anyway even if it were added to the DNA language.
I would also like to know what kind of rocket propulsion system on a space vehicle, would be able to make this kind of maneouvre anyway. This is unrealistic in DBs or in spacecraft since rocket motors tend to be fixed in relationship to the rocket bearing them. Small thrusters may be able to rotate a little bit but not to face in every conceivable direction.
:D PY :D
-
Hey, Bots proposed the problem. I'm just showing how it'd work in the current system.
I have no idea what possible use it'd be.
It could be that you want to move towards something like you do in FPS, by strafing. That way you can check your back as you move towards a food source.
Still, there are better ways to do it.
-
Still, there are better ways to do it.
Right like moving forward while shooting at an angle. Now that is an idea that I like.
:D PY :D
-
That's where .aimshoot comes in. Definately has some fun possibilities.
-
yea strafing...
***
add Sin and Cos Num , not a bad idea at all. (There are more uses like my lessbeef bot)
Ill figure the rest out myself.
***
Also in the current system a robot set to go at 10 (10 .up store) will instantly reach speed 10 and go on speed 10.
My Idea is:
Lets say the speed limit (absolute vilosity) is 100
Each cycle a robot fires a booster at 1 .up store that means it will take say 300 sycles to reach speed limit (speed 100).
If Each cycle a robot fires a booster at 10 .up store that means it will take say 30 sycles to reach speed limit (speed 100).
If [you]skip 1 cycle [/you]a robot fires a booster at 10 .up store that means it will take say 60 sycles to reach speed limit (speed 100).
A non-liner curve will look even better , I posted an example of one before in this tread as a picture.
The speed will gradualy increase until it reaches 100.
(I do however notice this when alga gets hit by a moving robot, It gradualy decelerates; Not instantaneously)
-
Okay, say you store 2 in up.
First this impulse is scaled back by the movement factor in the physics page. The default is .8, which means you must multiply 2 by .8, which gives you 1.6
Next, this acceleration is divided by mass. Mass = 0.5 + (.body / 10000) + (.Shell / 200).
Then it's applied to the bot.
If a bot is moving, friction acts on it, slowing it down by percentages each cycle.
-
If that Acceleration is notisable by the user abserving the simulation then I like it.
***
Will be nice if you add Sin and Cos as well.
***
Getting back to shvartz idea: Shvartz what do you want to have happen when a moving bot hits a stationary bot. I think some pool play is great.
If we make a seporate system for the kind of motion you prepose then [you]hitting something will simply slow[/you] it down is a good idea under your rules shvartz.
But the rules of my seporate system playing some pool is still on.
I think making both types of movement systems available for the bot is a good idea.
-
Num, your lest post was an idea or how db works now?
-
Without momentum colision has no meaning. Bots move just enough so they aren't overlapping then stop.
Bots, that last post is how it works now.
-
Well I have talked about another collision method that works without momentum. The friction increase for each bot being "dragged" method.
Basicaly with each new bot being pushed the speed is / 2
If you push 4 more bots your speed is "speed / 16"
(I am using it in PusherBots.vbp , works great) Do you like this collision method shvartz?
***
Well Num if that is supposed to be Acceleration, (forgive the languge) it sure sux. Maybe I am doing somthing wrong with the settings? I dont see no acceleration...
-
What do you mean you see no acceleration? You mean in the algorithm I posted or when you have number .up store?
My thinking: I'm going to see if I can rework how friction is handled. If it's applied and then new accelerations happen, we can have an absolute friction sim without it immobilizing the bots.
Hey Bots, post your pusherbots code in another thread in the general board. I'm sure we'd all love to look at it.
-
when I have "number up store". Acceleration = Gradual increase of speed.
Acceleration <!> Speed is set and remains on value n
Acceleration only stops Accelerating when thouse things reach there absolute vilosity.
-
That's not what the bots are doing.
In DB: when you store to .up you are creating an impulse. Impulse = "Physics. The product obtained by multiplying the average value of a force by the time during which it acts. The impulse equals the change in momentum produced by the force in this time interval."
This impluse causes a change in acceleration. Then .up is set back to 0 waiting for you to activate it again.
Think of the bots like this:
Each bot is a rocket ship. When it maneuvers, it does so by short explosions that push it along (little a-bombs that explode against a blasting plate). This results in a jerky accelerations, not a 'gradual increase in speed' at all.
If you want to keep accelerating at a constant value, you can program it in the DNA.
-
http://s9.invisionfree.com/DarwinBots_Foru...ndpost&p=283764 (http://s9.invisionfree.com/DarwinBots_Forum/index.php?showtopic=70&view=findpost&p=283764)
Thats pusher bots stuff I was talking about.
-
If you want to keep accelerating at a constant value, you can program it in the DNA.
That gives the robots too mutch power in my opinion. (yes I am saying in the current virsion of DB the robots are too powerfull)
We can still have robots change there speed in my system , it will only happen gradualy. (about the gradual part , the program does it for them, is better) for more detail refure to: http://s9.invisionfree.com/DarwinBots_Foru...ndpost&p=283317 (http://s9.invisionfree.com/DarwinBots_Forum/index.php?showtopic=186&view=findpost&p=283317)
***
Adding Sin , Cos , and Atn will be a great idea for DarwinBots. I can see many uses of it when bots learn how to map stuff. And for multi-bots it will be usefull too.
Bots will shape themselfs a sertain way , swim , etc.
***
I think under my system of Acceleration there should not be 4 points of movment but set angle and forget it. That keeps the robots from doing extra work just to move a sertain way.
On the flip side, Shvartz system is a good one two , having both available to the robot is a great idea. Under shvartz rules , .up .dx .dn .sx is still used.
***
Or If you feel like the russians are taking over , you can forget about this thread and keep the current system.
-
No acceleration in DB? :blink:
How can you say that?
Why not try an experiment?
Make a bot that stores 2 into .up on each cycle.
Then add a gene that sets a new random direction when and only when *.vel > 30
If you are right then the robot will carry on moving at speed 2 for ever and will never change direction.
If Num and I are right then it will change direction frequently.
Here is a test-bot to prove the point. [hint]It changes direction a lot![/hint]
:D PY :D
-
Thx Py it works.
more ideas remain
idea: pusherbots+shvartz system
idea: robots can have sin , cos , atn (for multipule reasons)
-
Who likes the other two ideas?
Who does not like the other two ideas?
Why? Why Not?
-
I was all for sin and cos way back when, but their usefulness was debated. (Check out the thread from 2 months ago (http://darwinbots.proboards20.com/index.cgi?action=display&board=general&num=1105394672&start=0).)
I actually like the way the current movement system works. If you like, we could have two commands to set 'engine' angle and then fire along that direction.
I'll look into a way to remove momentum. I'm interested what kinds of bots would live in such a system.
-
Num, PY, If it is possible to set the direction of fire seporate from the direction of fasing (.aimshoot), then that is as good as straffing. No more work needed on that.
***
I think with the ammount of stuff already added to the program adding a little sin , cos , and atn wont hurt. (as proven that it does not hurt to make the program more complex)
***
I think there should be a checkbox about what kind of momentum you like: *The current virsion or the *PusherBots virsion or (*some new shvartz extra cheesy virsion)
But personally I also think the collisions and the momentum should be left alone.
-
So yea, another reason to remain in control of this little project at least for my sake. Thank you for supporting me Numsgil.
-
Also, if there is anyone left in management on top of Numsgil. 2005 was when the drug exposure kicked in and I had a complete personality breakdown, so don't feel bad about your promotion choices at all (sarcasm)