RPG Quest system – Fun in so many ways!

I have made good progress with the project. Item saving now works well, and I managed to create a quest system in a very short time. Here is how it works:

In dynamic area data there are  items like:

["collectible","MysticShield",600,400,0,1,"Q001_1"]

(variables are type, item, x, y, rotation,scale, extraData)

And then there are friendly NPC characters, that are defined this way:

["questGiver","Priest",580,350,0,1,"Q001"]

And finaly there is Quest data:


var quest001:Object = {name:"First Quest", id:"Q001", phases:[
["pick up the shield, then talk to me ", "none", ""],
["Ok, you managed to pick up the shield. Good work =) \n I'll give you a present! ", "Axe", "Q001_2"],
["Now You have a shield and a weapon. Equip them by clicking them in quickbar.\n You are now ready to start adventuring. Good Luck!", "none", ""]
]};

How this all works?

When the questGiver is clicked, inventory is searched for items that have same quest id as the quest giver. Then the highest quest phase value existing in inventory items is determined (for example, the Mystic shield has phase value 1, determined in Q001_1 ).

Then based on the phase value, Quest dialogue is presented. I this case it will be “Ok, you managed to pick up the shield. Good work =) \n  I’ll give you a present!” And since there is item defined in the quest data, that item, the Axe, is given to player – with Quest value Q001_2 attached to the axe.

So next time player clicks the questGiver, the phase is suddenly 2 and dialogue presented is “Now You have a shield and a weapon. Equip them by clicking them in quickbar.\n You are now ready to start adventuring. Good Luck!”

So actually, there is no saving of the Quest progress at all. All relies on items in inventory. That makes things very clear and easy to maintain. Naturally that sets some rigid boundaries, too. But with some creative thinking, this system can be used to create a large variety of quests. It all relies on receving items, but one can receive items multiple ways: looting monsters, finding chests, and so on.

screen_5_195

Well, naturally the system could be more refined. For example, having accept/deny choises, etc…. but lets see what I manage to include.

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

2 Comments »

 
  • Callan S. says:

    I’ve always thought quests with two different ways of compleating them, each with it’s own moral difference, is more interesting that just doing as your told to do.

    Like you might need ten giant rat heads yes. But you have a choice of giving them to the rich nobles who don’t need the extra loot, or the poor yet dodgey people, who need it, but aren’t exactly all that clean shaven.

  • admin says:

    Callan, thanks for input!
    Hw would you set up “moral” in a game? Simple light-dark parameter is often used, but could there be something more interesting scheme?

 

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>