Geoshie encounters rely on three different player inputs.
1. The accelerometer data
2. The location of the player
3. Direct player commands (befriend, bait, taunt, and ignore)
Two of these inputs (accelerometer data, and location data) are passively inputted, they're constantly gathered and used as required. So they're not exactly player actions as much as they are attributes that describe what the player is currently doing.
(diagram of how the encounter is logistically separated. These aren't all classes.)
Geoshie monitors these two sources constantly and sends them to a central hub: the main .swf (Encounter) and that .swf relays that information. That central hub contains the main loop, which runs multiple times per second.
The main loop relays passive player data to the geoshie A.I, which adjusts its catch rates and movement accordingly.
Or in other words, you are constantly relaying information about your movements and location to the geoshie, who is constantly moving and adjusting how much it trusts you based on these movements.
All of this happens passively with no input from the player.
This cycle is broken whenever the player presses a button. If the player presses ignore, that's registered in the central hub and the entire process shuts down. If the player presses bait or taunt, this sends those actions to the Geoshie A.I. and gets it to make a single decision about how to deal with this. These are the actions that massively effect befriending rates.
Finally, the player can attempt to befriend the geoshie, in which case encounter will ask Goeshie to return a random number based on the befriend rate. This number decides whether or not you're successful. If the player is successful, the encounter ends and the geoshie is successfully befriended. If the player is unsuccessful, the encounter continues and the befriend rate is adjusted accordingly.
No comments:
Post a Comment