Author Topic: Hibernation  (Read 23486 times)

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Hibernation
« Reply #30 on: July 10, 2007, 05:34:58 PM »
Was just a thought; the info on 1G bots you come up with is miles above the information (in the wiki) that is readily available atm.
The Wiki always seems to need updating though so if you don't get time for it then don't worry!  
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline fulizer

  • Bot Destroyer
  • ***
  • Posts: 198
    • View Profile
Hibernation
« Reply #31 on: November 24, 2007, 04:45:11 AM »
try making a gene that makes it go back to normal if its energy drops faster than a certain rate
that would wake it up if it were attacked
"If this is coffee bring me tea, If this is tea, bring me coffee"

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Hibernation
« Reply #32 on: November 24, 2007, 08:39:40 AM »
Quote from: fulizer
try making a gene that makes it go back to normal if its energy drops faster than a certain rate
that would wake it up if it were attacked
You have read the thread?

Wow you're really trying to bring your post-count up.
Oh my god, who the hell cares.

Offline fulizer

  • Bot Destroyer
  • ***
  • Posts: 198
    • View Profile
Hibernation
« Reply #33 on: December 06, 2007, 06:20:05 AM »
Quote from: Peter
Quote from: fulizer
try making a gene that makes it go back to normal if its energy drops faster than a certain rate
that would wake it up if it were attacked
You have read the thread?

Wow you're really trying to bring your post-count up.
why do you hate me?
a bit off topic I know but really why do you hate me?
« Last Edit: December 06, 2007, 06:20:36 AM by fulizer »
"If this is coffee bring me tea, If this is tea, bring me coffee"

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Hibernation
« Reply #34 on: December 06, 2007, 11:37:12 AM »
Quote from: fulizer
Quote from: Peter
Quote from: fulizer
try making a gene that makes it go back to normal if its energy drops faster than a certain rate
that would wake it up if it were attacked
You have read the thread?

Wow you're really trying to bring your post-count up.
why do you hate me?
a bit off topic I know but really why do you hate me?
No, no, I don't hate you, no really I don't hate you. Why do you think like that.

I asked if you have read the thread, and said something about your pst count becouse you are really really really, fast posting in every topic.
Oh my god, who the hell cares.

Offline rsucoop

  • Bot Destroyer
  • ***
  • Posts: 166
    • View Profile
Hibernation
« Reply #35 on: January 16, 2008, 04:45:26 PM »
Quote from: Elite
Una was originally designed as an experiment into 'hibernating' bots. Using conditionless coding, this version of Una (it's an older version) will hibernate when 1 is placed into location 51

Code: [Select]
'Una
'
'With hibernation command

def hibernate 51
def IDcode 55

cond
start
1 .hibernate *.robage -1 mult 1 add mult store

.tie *.robage -1 mult 1 add mult *.hibernate mult inc
.deltie *.hibernate mult inc

.fixpos *.fixed mult *.hibernate mult dec

*.refveldx .dx *.eye5 sgn mult *.hibernate mult *.memval 42 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult store
*.refvelup 60 add .up *.eye5 sgn mult *.hibernate mult *.memval 42 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult store

42 .IDcode *.robage -1 mult 1 add mult store
.IDcode .memloc *.robage -1 mult 1 add mult store

-6 .shoot *.eye5 sgn 1 add sgn mult *.eye5 40 sub sgn 1 add sgn -1 add -1 mult mult *.hibernate mult *.memval 42 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
-8 .shootval sub sgn 1 add sgn mult *.eye5 40 sub sgn 1 add sgn -1 add -1 mult mult *.hibernate mult *.memval 42 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store

-6 .shoot *.refpoison sgn mult *.eye5 45 sub sgn 1 add sgn mult *.hibernate mult *.memval 42 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
-1 .shoot *.refpoison sgn -1 mult 1 add mult *.refshell sgn mult *.eye5 45 sub sgn 1 add sgn mult *.hibernate mult *.memval 42 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
-6 .shoot *.refpoison sgn -1 mult 1 add mult *.refshell sgn -1 mult 1 add mult *.eye5 45 sub sgn 1 add sgn mult *.hibernate mult *.memval 42 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store

16 .shootval *.eye5 45 sub sgn 1 add sgn mult *.hibernate mult *.memval 42 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store

*.refvelup .up *.eye5 45 sub sgn 1 add sgn mult *.hibernate mult *.memval 42 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
*.refxpos *.refypos angle .setaim *.hibernate mult *.memval 42 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.robage sgn mult *.eye5 sgn mult store

314 rnd .aimdx *.memval 42 sub dup mult sgn -1 add -1 mult *.refeye *.myeye sub dup mult sgn -1 add -1 mult mult *.eye5 sgn -1 add -1 mult add sgn mult *.hibernate mult store

40 .repro *.body 100 sub sgn mult *.nrg 1000 sub sgn 1 add sgn mult *.hibernate mult store
314 rnd .aimdx *.body 100 sub sgn mult *.nrg 1000 sub sgn 1 add sgn mult *.hibernate mult store

100 .strbody *.nrg 500 sub sgn mult *.hibernate mult store
100 .fdbody *.nrg -1 mult 100 add sgn mult *.hibernate mult store

*.tiepres .tienum *.numties sgn mult *.robage 1 sub sgn mult store
.dn .tieloc *.numties sgn mult *.robage 1 sub sgn mult store
32000 .tieval *.numties sgn mult *.robage 1 sub sgn mult store

*.waste .shootval *.waste 10 sub sgn mult *.hibernate mult store
-4 .shoot *.waste 10 sub sgn mult *.hibernate mult store

.delgene inc .delgene inc
stop

It's also nice and broken up to make it more understandable.

All commands in the DNA (except the anti-virus, but it uses inc anyway) have the code *.hibernate mult in them. *.hibernate is set at birth to be 1, but if you set it to zero using the console, the bot goes into hibernation. While in this state it uses no energy whatsoever. The original plan was for Una to release a deadly virus into the population and come out of hibernation later when the pandemic had (hopefully) wiped out everyone else. I never got round to using this feature when I realised that gearing the bot up for hibernation had made it extrodinarily efficient. I eventually removed the *.hibernation command just before joining this forum.

The virus (or a similar virus to the one) that Una was to be using (designed to be as deadly as possible, with the *.myeye being Una's *.myeye):

Code: [Select]
cond
start
100 .vshoot store
*.thisgene .mkvirus store
? .myeye store
*.genes rnd .delgene *877 -500 add sgn 1 add 2 div mult store
877 inc
.delgene dec
stop

What do you think of the concept?

Problem is that if another bot catches you sleeping they will just kill you  
I tried making a bot that hibernated when its *.nrg fell below 100. It was reasonably sucessful.


I like the concept. If being attacked while in hibernation is a problem, perhaps a secondary virus could help. The second virus would cause the carrier to run around in circles, and then feed any hibernating ties.

[code]
cond
*40 1 =
*.hibernate 1 =
start
*.setaim inc
*51 .tienum store
'nrg' .tmemloc store
*.nrg .tmemval store
0 .shoot store
stop

Offline fulizer

  • Bot Destroyer
  • ***
  • Posts: 198
    • View Profile
Hibernation
« Reply #36 on: January 25, 2008, 08:43:27 AM »
a simpler way to do this is to have an type changing gene
eg
type 1= hibernation
type 2= active
"If this is coffee bring me tea, If this is tea, bring me coffee"

Offline JossiRossi

  • Bot Neophyte
  • *
  • Posts: 31
    • View Profile
Hibernation
« Reply #37 on: January 25, 2008, 01:08:27 PM »
Simple is not always preferable. I think the best idea is to provide the base elements that when combine correctly can do almost anything. It's about giving letters, not words and sentences.

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Hibernation
« Reply #38 on: February 19, 2008, 04:57:15 AM »
You call that a hibernater?
THIS is a hibernater : [a href=\'index.php?showtopic=2547\']Pacifist[/a]
It should also work even if they put costs back on stores in adress 0