Code center > Suggestions

Would a *.subspecies sysvar be facist?

<< < (3/4) > >>

Endy:
Could we sim how real animals figure out distances between points? I've heard some can actually sense magnetic north, could something similar be done?

Some globals like sun should be left in, maybe even improved to indicate amount of light/time remaining until dark. Could use some semi-global variables to simulate sound or gradient concentrations.

Might be an idea to spin off a seperate version that relies on pure code instead of simulated physical interactions. Still needs some way for us humans to have an idea about what is going on. Need to have a somewhat complex enviroment that would encourage interspecies interactions and allow multiple organisms simultaneously. Would love to see it done right, just not sure how it'd be done.

Edit:

Could Mass be used instead of maxvel? Not sure how the two correlate, but it's more realistic for bots to know their own and others speed restrictions based on size than maxvel.

EricL:
We have to be careful about the word "global".  The objection I beleive is not necessarily to sysvars which provide information about things at global scale but rather to sysvars which violate the principle of locality.

Xpos and ypos violate the principle (although .ypos does not in pond mode sims) because given our choice to simuate a 2d world which corrpsonds largely to our own physcial environment and the physics thereof, there is no conceivable sense that could provide absolute poisitioning info to a bot on a field of arbitrarily large size short of them inventing GPS satilites.  (.ypos makes senss in pond mode if you assume bots can sense pressure and thus depth.)

Things like sun and cycles left before sunset or sunrise on the otherhand (or a magnetic North sense)- do not in my opinion violate the principle since it is quite concievable that given the implied principles of our simulated world, a bot could sense whether it is day or night or what the angle of the sun is in the sky.   (Of course, this begs the question as to whether our simulated physicality simulates a planet that rotates as opposed to light bulb that mearly turns on and off, as is the case today.   I say that the sun mearly turns on and off today and does not "move" because of the .sun (400) sysvar which today turns to 1 if .aim is within .18 radians of looking at the sun, which is assumed to be straight overhead and not to move - but I digress.)

Maxvel similarily violates the principle because it is an absolute rule of the physics of the world, info that IMHO bots should not be magically informed of - they should have to figure out.

A bot's mass does not tell it anything about the max velocity the sim allows.  It does help the bot figure out the relationship between movement force and their own acceleration (which can also be impacted by fluid resistance and friction) but not the ultimate speed limit the sim allows.

Numsgil:
One of the changes I made in the C++ version was to the sun sysvar.  It would detect the strength of sunlight, instead of just a yes/no.  I also tied in the idea of sun to non-pond mode sims, where *.sun would return how much nrg/cycle a veg got (or how much nrg/kilobody,or whatever, depending on the mode).

.Sun right now is strictly yes/no, so it's wide open to improvements in what information it returns.

Endy:
Isn't there a cap on how much nrg the bots can spend on accelerating anyways?(ie. no more than maxvel) So should it just be scrapped in future versions, since it provides little useful information? Why not just bring speed more in line with the actual equation? Then 32000 nrg converted into acceleration would still only move a bot at whatever we decide the highest allowable speed is.

Sounds like that'd be cool for sun since it'd be more realistic. Would a SunAngle sysvar be useful? Bots could roughly navigate with it.

I think "globals" would be okay just as long as they're read only like sun is. It's kind of oddball that we have some of the same limits on instantaneous communication ourselves. Makes me wonder sometimes.

EricL:

--- Quote from: Endy ---Isn't there a cap on how much nrg the bots can spend on accelerating anyways?
--- End quote ---

Yes there is a cap.  Briefly, if the sum of the bot's voluntary force vectors would result in a velocity exceeding the max velocity of the sim (the resulting velocity is a function of the bot's mass) or the nrg the bot is attempting to spend on voluntary movement that cycle exceeds 100, then the nrg spend is capped at either the amount of nrg needed to acheive the maxvel or 100, whichever is lower and the resulting velocity due to voluntary movement is set to maxvel in the first case, or whatever 100 nrg gets you in the second.

Note that the bot's actual resulting velocity is a function of all forces acting on the bot, not just it's own movement.  This includes but is not limited to gravity, collision forces with bots or shapes or the world edge, tie torque forces, drag due to friction and fluid resistance, bouyancy, brownian motion, planet eaters and tie drag forces.  Note that there is no cap on the resulting vector sum of these velocities.  In particular, it may exceed maxvel.  (A crafty bot builder could use this to advantage in the leagues I.e. torque provided via a  stiff tie could fling a bot at faster than maxvel...)


--- Quote from: Endy ---(ie. no more than maxvel) So should it just be scrapped in future versions?
--- End quote ---

Yes, I beleive the .maxvel sysvar should be removed.   There should still be a human settable maxvel for the sim, but it should not be exposed to bots via a sysvar.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version