Been working on the random quest system that will end up in Daggerwind eventually. Have created a separate project, but will be easy to re-implement back in as I can export it as a package. This way I will be able to concentrate on the quest system itself, be able to refine and refactor as it progresses.
The aim is to create something similar to the Radiant quest system that Elder Scrolls Skyrim uses. (Maybe not so ambitious to start with, will just see how it evolves)
Initially I have defined the following states that represent the main stages of your standard RPG quest.
- Initialise - Initialise quest
- Offer - NPC Offer quest to player
- Accept - Player has accepted quest
- Decline - Player has declined quest
- Objective - NPC given player the objective, Kill, Speak, Find etc
- ObjectiveInProgress - Quest objective has been spawned
- ObjectiveComplete - Player has completed objective, ie Killed MOB, Spoken to NPC etc
- End - End Quest, NPC gives Player reward
As it progresses will edit this post to add some of the technical details, research, patterns etc