Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - EricL

Pages: 1 ... 3 4 [5] 6 7 ... 12
61
Bugs and fixes / Lack of True and False Commands CLOSED 2.43q
« on: November 09, 2007, 09:28:08 PM »
The wiki says that the numbers 1 and 0 can be used as True and False in the conditional portion of a gene.  This is incorrect.  As currently implemented, numbers enounterred in the conditional portion of a gene are pushed onto the integer stack, not the boolean stack whereas logical operators such as AND, OR, etc. only operate on values popped from the boolean stack.  Thus, while the wiki claims the following gene should never fire, it in fact always fires.  The boolean stack is in fact empty and thus the two pops perfromed by the AND equate to True.

cond
0 1 and
start
do something
stop

I discoverred this while implementing the new execution paradym where conditional statements are allowed in the body portion of a gene.  What I propose to do is invent two new commands:  True and False, which when encounterred will result in the appropriate boolean value being pushed on the boolean stack.  Numbers (including 0 and 1) will always be pushed on the integer stack whether they are encounterred in the cond or the body portion of a gene.  Boolean operators will always and only operate on values from the boolean stack.  The numbers 0 and 1 will not be substitutes for True and False.  The gene as coded above will continue to always fire (we will need to update the Wiki) but the following gene will not:

cond
false true and
start
do something
stop

This makes encoutering a 0 or 1 in the DNA unambigious, particularly now that conditionals are allowed in the gene body.  It will also allow for a single codon to influence partial gene exection as follows:

start
10 .dn store
false
10 .up store
stop

The false prevents the store to .up from occurring.  Note that in the following gene, both stores occur.  0 is not a substitute for false.

start
10 .dn store
0
10 .up store
stop

62
Suggestions / Physics E-Grid
« on: October 22, 2007, 11:03:37 PM »
I beginning to work on this.  For clarity, this is the portion of the E-Grid where the physics differ in different grids I.e. differ parts of the field, as opposed to the substance E-grid, where each grid cell contains differening amounts of substances bots can potentially see, move and otherwise interact with.

The physcis E-Grid is easier to implment and does not carry with it the performance issues associated with the substance grid.  This is why I'm working on it first.

I am soliciting input on what people would like to see w.r.t. the physics grid.  In particualar:

Which physics are most interesting to you to vary across different grids?  Y or Z axis gravity?  Fluid resistance or friction?  Perhaps sight range or veggy feeding rates?

How would you like these things to vary?  Completly random?  A limited delta between any two adjacent grids providing a more grandual transition?

Over what range would you like thigns to vary?  From 0 to 100% of the amount configured in the overall physics dialog with linear probability distribution across grids?  Perhaps the values in the physics dialog are a mean in a guassian distribution across grids?

What new physics would you like to see on a grid basis?  For example, varying Z axis gravitational direction as well as strength.

Any suggestions for visualizing the grid?  Pick a single physics parameter and vary the grid color according to percentage?  A little bar graph in each grid showing all relavalent physics percentages?

Any other thoughts appreciated.

63
Suggestions / Plants are too powerful
« on: October 04, 2007, 01:50:47 PM »
Plants are too powerful.  I think we want a world where there are significant morphological costs to balance out the huge advantage of being able to receive free nrg from nowhere each cycle.   The time as come to do something about it.  

I know we've talked about not making this split so artificial and instead modeling some autotrophic substance bots can manufacture, which would have some gradual morphological impact proportional to amount, etc.  but I want to do something simpiler and sooner.   Here's my plan.

If you are an autotroph, you:

Can't voluntarily move.  I plan to disable .up, .dn, .sx and .dx for autotophs.  You can still be unfixed.  Battery bots can carry you around, collisions will move you.  You can move voluntarily using ties, tielength and fixing multi-bot cells like inchworm (think creeping vines), but individual cells can't move on their own.

You can't shoot -1, -3 or -6 shots.  Yes, there are picther plants and venus fly traps and such in nature that supplament their solar intake by trapping insects and such but there are none that really hunt or are venomous that I know of.  There are poisionous ones of course and that will still work but poision is passive and defensive whereas venom is active.   Even with these restrictions, there are still nasty aggressive strategies plants can employ to supplement their nrg intake - using memory shots to fix non-autotrophs that happen to pass by and wait until they die and decay into corpses, etc.

You can't tie to a non-veg.  They can tie to you and if they do, you can employee all the tricks to sharenrg in your favor, etc., but you can't initiate a tie to them.  Ties between veggies are fine.

Veggie viruses can't infect non-autotrophs and vice versa.

Now, before everybody gets all fired up, let me just point out that these restrictions can serve to drive plant evolution in a different and very interesting direction.  Up until now, it's been all about building or evolving the most agressive organism.  Kill or be killed.   But now with these restricitons, plants have to give that up.  They can't hope to compete in that way.  So, their evolution (or design) becomes all about defense, about not getting eaten or at least not getting eaten down to nothing.  They can use all that free nrg to build shell, build slime, become poisionous, evolve counter tie tactics, only become poisionous for specfic species that don't know when to stop eating, etc.  Plants will become interesting in the ways they defend.  Some will defned better than others.   Non-autotrophs will become descriminating in their plant eating habits, eating some plant species and not others.  In some cases, getting past a plants defenses may require such specialized DNA that some bots focus on this exclusivly, becoming herbavores.  In others, it may not be worth it to try to get past a plant's defenses and thus some bots may find becoming strict carnivores more appealing...
 
Anyway, this seems to me to be a simple, straight forward way to balance things out...

Okay, let fly with the comments.

64
Suggestions / Do bots get too small?
« on: October 04, 2007, 12:50:25 PM »
How do people feel about the range of bot sizes?  Are tiny little bots too tiny?  Should I change the radius calculation so that the minimum bot size is larger than it is currently?

How about large bots?  Should the largest bots be larger?  Should I change the radius calculation so that the maximum bot size is larger than it is currently?

65
Suggestions / Perf and zooming
« on: October 04, 2007, 11:31:02 AM »
2.43m contains a significant performance improvement for those people who run with graphics on and the view zoomed in to show only a portion of the field.  In all prior versions, all the ties and bots and stuff were being drawn independent of whether you were zoomed in or not.  If you were zoomed in, most of this work was wasted, displaying stuff not on the screen.  As of 2.43m, I only bother to display stuff that is actually visible.  This is essentially equivalent to turning off the graphics for everything not on the screen.  The more you zoom in, the faster the sim runs.   The perf improvement for people who run this way is significant (e.g. 25% increase in cycles/sec for a sim with 1000 bots when zoomed in significantly vs. full field in view).

I may attempt some other perf improvements in this area.  In order to do so, I'd like to know more about how people run their sims.

hmm.  Seems I only get three poll questions.  Please reply with any other comments you may have along these lines.  In particular:

Does anyone care about the lame little "skin" squiggles inside bots?

What cycle/sec rate do you aim for when chooisng your sim size / number of bots, etc.?  Namely, how slow is so slow that you decide to make your sim smaller?

Do you run with shapes?  Would you be willing to take a perf hit (in sims with shapes) to make shapes better? e.g. bots could burrow into them, shoot off pieces, etc.

66
Suggestions / Are people happy with auto re-launch of lastexit.sim?
« on: October 04, 2007, 11:08:02 AM »
Wanted to make sure people were happy with this feature.  Any comments?

67
Suggestions / Should shell and slime represent converted nrg?
« on: September 26, 2007, 11:53:06 AM »
Even if you have 0 costs, it takes nrg to make venom and poision today.  That conversion rate is fixed and costs only come into play as a tax on the process of making those substances (propotional to the amount made).  If costs are zero, the proces to make them costs nothing, but you still must convert nrg into those substances at the fixed rate.  They arn't free even if costs are zero.

Shell and slime don't work that way.  If costs are zero, it costs nothing to make 32000 shell or 32000 slime.

Should we change shell adn slime to be consisntant?  At what conversion rate?

68
Off Topic / The World Without Us - Alan Weisman
« on: September 19, 2007, 11:25:57 PM »
You've probably heard of it.  This book has gotton lots of press - on Oprah, on NPR.  It was #1 on a bunch of best seller lists for awhile.  As of this writing, its still #37 on Amazon.

Basically, it's a climate change book wrapped in a thought experiement.  What would happen to the world - to everything from buildings to species to ecosystems to nuclear power plants - if all humans simply vanished, quietly, instantly, without nuclear bombs or leaving behind dead bodies?

It's well written, well researched and quite informative in places.  It's quite interesting to learn how long concrete lasts, that it would be only hours or days before New York's subways flooded, that the copper Statue of Liberty will be intact long after all the modern buildings made of steel and concrete have corroded away.  

It's a good read, highly recommended.  Its also totally, completely, utterly, thouroughly depressing - not because all the humans are gone, but because in order to understand what the world might revert to without us, Weisman must first take us through what the world was like before us, or at least before we gained sufficiently in population to wreak environmental havoc and in so doing, he makes it incredibly clear what has already been lost to human activity, how few poeple realize what has been lost and how those losses will continue even if we vanished tomorrow due to the environmental changes we have already set in motion.  Depressing, so very very depressing.

It's depressing to learn how Clovis Man devastated the North American mega fauna.  It's depressing to learn how dire the situation is today with the majority of coral reefs dead or dying and that nothing can really be done to stop it.  Its depressing to learn how elephants evolved to migrate and cover great distances and how those few left today in the wild are confined behind fences in areas a fraction the size of their former territory.  

There are bright spots.  Wildlife has returned with a vengence to the area around Chernobel now that (most) humans have vacated the area, even though mutations are rampant.  Generation times have dropped, selection is in operation.   Ecosystems can recover - in a hurry it seems if the necessary organisms arn't already extinct - but only if human activity stops or is greatly diminshed.  One finds oneself wishing at the end of the book that humans could indeed be magically vaporized somehow.

The book concludes with a look at what things could possibly wipe us out while leaving the rest of the world in tact.  Experts conclude there is nothing that could do it today short of aliens spiriting us away, not even a homo-specific pandemic - nothing viralent enough exists - too many would survive, it would not spread sufficiently, etc..  (Nulcear war and asteroids aren't considerred as they would take out other things besides us.)   AIDS isn't even a blip on world population growth, which has a current run rate of 1 million people every 4 days.  That's net increase - 250k more people are born than die every day.  Surprisingly, nano tech gone amuck in the future appears to be the most possible means for a nice clinical human demise experts conclude.

There is a brief attempt by the author to put a shiny face on his conclusions, to look for possible answers to our head-long rush towards further overpopulation and the conversion of the Earth into a radioactive parking lot.  But it's half hearted.  That there is really nothing good to say is evident in how few paragraphs the author devotes to this.   It is difficult to postulate a good outcome from the case the author presents. Unlike Gore's 'Incoveinant Truth', there are no calls to recycle, buy hybrids or stop using plastics.   The author appears to have already concluded that such measures are fruitless luxeries only developed nations can even consider and unlikely to make any real difference in any event.  About the only possible thing that could reverse the trends he concludes would be a world-wide ban, strongly enforced, on women having more than a single child.  Unlikely to happen to put it mildly.

One is left with a feeling of despair, that the world is on track to be bleaker and less diverse, generation after generation, for many generations to come and that we stupid humans, mired in our pathetic little self-centered worlds have no clue (or don't care) what has already been lost and have no hope to act collectivly to stop the inevitable decline, even if it could be stopped.

Highly recommended, but be prepared to be depressed.

69
Bugs and fixes / Internet Mode subscript out of range crash in 2.43h / 2.43i
« on: September 18, 2007, 06:35:46 PM »
Think I've found this one.  Will release 2.43j later tonight hopefully.

70
I use the same code to teleport bots between sims as that used for moving bots from one side of the field to the other in toroidal sims.  In both cases, all the cells/bots of a multibot get teleported together at the same time (up to a hard-coded limit of 50).

Each connected sim in Internet mode (or in your own private teleporter connected multi-sim) can be thought of as defensible space - a place where bots of the same species can kill off all competitors and become local rulers, having the advatnage of numbers over any individual bots of different species which happen to get teleported in from another sim (where they may be the ones which have the advantage).  Even if a new species is more effecient, has better aim or vision or what not than the defenders, the less effective "native" bots may still be able to sucessfully defend their sim from incursions due to their larger numbers.  This could result in a stable situation where different internet connected sims are "owned" and defended by different species over the long term.  That is, unless interlopers learn to form multi-bot clusters so that they can get teleported together in sufficient numbers to win out over the defenders.    Thus, selection may favor multi-botness in Internet mode as it lets you teleport to other sims in a single hop with greater numbers.

71
Evolution and Internet Sharing Sims / Come join the F1 megaverse!
« on: August 31, 2007, 07:01:17 PM »
The new internet sharing capability (version 2.43d or later) is ready for some prime time excercise.    

Preditor3 is dominating at the moment, but I'm sure there are some F1 league bots that can take him.  If you've got a bot or two that you think can compete, I encourage you to download the latest buddy drop (see this topic) switch into F1 Internet mode and see how your bots fair.

Comments and/or questions related to F1 Internet mode welcome on this thread...

72
Off Topic / Happy Birthday Nums!
« on: August 24, 2007, 01:34:17 PM »
Best wishes bud!      

 

73
Suggestions / Would a *.subspecies sysvar be facist?
« on: August 23, 2007, 01:11:53 PM »
I am maintaining a "subspecies" number internally for each bot in order to implement the new Species Diversity graph.  Bots inherit the subspecies of their parent, but it gets set to a new value (based on a per species counter) when a mutation or virus infection occurs.

The new chart (2.43b) counts the number of unique subspecies within a "species".  

Is there any interest in exposing this as a sysvar?  It would allow a bot to determine if it was "different" from another of it's same "species" without performing a detailed DNA analysis.  Additionally, by comparing the two numbers, bots could potentially make some rough, fuzzy determination as to how different.  (What the difference actually indicates is the number of mutations and virus infections that have occurred to all members of the species between the two events that set the two bots own subspecies number.)

One can imagine bots using this for policing their own genetic purity: parents could kill their mutated children or potentially attack other members of it's species which have a larger/different subspecies value then their own under the assumption that they are more mutated (or have been virus infected) from the "pure" 0 valued subspecies value all bots start with at the beginning of a sim....

74
Suggestions / Why is there not a .veg?
« on: August 23, 2007, 11:00:15 AM »
Is there some reason/history there isn't a .veg or some other definitive way for a bot to tell it (or more critically, another bot) is or is not a veggy?

I would use this to prevent my preditor bots from targeting veggies in my evo sim.

Battery bots or others could use this for veggy ID purposes as opposed to the round-about veggy detection I've seen in some veggy ID genes....

If this is intentional, I expect the reason has to do with delibertly making it difficult to determine who is a veggy and who is not I.e. encouraging the development/evolution of sophsiticated logic and/or an arms race where becuase there is no way to be sure, bots have to compete with better and better veggy ID logic and evolved veggies can code to defeat such IDing.  One might argue that combat bots or evolved bots compete with each other through better and better veggy ID genes, but in practice, IDing a veggy in a combat sim is either not done at all (I.e. kill everything) or is done through a simple set of tests (such as *.refkills 0 =. *.refnrg X >, etc.) which pretty much always work since the veggy is not coded/allowed to try to defeat such tests (and I know of no situation where a combat bots wants to pretend to be a veggy).   I can't seem to think of a combination of refvars my preditors could use to avoid targeting veggies that my evobots could not evolve to mimic.  You might say that's a good thing, but I don't want to overpopulate the sim.  I need my preditors to always be able to tell veggies from evobots...  

Since veggy status cannot currently be changed by the bot - a bot is set at sim start time to be either a veggy or not - and few people code veggies for combat and to my knowledge, none have been evolved to the point where this matters, I'm not sure I follow the logic in not having this given the way veggies work today.

If being a veggy or not was an evolvable trait and/or a bot could choose to be a veggy (IMHO, the system should require a sacrifice for this way of life, like disabling voluntary movement) then I could see the piont in not having a black and white veggy ID system since there would not be a bright line between veggies and non veggies.  But that line exists today for all intents and purposes....

Comments?  Adding a .veg sysvar would be trivial and have neglible perf impact...

75
The Gene depository / Preditor effectivness gene for evo sims
« on: August 22, 2007, 01:57:34 PM »
The sysvars .totalbots and .totalmyspecies (new in 2.43b) allow for mutation disabled, hand coded preditors in an evo sim to regulate the population of the evo bots through prediation while regulating their own numbers.

One challenge in using prediation in evo sims is how to scale the 'lethalness' of the preditors as the popualtion of the evo bots grows and reduce their effectiness as the population shrinks.  One easy way to do this is simply to scale the population range over which the preditor begins hunting using the rnd command.  The following gene is a simple modification of the velocity matching and shooting gene from Animal_Minimalis.  

cond
*.eye5 0 >
*.refeye *.myeye !=
*.totalbots 1000 500 rnd add >
start
*.refveldx *.body mult 1000 div .dx store
*.refvelup *.body mult 1000 div 30 add .up store
-1 .shoot store
stop

Note the line in bold.  The gene will never fire and thus the bot will never hunt when the popuatlion of the sim as a whole is below 1000.  It will always hunt when the population is above 1500 and its effectness as a hunter will vary between 1000 and 1500 total bots, becoming increasingly more effecient as the population increases in this range.

For completeness, here is a sample preditor population control gene.  It prevents reproduction when the preditors are more than 5% of the total population.

cond
*.nrg 10000 >
*.totalmyspecies 100 mult *.totalbots div 5 <
start
50 .repro store
stop

Pages: 1 ... 3 4 [5] 6 7 ... 12