Harvest Moon 64/Character locations

The NPC locations for each day are calculated every morning when the character wakes and eats breakfast. Every character has a chance to be at four specific locations, depending on the season, the weather, and occasionally other factors. In the code, each character has a "location" byte randomly generated from 0 to 3. Normally, the chance is completely equal for each of the four locations to be chosen (25% each). The exception is Karen's location, which uses an additional randomizer to round it off one way or the other, making the values "02" and "03" appear roughly 10% more often. In-game, it means that she will disappear more often, because the values for "no location" are more likely to be chosen. Bar appearance mechanics work in a similar way, and will randomize each time you reset.

Each time you enter a new screen, the game runs a check over certain variables to determine where NPCs should be placed. The location byte randomized each morning is one of them, but it also checks:
 * Festival byte - 00 (Not Festival Day), 01 (Festival Day)
 * Weather byte - 01 (sunny), 02 (rainy), 03 (snowy)
 * Season byte - Only used for specific events. 00-03 for each of the seasons
 * Day of Week byte - Mainly used for characters affected by library closing
 * Workday byte - 00 (Not Weekday / Weekend); 01 (Weekday / Work Day)
 * Hour byte - Time (Not current time; time it was when you entered a screen)