Generating a story will all be piped through the architect. A system that essentially takes a cahracter/action tuple and outputs a narration that describes the event. The difference is, the architect will assign a positive or negative rating to the character/action tuple which can then be fed back into the character for learning. The character will determine whether this action was appropriate at the time and, given various environmental variables, will hopefully learn to make actions that advance the story.
All characters in the world will have the ability to invoke an action. Tentatively, these actions will include the following:
- Use an Item
- Drop an Item
- Pick up an Item
- Attack Another
- Move about the World
- Talk Positively to Another
- Talk Negatively to Another
Once an event is taken, the various world parameters will be fed into the characters Neural Network which will help it learn which actions are better to take given the current variables. Other attributes that a character may have include the following:
- Disposition towards Another
- Health
- Weapon Capacity
- Location on the Map
- Attack Power
- Defense Power
- Hunger Level
These attributes can change by taking actions.
This is a sybsystem that takes a character/action tuple and describes the outcome while assigning a positive/negative attribute to the action. Attacking another may be positive or negative depending on various attributes that the person in question has. Essentially, the outcome will have to be hard-coded (initially). The story itself will be programatically determined. If it's a survival story, then anything that causes harm to the player is considered negative.
One alternative idea is the architect playing out an action and iterating into the future to see the outcome of the action. In this way, the architect can more accurately predict the positive/negative influence of a given event.
The first story will be a zombie survival story. A player will be placed on a map and must survive as long as possible. Either finding their savior situation or dying in the attempt.