Quest system issues
Posted: Sat Nov 09, 2019 2:32 pm
We've had a couple of issues with the questing system lately. Notably with the quest selection window, but there are other occurrences too.
They mostly boil down to two issues:
1. The distinction between loading a quest and starting a quest is too vague.
2. Parsing a quest adds topics to the TalkManager.
I've created a graph showing the call flows to the Questing->TalkManager interface: Let's discuss ways to solve these issues.
Some simple first steps would be:
- rename QuestMachine.InstantiateQuest() to StartQuest()
- refactor usages of that method that only need to load (and not start) a quest
- move the creation of topics from the quest resources to the StartQuest method
They mostly boil down to two issues:
1. The distinction between loading a quest and starting a quest is too vague.
2. Parsing a quest adds topics to the TalkManager.
I've created a graph showing the call flows to the Questing->TalkManager interface: Let's discuss ways to solve these issues.
Some simple first steps would be:
- rename QuestMachine.InstantiateQuest() to StartQuest()
- refactor usages of that method that only need to load (and not start) a quest
- move the creation of topics from the quest resources to the StartQuest method