Author Topic: The Wraithbot  (Read 5725 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
The Wraithbot
« on: January 31, 2006, 02:14:47 PM »
The ideas behind the wraithbot :-

- Decimate their prey then withdraw to hibernate
- 5% are non-hibernating, sterile Keepers
- The rest hibernate at the hive for 1000nds of cycles at a time while their prey repopulates
- Carnivorous - don't eat veggies unless desperate
- Very aggressive

Here's where we discuss and (hopefully) assemble the code for Wraithbot

I suggest making wraithbot based on Preybot - Preybot is similar in that it shares antbot-like hive tendancies.

What we've got:

- Hibernate by tieing together in a blob and using the breakage of ties to wake the hive via *.numties

Hmm...

So where do we start?

 :help:
« Last Edit: February 04, 2006, 04:54:37 PM by Elite »

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
The Wraithbot
« Reply #1 on: January 31, 2006, 06:25:45 PM »
Quote
5% are non-hibernating, sterile Keepers
how do we go about ensuring that is so?
are you talking about reproduction producing these 5% of the time, then?
or is this a target number we are shooting at for the ecosimulation when
it is 'stable' and viable as a whole?
the starting, or end ... game?
« Last Edit: January 31, 2006, 06:26:34 PM 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 Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
The Wraithbot
« Reply #2 on: February 01, 2006, 11:08:24 AM »
When a new wraithbot is born, it has a 5% chance of becoming a keeper:

Code: [Select]
cond
*.robage 0 =
start
19 rnd sgn -1 mult 1 add .keeper store
stop

- that sort of thing

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
The Wraithbot
« Reply #3 on: February 01, 2006, 11:26:00 AM »
Quote
When a new wraithbot is born, it has a 5% chance of becoming a keeper:

Code: [Select]
cond
*.robage 0 =
start
19 rnd sgn -1 mult 1 add .keeper store
stop

- that sort of thing
ok. that was my question.
at the start ...
and something that might be adjustable, or perhaps even evolve ...
should the sim seem to require a different value.
I guess ideally, it would evolve ...
what works continues ... what doesn't ends ...
assuming these keepers will reproduce.
 
question
19 rnd sgn -1 mult 1 add .keeper store

what is the 19?
and how does one then get 5%, 0.05 ...  from this?

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

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
The Wraithbot
« Reply #4 on: February 01, 2006, 11:33:43 AM »
[number] rnd generates a random number between 0 and [number]

19 rnd generates a random number between 0 and 19, meaning that the chance of getting 0 = 1 in 20 (5%)
I then sgn it, making the chance of a 1 95% and the chance of a 0 5%
I then invert the result using -1 mult 1 add (1 becomes 0, 0 becomes 1) and 5% of all robots will have 1 stored into .keeper at birth

BTW, the keepers are sterile and don't reproduce. New keepers are produced when the normal bots repro. When a bot reproduces the chance of it's offspring becoming a keeper is 1 in 20, or 5%.

 :D

Offline Martian

  • Bot Neophyte
  • *
  • Posts: 44
    • View Profile
The Wraithbot
« Reply #5 on: August 12, 2007, 10:51:42 AM »
I think that we should make the queen build a nest with tiny bots, like proposed in this thread. They would be fixed.

They would shoot any enemy bot with 1/3 of their total energy in .shootval.

Then we wouldn't have to restrict the preybots to a part of the screen, any preybots coming close to the nest will be killed.

I think we should also make the preybots run away terrified whenever they see these guardians. Perhaps make them store the x,y pos of the nest in their out/in and racial memory, and avoid the area around it.

We could perhaps later on make each queen store a random number in the racial memory. This would make two different queen's bots attack each other. Then we could add another bot the Bodyguard. They're armed very well (venom, poison, shell etc.). Their work is to defend the hive from enemy wraithbots.

Perhaps we could make another bot which job is to store energy. Then whenever a bot runs low on energy, especially the minebots, they could come and get some from the store with ties or shots.

Just throwing around lots of ideas here. Tell me what you think.

Martian

PS. I'd like to help, Could someone please deal me in?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
The Wraithbot
« Reply #6 on: August 12, 2007, 06:01:15 PM »
There are a couple threads scattered around.  Mostly no one took initiative and wrote it.

Offline fulizer

  • Bot Destroyer
  • ***
  • Posts: 198
    • View Profile
The Wraithbot
« Reply #7 on: January 24, 2008, 09:01:30 AM »
or make a pondmode only bot that uses the bouancy command to make them float away never to be seen again to be killed by something eles
"If this is coffee bring me tea, If this is tea, bring me coffee"

Offline rsucoop

  • Bot Destroyer
  • ***
  • Posts: 166
    • View Profile
The Wraithbot
« Reply #8 on: January 30, 2008, 08:07:42 PM »
Quote from: Numsgil
There are a couple threads scattered around.  Mostly no one took initiative and wrote it.

One problem I see is that in order to write such a bot, a lot of important variables must be considered. 1- Importance of Genetic Presurvation, 2 - Importance of how many bots it would protect and harvest, 3 - with such a level of randomness, a delgene code in the inactive genes would destroy the dna at the end of the life cycles. So a very large number of variables must be kept and stored into x (number of protected bots  + any enemy info + conspec info + all ties and their refs). The number of required variables to be efficient, say 2 veggies tied + 1 conspec + 2 enemies * (say, refvel, refnrg, refpain*, *dnalen, *vtimer, xpos, ypos, timer since last seen (max 10 seconds - giving a 10 second recycle if no other 'new' bot) for memory refresh purposes and possible hibernation when nothing is within 100 distance for say 3 seconds. On top of that you would have to design various life stages to the bot to be truely effective in a simulation, such a step can help prevent mutations that are really bad, from destroying the bot. To add to this, you must also allow for other varients to exist for the bot, meaning that conspec recognition is key, so at least 2 outs must be used, along with dna some other reference to compare with. All of this must be preserved and would require a very large amount of planning, one required outside the internet, with diagrams and what not.

And I think such a bot would need every variable to have some sort of base standard to revert back to when they become a value not within the bots perameters (perfect for antivenom/infoshot/antipoison/antivirus).  Then of cousre you would need a very effective antiviral gene to make sure the bot doesn't lose all this work by some effective gene deleter.

I think I would take the challenge if someone would be willing to collect a link to every descent worthwhile discussion on the topic.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
The Wraithbot
« Reply #9 on: January 30, 2008, 11:46:36 PM »
Most bot designs seem to either require 10 custom variables or 10000.  It's sort of a weird issue I'm not sure how to address.  1000 memory locations is either way too many or way not enough for most uses.  Not to mention the practical issues of using huge numbers of custom memory locations and keeping it all straight.

Offline rsucoop

  • Bot Destroyer
  • ***
  • Posts: 166
    • View Profile
The Wraithbot
« Reply #10 on: January 31, 2008, 08:02:55 AM »
Quote from: Numsgil
Most bot designs seem to either require 10 custom variables or 10000.  It's sort of a weird issue I'm not sure how to address.  1000 memory locations is either way too many or way not enough for most uses.  Not to mention the practical issues of using huge numbers of custom memory locations and keeping it all straight.

The easiest method would be to use the same variables for each bot type in this random bot generator, and simply using different values for the variables. THis bot could be built with only 42 variables beyond the normal preset ones.

Offline fulizer

  • Bot Destroyer
  • ***
  • Posts: 198
    • View Profile
The Wraithbot
« Reply #11 on: March 18, 2008, 09:40:07 AM »
make them target something that has -1 or -6 shoot commands
that way it would only attack something that can attack it

and use the total number of bots comapared to the total number of wraiths to choose when to hibernate
« Last Edit: March 18, 2008, 09:41:52 AM by fulizer »
"If this is coffee bring me tea, If this is tea, bring me coffee"

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
The Wraithbot
« Reply #12 on: March 23, 2008, 10:25:23 PM »
What I used for Fungus to organize growth could help. A bot with 8 or more ties would fix itself in place, so that only tiny colonies would move around. To simulate hibernation, a random number could be selected , and if the number chosen is 0, the hibernation status is flipped. This could cause a chain reaction, where the breaking of one tie wakes another one out of hibernation, which wakes two more bots etc. The Keepers would always have to stay behind to give the colonies something to latch on to.
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan