We have already used the concept of the prefix token in two cases: with numerical constants and with verb constants. It is time to expand the concept to cover a wider variety of situations:
Character Constant: 0 - 3
Location Constant: 0 - 63
Asset Constant: 0 - 128
Some technical issues arise from the use of such prefixed tokens: should they presented as prefixes with special secondary values, or do we bundle everything together in a single 16-bit word? This would constrain our use of numeric constants, and it would leave gaps in the address space. Moreover, if we had, say, eight bits assiged for the prefix value, then our numeric constants would be restricted to 8 bits, not a happy thought. I still like the idea of the eight-bit tokens but they may not be worth the trouble.
There will be 64 of these, with only one (#63) fixed in meaning: it will mean RemoteLocation, a place so far away that the character is out of regular interaction with the other members of the cast. All other locations will be defined by the storybuilder, with the following attributes:
Name: the short name to be used in the Role Editor.
Description: a verbal description of the location to be presented to the player
Image: a background image to be used in the abstract graphics system
CharacterFrequent: an array of values, 0 - 99, indicating the probability that each character might be found in this location. Each character should have some reasonably private areas to retire to. There should also be some public areas that most characters frequent often. However, we will not include a diurnal modifier to this table, as it would make the model overly complex.
These can be computationally expensive, as they must relax with time, not with events. I don't want to perform mood relaxation every minute for every character. Perhaps instead we could carry out mood relaxation whenever a character moves or takes an action. In the latter case, must we determine the degree of relaxation from the passage of time since the last event? What a mess! Or perhaps we can relax by a fixed amount per event, plus every time there's a change in location. Yes, I like that idea better; we get both "psychological time" and "clock time". Yes.