• No results found

With all the previously mentioned pieces in place, a few new tests were conducted. For the first run, Scurvy was made to believe the cheese was at the galley by altering this fact in his version of the setting. Scurvy proceeded to the gun deck, noticed the piece of cheese in the hold and grabbed it. O’Malley behaved just the same as in the previous test and chased Scurvy from the moment he became visible, catching him eventually in the hold.

Figure 4.3 shows a graphical representation of Scurvy’s episodic memory after the story. The small squares marked P and IE are perceptions and beliefs respectively. The GetFood goal mo- tivates all the actions. Scurvy starts by moving from the poop deck to the deck and opening the hatch down to the gun deck. The perception just after WalkFromToDoor (marked in yellow) is the perception just after Scurvy arrives at the gun deck. The internal element above that (also marked in yellow) is the belief that the cheese is at the hold, which enables the action to pick it up later on in the story. The unconnected actions in the lower right are O’Malley’s actions that Scurvy has seen. They are unconnected because Scurvy does not know O’Malley’s internal workings, the goals that motivate them or any other form of causality. There is also a failed HideWithFood goal that Scurvy couldn’t complete.

For another test the starting setup was changed to make Scurvy believe the cheese was in the captain’s cabin. Once again Scurvy proceeded to where he thought the cheese was. After opening the door to the captain’s cabin, he noticed the cheese was not there and the story ended. As expected, Scurvy had no other idea where to look for the cheese and failed to make a plan to get it. He gave up and had no other goals to pursue, so he got caught by O’Malley.

4.8

Conclusion

This chapter describes the process of splitting the agents’ knowledge into IC, OOC, core and fabula graphs as well as the implementation of visibility rules and applying them to incoming perceptions. It also shows how the planner is made to use the correct set of knowledge when making plans. The tests show that the characters now only use the IC knowledge to make plans. The final test shows that Scurvy can get into a situation where he no longer know where to find the cheese. The planner has no method to resolve this problem and the story ends in a rather disappointing way. Additionally the end is not very believable. Scurvy shouldn’t just give up looking for the cheese just because it was not where it was believed to be. How can Scurvy be made to look for the cheese in a believable way, without outright telling him where it is? This problem will be explored in the next chapter.

5

Making assumptions

In the previous chapter the new perception system was introduced. The test runs showed that the story will still play out as normal if a character happens to come accross the object he needs while he still has a working plan. If however the character no longer knows where an object is the planner fails to make a plan. The character will abandon the goal and if there are no other possible goals, stop doing anything. That is not going to improve the resulting stories. Some way will have to be found to fill in the missing information.

There are many sources that could be thought of for giving the character more knowledge. We could expand the character’s senses, adding sound or smell to provide additional ways for a character to receive a perception. But that would still not solve the problem. The character would either know exactly where to go, or none of the perception rules apply and the character stops moving. Social interactions could be used to share information between characters. But that would require a whole different layer of reasoning. What can be safely told to whom, when should a character lie, what are the social relations, enough questions to write a separate thesis on. What we would like to achieve is for the character to search for the object, and to illustrate the fact that the character doesn’t know exactly where everything is it should be possible for a character to go the wrong way. This should be achieved in a way that works without making drastic changes to the surrounding systems. In chapter three the idea was raised that the planner could make a plan if it were allowed to make assumptions. If those could be captured in a schema just like other operators then it would be possible for the planner to use them without much modification. In this chapter that idea is explored further.

5.1

The problem

When trying to make a plan to pick up the cheese, one of the preconditions for picking it up is that Scurvy and the cheese are at the same location. Actually this is split into two parts, as follows:

c o n d i t i o n ( true , [

f a c t ( Patiens , swc : at , T a r g e t ) , f a c t ( Agens , swc : at , T a r g e t )

])

In this example, the patiens would be the piece of cheese and the agens Scurvy. Before the plan- ner can make any plan to send Scurvy to the target location it will try to find a fact that fits this description, and if it can’t find that, an operator that puts the cheese at the target location, oth- erwise there will be no location to send Scurvy to. But the only types of operators that will do that would be actions involving the cheese. And all of them require that Scurvy already has the cheese or at least knows where it is. What is needed is an operator that provides a location for the cheese, where the character had none before.

acter. To the planner it doesn’t matter whether the cheese actually is at that location, it can just be a guess. It will assume that the operator does what it says it does and create the rest of the plan to move to that location and pick up the cheese. During execution of the plan it will become clear whether the assumption was correct. If it was not, the character should get a perception that makes this clear. The character will re-evaluate his plan and conclude it is no longer applicable. A new plan will have to be made, possibly using another assumption.

Writing a separate assumption for every object a character can lose track of would soon become unmanagable for larger storyworlds, so a more general operator is needed. A schema for a gen- eral “AssumeObjectAtLocation” assumption would have three arguments: agens, patiens and location. The agens is the character who makes the assumption. The patiens is the object the assumption is about, the location is where the object is assumed to be. All of these will be subject to certain preconditions in order to keep the assumptions believable.

Related documents