Elemental: Making a Quest

One of the requests from https://forums.elementalgame.com/396283 was to show how quests are done.

Let’s walk through making a simple quest.

Title: “An urgent message”

Objective: Bring Dennis’s Note to the Master of Hounds

Reward: Token of Man’s Best Friend

Step #1: The Quest Location

First, I load up the Builder’s Forge in the Workshop and make a suitable location. This is the home of Dennis Lacros. Dennis has been doing his part to help rid the area of wolves.  He does this by working with a series of Hound Masters who are supplying him and others like him with hounds bred to fend off wolves and make the countryside safer.

He has asked if you can deliver a message to Master Olof, the Master of Hounds, that he has need for another dozen hounds as soon as possible.

image

Step #2: The Quest Destination

image

So here I’ve created Master Olof’s place. 

Step 3: Define the Location and Destination

In XML, we have to tie our tile designs to a game object. In this case, a quest location and a quest destination. Quest destinations are just goodie huts (notable locations). The quest locations are objects that trigger the creation of other game objects.

 

 

Step #4: The Quest Definition

This is where I wish I had .NET skillz to whip up a simple quest editor. I’m the most familiar with how the quests work in terms of XML but my .NET skills are weak.  So let me walk you through the XML.

First, to make it easier to distribute to others, I made a new XML file called Quest_UrgentMessage.xml and created a root called <QuestPackage>.

Then I copied and pasted the two tiles I just made (they’re XML) into it.

Then I wrote up the quest definition.

 

Step #5: TESTING the quest

The easiest way I’ve found to actually test a quest is to create a map and put the quest on it and see if it works the way you think it should.

Here’s how I do it.

First, I create two islands. one for me and one for the AI player to keep them out of my way. I put starting point 1 (me) on one island and starting point 2 on the other:

image

Then I put the quest on the map:

image 

Now I load the game and load up that test map I just made.

 

image

image

Now, normally at this point we’d toss out the tile because it clearly clashes with the background. This is why it’s so hard to make things that look nice. But anyway, here it is.

Next…

Will put this together and upload the actual source.

To be continued…

115,147 views 34 replies
Reply #1 Top

Looking forward to seeing you break out the advanced quest possibilities with this one, beyond simple fed ex quests.

Reply #2 Top

Did someone say .net skills?  :)   I think that based on what you give us here, some of us in the community might be able to "whip up" a quest editor.   Or at least a place holder until you guys give us something official.  

 

Looking forward to the mod series.   :thumbsup:

Reply #3 Top


Step #4: The Quest Definition
...
Then I wrote up the quest definition.
End of quote

Quest definition...  there's a lot of details glossed over by those two words.

Would appreciate if you could comment on the schema of the quest definition and list out what the different options are for some of the elements.

Then there are Quest Objective Definitions, Quest Condition Definitions, Quest Choice Definitions. :omg:

 

Reply #4 Top

btw, excellent tip on how to test quests w/ using the two islands to separate the player and the AI.

Reply #5 Top

Quoting Gravedancer, reply 3

quoting post
Step #4: The Quest Definition
...
Then I wrote up the quest definition.

Quest definition...  there's a lot of details glossed over by those two words.

Would appreciate if you could comment on the schema of the quest definition and list out what the different options are for some of the elements.

Then there are Quest Objective Definitions, Quest Condition Definitions, Quest Choice Definitions.

 
End of Gravedancer's quote

Yep, I wanted to save a separate journal entry to go over that.

Reply #6 Top

Is there going to be a handy quest log, other than the system in now, to view existing quests? A list with a preview pane next to it with quest details would be a great way of making it easier to see outstanding quests without having to scour the cloth map for yellow symbols.

Reply #7 Top

No offense but you do employ people with .NET skills...

Reply #8 Top

<3  

thanks brad! those of us who are literary junkies thankye! :)

/me dives in his XML

Reply #9 Top

Quoting MrCapitalG, reply 7
No offense but you do employ people with .NET skills...
End of MrCapitalG's quote

Yea, but not on the games side of things much and I would still have to explain to them what I'm explaining to you guys anyway. The quest system is very powerful but also very complex.

Reply #10 Top

I'm more than a little surprised that you guys haven't created, even an ugly internal 'quest editor' of sorts, since this is all in XML, I would imagine that if the quest system is as powerful as you keep saying it is (and I don't doubt that), that because of it's complexity, it would simply make sense to create a tool that lets you work above the XML, in a Windows UI of some kind, as you have stated a .NET application or whatever.

Do not read into this as me being a jerk, I'm not trying to be at all, but I'm just shocked that such an internal tool wasn't developed prior to creation of the campaigns, I would imagine it's quite a chore to create even the basic of quests, editing files here and there manually (prone to error etc), then to tie them together into a campaign, again no offense but the source of the shallowness of the campaign does start to peek through here, if you guys didn't even create a tool to make creating quests easier on yourselves, then its no surprise the quests that shipped with the game are simplistic at best, what more could have been hoped for?

For as much as the quest system is touted and such, I don't think it really means all that much if it's inaccessible to community, let alone the actual development team. It will just appeal to the die-hard XML junkies, when even a shoddy tool could expose it to far more people.

That all being said, I do have the skills, explain it to me, throw me some coin and I'll build such an editor for you and everyone else :)

Reply #11 Top

Then I wrote up the quest definition.

To be continued…
End of quote

im hoping you cover the actual "writing up" part in the continuation... :)

as for creating a quest editor, i would be happy to take a stab at something... assuming of course it was worth your time to communicate the necessary underlying "mechanics" to make such a tool useable...

while im proficient in c#, im sure there are others on the forums whose skill exceeds my own... the chap who wrote elementerra comes to mind... ;)

Reply #12 Top

I'd like to see the XML behind the Quest that makes it work with a line by line explanation :)

Reply #13 Top

This is a great post for begining quest making. I have been thickheadedly loading a massive map to test my quests lol. I guess we all need the basics.

Reply #14 Top

What would be nice to have added to the QuestDef schema is a <Summary> element.

Using the description element as a summary doesn't really work that well in practice.  The summary element could also be useful for the mods web page so that people can get a few more details vs. going off of the name - which is only the DisplayName element.

Reply #15 Top

Quoting Frogboy, reply 9

 The quest system is very powerful but also very complex.
End of Frogboy's quote

Does this mean we'll be able to have quests where multiple options appear for the gamer such as:

    You see a sleeping darkling shaman and two sacks near his feet... what will you do:

A}  Kill the darkling shaman.

B}  Steal any belongings to the darkling shaman and keep walking.

C}  Ignore the darkling shaman and keep walking.

D}  Wake up the darkling shaman for questioning.

E}  Leave a gift of gold for darkling shaman with a note listing the name of your champion.

F}  Overwhelm, tie-up and kidnap the darkling shaman plus taking his stuff.

 

Does this mean we'll be able to have quests with random variables which only appear *sometimes* for the gamer such as:

A}  You find a secret entrance into an abandoned mine... what will you do:  {20% chance to appear when champion/sovereign approaches)

    1}  Block the secret entrance and keep walking.  (25% chance)

    2}  Enter the abandoned mine using the secret entrance.  (25% chance)

    3}  Yell into the secret entrance asking if anyone is inside.  (25% chance)

    4}  Fire some magic and/or arrows into the secret entrance.  (25% chance)

Reply #16 Top

yesyesyesyes, thankyou!

 

I've been working on a custom quest and running into a wall whenever I want to do something beyond the most basic fedex or "go to this hut and kill stuff" quests. I see hints and glimmers of a lot of capability but have spent hours knocking my head against a wall trying to do more complex stuff. I have aspirations towards doing a whole pack of quests. I could see how doing entire little mini-campaigns should be doable. 

Looking forward to the more detailed journal entry!

 

Reply #17 Top

Would you at some point please explain the possibility of quest dungeons with depth and challenge? Multi layered balanced to champions only vs the dungeon... maybe?

Reply #18 Top

I'm with you NTJedi. I want to do what you describe as well, and quests that result in unleashing hordes of monsters if you fail or run away, and quests that result in lairs appearring that spawn off monsters from time to time. Plus little branching quests and little campaigns, etc. 

I also want to create lairs that spawn monsters and maybe even grow more dangerous over time for that matter, which is a seperate but related topic relative to quests. Also custom minor factions would be cool, haven't even looked into the xml for that yet. 

 

I suspect all this is possible right now in the xml but don't know all the attributes and whatnot to do it. 

Reply #19 Top

Quoting Bobby, reply 16
yesyesyesyes, thankyou!

 

I've been working on a custom quest and running into a wall whenever I want to do something beyond the most basic fedex or "go to this hut and kill stuff" quests. I see hints and glimmers of a lot of capability but have spent hours knocking my head against a wall trying to do more complex stuff. I have aspirations towards doing a whole pack of quests. I could see how doing entire little mini-campaigns should be doable. 

Looking forward to the more detailed journal entry!

 
End of Bobby's quote

 

I _think_ its technically possible to create quests with dungeons right now, you can have a quest destination launch a custom tactical map. But it'd be a major effort since theres no art assets for indoors dungeon stuff yet, and it'd take a lot of work to create monsters in there that roam, and treasures, and etc, etc. Also I'm not 100% sure if all the neccessary xml stuff is functional for it yet. 

 

I bet with enough time and effort it'd be possible to make ultima-style turn-based dungeon adventures. 

Reply #20 Top

What you guys need to do is add more 3-4 level quests. Currently there is total of 2 each.

Usually in game, there is less spawns of level 1 quest locations then there are possible quests. So while it could be a bit repeatable after several games, you don't get every quest in every game.

At level two, there is a bit less variety, but since there are repeatable quests, you never run of out options.

At 3-4 level there are only 2 unique quests per level, so you are pretty much guaranteed to solve all of them, every time. And the moment you solve second one, all other quest giver locations of that level disappear.

 

P.S.

And please fix the bug, when old quest giver location gets stuck on map, after completing a quest.

Reply #21 Top

I'd also LOVE to see some Quests with Multiple Outcomes or Quests where the Player Can Choose which path to follow with more than a yes or no, fight or don't fight, answer.

:)

Reply #22 Top

Choose your own adventure ftw :) I would love to see quests like this too.

Reply #23 Top

Forgive my ignorance on the subject, but what about quests that cause localized effects? For example, could this sample quest (if completed) lower the number or frequency of monsters that spawn near it? That particular effect might not even be all that relevant if quests only show as available in "controlled" areas, but the capability for localized results would be cool :)

Reply #24 Top

Quoting Frogboy, reply 9

Yea, but not on the games side of things much and I would still have to explain to them what I'm explaining to you guys anyway. The quest system is very powerful but also very complex.
End of Frogboy's quote

I have yet not seen any evidence of it being powerful...

Could you give us a hint on what kind of quests we will be able to do in the future?

Reply #25 Top

NTJedi, those are cool ideas.  I can imagine that Brad's first question is:  "Can the AI do those types of quests?"   I think with the current quest system, the Yes or no type answers are easy to code for AI.   On the other hand, a more interesting and complex system would require them to add weighting and logic to the different possibilities, which would really cool, but does take additional work and possibly a change to the schema (assuming this capability is not already there).   Just throwing it out there that we should take into account the AI in any suggestions we make.   If I can bribe a darkling shaman to join me, then the AI should be able to as well. :)

 

I love the idea, I am just trying to figure out if we can make it usable for the AI as well.