Code center > Suggestions

Population Control and selection pressure without costs

<< < (2/3) > >>

Jez:
That's a very neat way of allowing predators in the evosims, I like it!

Numsgil:
I like it for evosims.  But for the leagues I think it's too overpowered.  Set up a toggle so the leagues can turn it off.  Maybe even a toggle to turn it off for different species, so just your guardian bots can access it.

EricL:
I'm happy to disable these in league mode if people like.  I don't really have a stong opinion there.  But let me make the case for a sec that they should be left enabled for leagues.

Think of these as a poor man's (I.e. computationally inexpensive) way for a bot to know in a single cycle how crowded things are and how much they are responsible for the crowding - a substitution of sorts for looking around and counting bots over the course of many cycles.  Given infinite time on my part and infinite cpu cyles, I would have instead implemented something with more locality - a bot relative indication of the population of total bots within a certain distance and an indication of how many of those bots are of the same species.  But that would have been computationally expensive not to mention take a while to implement.  The way it is, with the totals being for the entire sim, there is only the tiniest of cpu perf impact from populating these.

When I think of what could be done in leagues with these, the things that come to mind are all pretty sophsiticated I.e. running from a fight and trying to find a veggy to gain some nrg to repopulate instead of attacking when your own species population is below a certain percentage or the total, attacking with more vigor or in concert when the opposite is true as a bot might assume the probability of others of its species being near is high, counter measures such as faking out a bot coded to care about relative population by giving birth to a large number of weak offspring to fake out the numbers for a time, etc.

Don't we want to encourage sophisticated coding in the leagues?  Perhaps I am missing something fundemental w.r.t. how these might be unfarily used...

EricL:

--- Quote from: googlyeyesultra ---We might want to (perhaps when we add in the egrid and what-not), set up a large block (preferably at least 100 contiguous variables) that are reserved exclusively for free variables. Since we'd be breaking most old bots anyways, we could reorganize which sysvars are where.
--- End quote ---
Sounds good.  Even today, we could designate locations 50-149 as free variables and reserve all others for potential system use....

Numsgil:

--- Quote from: EricL ---I'm happy to disable these in league mode if people like.  I don't really have a stong opinion there.  But let me make the case for a sec that they should be left enabled for leagues.

Think of these as a poor man's (I.e. computationally inexpensive) way for a bot to know in a single cycle how crowded things are and how much they are responsible for the crowding - a substitution of sorts for looking around and counting bots over the course of many cycles.  Given infinite time on my part and infinite cpu cyles, I would have instead implemented something with more locality - a bot relative indication of the population of total bots within a certain distance and an indication of how many of those bots are of the same species.  But that would have been computationally expensive not to mention take a while to implement.  The way it is, with the totals being for the entire sim, there is only the tiniest of cpu perf impact from populating these.

When I think of what could be done in leagues with these, the things that come to mind are all pretty sophsiticated I.e. running from a fight and trying to find a veggy to gain some nrg to repopulate instead of attacking when your own species population is below a certain percentage or the total, attacking with more vigor or in concert when the opposite is true as a bot might assume the probability of others of its species being near is high, counter measures such as faking out a bot coded to care about relative population by giving birth to a large number of weak offspring to fake out the numbers for a time, etc.

Don't we want to encourage sophisticated coding in the leagues?  Perhaps I am missing something fundemental w.r.t. how these might be unfarily used...
--- End quote ---

The way I see it tracking how many of your species is left is a complex behavior that bots should have to build for themselves.  We could also give bots information on how much slime there is in other bots, or information like that.  But I think determining things like this is central to the challenge.  The leagues are all about building sophisticated behavior from simpler building blocks.  I'd like to keep those building blocks as ground level and justifiable as possible.  Makes a bot all the more impressive.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version