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.

5 comments:

Anonymous said...

Hokey smokes, Robin! You've done quite a lot on this idea already. I like what I see so far. Great job.

Is this something that has to be built each time or will there be the ability to export/import quests that others make?

Steve Schacher

DewKid said...

The idea will be very much like the custom characters. Anyone who makes a quest, will save it as a file, and that file can be shared. I'll probably have a "quests" folder that you drop them into, and then RealmSpeak will "discover" them, and make them available.

Anonymous said...

Looks like a very flexible framework for quests. Awesome work!

Anonymous said...

Any progress on this?

Steve Schacher

DewKid said...

Nope. I keep thinking about it though, and I'm getting to a point where the expansion is where I wanted it to be. Maybe I'll tackle this this year.