Decision making is a key point in this project, it is what allows for the manipulation of the characters emotions and skills. The ability to make decisions is what defines a believable character however the player needs to be able to make decisions as well. The way the player makes decisions are determined by a decision tree. A decision tree works by having one event with different branches, these branches are different choices made by the player that result in different events happening, in turn these events have different branches that lead to more events and so on... The system implemented in the project does not use any formula to determine the choices as its being done by the player, the actions of the other characters are done with and around this system to influence the choices of the player and the actions of the non player characters(NPC).
In this project the decision tree is built on three classes, the story class, the event class and the choices class. The story class holds the master event list and adds all the events to the list and determines which event is the active event by the players choice which is managed by the choices class. The event class manages the choices, event information for the action that was taken and the result of that action and the personality factors which are used by the characters for determining emotion. The event class has a master choices list that adds the choices to the screen for the player. The choices class hold the information needed to by the story class to switch events and holds a description of the choice for the player.
For example:
The event is you are talking to a person, your choices are to stop talking to convince him to let you through a door, or to gather information. Choosing one of these option leads to a new event. Choosing the first option stop talking gives the action result, you dismissing the guy your talking to and look around, then continuing it gives you the background information, that you now stand in the court yard with the guy near you and the door in front of you. This produces more choices for this new event. The second option convincing him results in either success or failure, however to control the flow of the story it will always be failure and the action result will be that he will not help you and stop talking giving the background and options the same as the first choice however this gives the illusion that the player had control of the situation. The final option gather information will give you an action result of him giving you information but will lead to the same background information as you started minus the choice to gather information which will result in all three choices ending at the same point. This is an example of using a decision tree and game story making methods to control the story but give the player the illusion of choice.
What still needs to be implemented is the ability for the NPC's to give information to add more choices, for example, if an NPC is angry at the response he could attack the guy which could add the option to take his keys to get through the door while they may be in a normal mood and have the skill to steal the keys so they may steal it or tell the player he can steal them so the player can choose to have them stolen or not.
No comments:
Post a Comment