AiboHack


AIBO Evolution Rules


Overview

Evolution (or "Growing") from one stage happens after a certain amount of "quality time" is spent at the old stage. If you are interacting with the dog, "quality time" passes at the same rate as real time. If you are ignoring the dog, "quality time" passes slower than real time.

Evolution Diagrams

For ERS-110 (Summer 1999) and ERS-111 "A" (Winter 1999) AIBOs, the evolution rules are summarized below. The rules are the same except for the time it takes to evolve from a Youth to an Adult (it takes twice as long for an ERS-111).

For ERS-111 "B" (Spring 2000 release) AIBOs, the evolution rules are much simpler.

Impact of Color

The color of your dog's room is the most significant factor in deciding its personality. If the room is mostly blue, your dog will grow up to be active. If the room is mostly orange (including red-tones and brown-tones) then your dog will probably grow up to be lazy. There are exceptions (eg: Lazy Child grows into Bad Boy). NOTE: for the ERS-111B, color has a much smaller impact on the dog's evolution.

Evolving from Newborn

Evolution from Newborn to Baby occurs after 100,000 ticks of "quality time" (over 2 hours, 1 tick = 1/10 second). There are no additional choices here, all Newborns become Babies.

Evolving from Baby

After 300,000 ticks as a Baby (over 8 hours), the dog will evolve into a Child. It can become a Child#1 (Lazy Child) or Child#2 (Rumble Child) depending on the following rule.
    if (G_BALL > 0 AND              // must have seen the ball
      G_RISE > 0 AND                // must have fallen down and got up
      G_LIFT > 0 AND                // must have gone limp after lifted or shaken
      G_DOSTOP > 0 AND              // must have been paused
      S_Skill > 0) then             // mystery???
        become Rumble Child
    else
        become Lazy Child

NOTE: for ERS-111B the "G_LIFT" term has been removed.

The values are the values in the RHAPSODY file. The dominant factor is the "G_LIFT". In order to raise a Rumble Child you must lift or shake the Baby dog until it goes limp, at least once (except with ERS-111B).

Evolving from Child

After 1,000,000 ticks (over 27 hours) as a Child, the dog will evolve into a Youth (or "Young" dog).
If the dog was a Child#1 (Lazy Child), the rule is:
    if (G_UNFAV > G_FAV AND         // must have seen more ORANGE than BLUE
      G_LIFT > 0 AND                // must have been lifted/shaken
      G_DOSTOP > 0 AND
      S_Skill > 0 AND
      L_Skill > 0 AND
      S_sound > 0 AND
      L_sound > 0) then
        become Bad Boy
    else
        become Lazy Boy

NOTE: for ERS-111B the "G_LIFT" term has been removed.

The dominant factor is the color term "G_UNFAV > G_FAV", which means the dog must have seen "ORANGE" more than it has seen "BLUE". This is backwards from the other color rules.

If the dog was a Child#2 (Rumble Child), the rule is:
    if (G_FAV > G_UNFAV AND // must have seen more BLUE than ORANGE
      G_BALL > 0 AND
      G_RISE > 0 AND
      G_LIFT > 0 AND
      G_DOSTOP > 0 AND
      S_Skill > 0) then
        become Good Boy
    else
        become Bad Boy

NOTE: for ERS-111B the "G_FAV > G_UNFAV" and "G_LIFT" term has been removed.
The dominant factor is the color term "G_FAV > G_UNFAV", which means the dog must have seen "BLUE" more than it has seen "ORANGE". In either case, seeing more "ORANGE" influences the child to be a "Bad Dog".

Evolving from Youth

The time spent as a Youth is 2,000,000 ticks (over 55 hours) for the ERS-110 and 4,000,000 ticks (over 111 hours) for the ERS-111. I'm guessing the AIBO developers wanted the newer ERS-111 to take longer to grow up, so they just doubled the time spent as a youth.

Which Adult personality the dog evolves into depends on the following rules.
If the dog was a Youth#1 (Lazy Boy), the rule is:
    if (S_Skill >= 5 AND
      L_Skill >= 3 AND
      S_sound >= 5 AND
      L_sound >= 3 AND
      Walking >= 10 AND
      Special > 0) then
        become Rumble Cat
    else
        become Lazy Cat
In this case color doesn't matter. The dominant factor appears to be the "L_Skill" term. I haven't figured what that is, but it is usually a small number even after hours of use.
If the dog was a Youth#2 (Bad Boy), the rule is:
    if (G_FAV > G_UNFAV AND
      G_ON_ST > 0 AND               // was on the station
      G_OFF_ST > 0 AND              // was off the station
      G_LIFT > 0 AND
      G_DOSTOP >= 3 AND
      Special > 0) then
        become Lazy Dog
    else
        become Rumble Cat (lazier than a Lazy Dog)

NOTE: for ERS-111B the "G_FAV > G_UNFAV", "G_ON_ST", "G_OFF_ST" and "G_LIFT" terms has been removed. It should be near impossible to raise a Rumble Cat from a Bad Boy.

If the dog was a Youth#3 (Good Boy), the rule is:
    if (G_FAV > G_UNFAV AND
      G_ON_ST > 0 AND               // was on the station
      G_OFF_ST > 0 AND              // was off the station
      G_LIFT > 0 AND
      G_DOSTOP >= 3 AND
      S_Skill >= 5 AND
      L_Skill >= 3 AND
      S_sound >= 5 AND
      L_sound >= 3 AND
      Walking >= 10 AND
      Special > 0) then
        become Rumble Dog
    else
        become Lazy Dog

NOTE: for ERS-111B the "G_ON_ST", "G_OFF_ST" and "G_LIFT" terms has been removed.
In these last two cases, the color term is the most dominant. In either case, seeing more "BLUE" influences the dog to be more active, seeing more "ORANGE" influences the dog to be more lazy.

Evolving from Adult

Adults never grow up.

Notes

Algorithms determined by disassembling code in the "learning" module of ERS-111.
I believe these rules are the same for ERS-110.