Author Topic: Firecracker behavior  (Read 10017 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Firecracker behavior
« Reply #15 on: October 24, 2005, 09:47:02 AM »
If you switch to nrg per kilobody, this nasty little problem goes away entirely.

Of course, the veggies don't really evolve in such an environment because they just get eaten.  Thems the breaks I guess ;)

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Firecracker behavior
« Reply #16 on: October 24, 2005, 09:53:03 AM »
Quote
ah! scripts.
how? and what scripts can be used to do what?
some examples?

At the moment scripts are designed to work solely at the reproduction stage and only on the young bot.

The kind of thing you can do is to set it up such that if a bot evolves a certain DNA command (or loses one) then that bot can be punished (by immediate death) or highlighted or paused or even have a snapshot taken.

It is still a bit limited in scope but will be expanded on at some point to include population controls, age limits, kill counts and many others
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Firecracker behavior
« Reply #17 on: October 24, 2005, 09:55:07 AM »
And may not work properly in 2.4, I keep forgetting to check and see.

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Firecracker behavior
« Reply #18 on: October 24, 2005, 10:36:47 AM »
Quote
Basically the vegs are restricted by veggie population size and total veggie nrg.
I would agree ... however ...
max veggie number doesn't work in the new versions. ;)
so once again ...
the existing bugs should be fixed BEFORE introducing more flash stuff
and the resulting bugs/problems that come with them.
the priority should be to make a version that WORKS as advertised!
that should be the primary focus ...
fix what you got ...
and then ...
move on to introduce 'improvements'  ...
as they then may actually turn out to be ... improvements.

take a look at real life ... (anyone remember that) ;)
what works continues ...
and what doesn't ends.
what does survive is retained ...
offspring versions are tweaked slightly and added
to the pool ... to the population and then tested.
key words ... added & tested.
the new does not displace what has worked before until/unless
they prove to actually be competent to do so ...
as tested by the environment ... by life.
and the process of evolution continues.

I suggest we might consider following the same formula ...
when it comes to program development.
« Last Edit: October 24, 2005, 10:39:53 AM by Griz »
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Firecracker behavior
« Reply #19 on: October 24, 2005, 11:33:22 AM »
Quote
I suggest we might consider following the same formula ...
when it comes to program development.

I have always tried to follow that formula. The problem is that adding one seamingly simple little thing tends to end up screwing up something else in an utterly unrelated area of the code.

Here is an example that happened a while back.

I decided to add corpes. Seemed like a real cool idea at the time. Should be easy and all that.
I added them and it was easy. Tested them to death (excuse the pun) using Hunter 2.3 (about the most advanced shot bot of that era). All worked great. Couldn't make it fail no matter what I did.

I released the version and all hell broke loose. It seems that a whole bunch of more primitive bots kept exploding after giving birth and MBs all over the place started dying when they shared energy.

The problem?

In order to make a bot become a corse while it still has some meat on it, it was necessary to introduce a couple of new rules regarding what actually kills a bot. It turned out that when a gave lost more than half its total energy in one go, it just up and died. Unfortunately this happens all the time during reproduction and energy sharing.
I had to go back and patch the software with escape clauses to get away from the instant death scenario.

Changing stuff in a program this complex is a nightmare.
« Last Edit: October 24, 2005, 11:34:41 AM by PurpleYouko »
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Firecracker behavior
« Reply #20 on: October 24, 2005, 11:52:25 AM »
this is why it is important to limit the amount of change we make at any one time.
and then to not cast aside what went before ...
until we can be certain that we have actually made an improvement.
what I see going on here now is ...
change upon change upon change upon change ...
and never going back to fix what gets broken before making more.

I think we can all see this happening.

I'm only asking for a stable working platform ...
that I can actually use as an evo sim ...
and then I have no problem with anyone forging ahead to bigger
and better things .... wonderful .... more power to you all.

that's all.
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Firecracker behavior
« Reply #21 on: October 24, 2005, 12:22:48 PM »
Yes I tend to agree with you there Griz.

You have to understand though that adding new stuff is downright fun while debugging old (and often not your own) code is extremely frustrating, annoying and downright boring.

That isn't intended as an excuse but is the unfortunate reality. I spent literally months debugging Carlo's original 2.11 to make it work properly. Every bug I fixed just unleashed a torrent of new ones.

It can be a bit soul destroying after a while.

I think the best thing to do for now is to keep the 2.37 version for debugging in order to get a nice stable platform. I will undertake that nasty little job when I get time.

Num can continue developing and debugging 2.4

Eventually we should be able to recombine the two versions but for now they probably need to be developed in parallel.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Firecracker behavior
« Reply #22 on: October 24, 2005, 12:39:00 PM »
I'll admit I have a poor habit of entirely commenting out old code I don't understand and writing my own.  Bad Numsgil, bad  :pokey:

I am constantly making the code alot more readable.  This alone has caused entire thousand line modules to be completely rewritten.  Bugs are bound to crop up.

As for a stable version, if you turn autosave on, and the sim crashes, you can just boot up your most recent autosave.  Longer simulations are quite possible, bugs do not mean the end of a week's worth of effort.

Oh, and veggy population controls are indeed working as well as they ever did.  But you have to understand how that is...

at the beginning of a cycle, all the vegs are counted up.
at the end of the cycle, if the total vegs coutned at the beginning is less than the pop limit, all vegs are allowed to repopulate.

Mmm, yes, you see the problem now?

So the pop limit you see in the options panel is actually half of the maximum population you should ever expect to see.

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Firecracker behavior
« Reply #23 on: October 24, 2005, 12:48:33 PM »
Quote
Mmm, yes, you see the problem now?
seems to me that cyclying between 790 and 490 ...
is a bit lager than the max 25 I had set. ;)
in any of the 2.4x series ...
the max cap has never held down the population. not ever.
this is my experience ... and I played with this alot in 2.36 and 2.37
to get a handle on how it worked there.
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Firecracker behavior
« Reply #24 on: October 24, 2005, 01:01:26 PM »
Always worked perfectly for me but then I still run 2.36.7 mostly.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Firecracker behavior
« Reply #25 on: October 24, 2005, 01:48:29 PM »
I didn't touch that code...   :unsure:

Um, I guess I'll go check it out.