Right now I've done two things:
- Removed the hardcoded "turn" termination of the program. Before now the program ran until each character had been granted an x number of turns. Now I've adopted a "storytelling" approach based on screenwriting formatting - a story is made up of 3 major events, commonly referred to as "the inciting incident," "plot point 1" and "plot point 2". As a result, the simulation now runs until three actions of AIV level 5 (the max) have been performed. After the turn of the third one, the simulation ends. This is rudimentary - I still need to figure out a way to allow for the story's "conclusion" - but so far it's proved incredibly effective at keeping the focus of the "story" fairly narrow.
- Made it so any actions below a certain AIV don't print. It's amazing how much of a difference this makes... At some point I'll try to do a test where I output the same "story" with this suppression and without it so that it's clear just how important omission of irrelevant/boring details is to telling a good story. This is also far from complete... In the finished version, we need to select a "main character" (in a game, this would always be the player), then we construct a tree of degrees of separation (Kevin Bacon style) in which a lower degree means that less relevant information is still important. That is, any AIV prints for the main character, any above AIV 2 prints for a character of degree 1, any above AIV 4 for a character of degree 2, and for degrees 3 and higher we never see what they do. Right now we're just equally suppressing everyone's "uninteresting" actions, which goes a long way towards telling a story but doesn't factor in concepts of protagonists and story focus. That comes next.
No comments:
Post a Comment