Search This Blog

Sunday, August 15, 2010

Realm Quest Update

I recently got a Mantis issue:

Hi Robin,
Wow, you have been busy! So I am sorry to ask, but I was just wondering if you could give an update about the Book of Quests. Is it still in the que or is it not practical at this time. The last update to the Wiki was October 27, 2009. Thank you for all your hard work!!!!
Mike

Fair enough. It has been awhile since there has been any movement on the quest code, though you may be surprised that there is a full featured quest builder mostly finished in the RealmSpeak code:



The quest builder will ultimately allow you to build a quest from scratch (much like the RealmSpeak character builder), and make it available for RealmSpeak (more on that later). Each quest will consist of one or more quest steps, each with their own requirements and rewards. At least one of the steps will have as its reward "Quest Complete". The steps can be processed in order (step 1 before 2, before 3, etc), or you can setup your own logic to make multiple quest path possibilities (i.e., you can either save the villagers from the Dragon, or kill the villagers).

Each quest step has requirements and rewards. The requirements are things like:
  • Certain number of attribute points added (gold, notoriety, etc)
  • Specific treasure in your possession
  • Perform action, or satisfy a condition at a specific location
Rewards are things that you might expect:
  • Gain points/gold
  • Gain relationship levels
  • Earn a hireling or companion
  • Receive an item
  • Teleport to a new location
When you build a quest, you get to specify which rules must be in or out of play:


By default, none of the rules are tied to quests, but there might be a reason (for example) that the optional DRAGON HEAD rule must be active, and that AMBUSH should not be used.

Each quest can have a number of locations. These are named in a special window on the builder:


Each location can be a clearing, dwelling, and/or chit, and they can be specific to one, selected by the player, or even randomly chosen. Once you have a location, you can refer to it in the text, and it will update the text to match in the quest when you are playing the game. Locations can be referred to by any quest step requirements, so it is easy to define when and where you want the player to go.

Jay Richardson introduced the concept of a "Minor Character" in his Book of Quests (available here) which I'm planning on supporting in RealmSpeak:



Now that I've presented all this, you are probably wondering when it will be available? Although the quest builder is nearly done, there is virtually NO code in RealmSpeak to actually play a quest. That's primarily because I haven't completely decided HOW quests should be implemented in-game. There's the Book of Quests approach, where each character chooses a quest that they must complete to win the game. There's Steve Schacher's Quest Cards concept (based on Book of Quests), where a number of cards are drawn/selected by players based on predefined victory conditions. Then there's my own version, where quests are available at the three guilds in-game, and must be completed to advance a level in the guild.

Time to complete? Considering that I'm not working on it now, its hard to say. I imagine there's easily a months worth of work in there, so don't expect anything this year unless I get particularly crazy.

I hope that's a good enough update Mike! If I do make any more headway, I'll be sure to post the progress here. If you have ideas/suggestions, be sure to drop me a line.