Jump to content

[Tutorial] Step-by-Step Quest Creation Using Quest Editor


EVOLV

Recommended Posts

Step-by-Step Quest Creation in Intersect

Date Modified: 6/27/2017

Engine Used: Intersect 3.1

 

The following guide will show steps to create a quest which will allow the game developer to take advantage of all the great features Intersect has built in. After reading this guide, the developer should have a good grasp of the ways by which the quest system is set up. The guide uses Intersect 3.1.

 

Pre-req: You should have some basic familiarity with the Intersect Engine, how to access the Quest Editor and the Events system. You should know the basics of the Event editor commands hierarchy system. You should understand the basics of the Animation editor if you want to add the "!" and "?" symbols above the head of your quest-giver in the Optional Precursor.

Requirements: You should download Intersect 3.1. You should have some sprites to use for your quest-giver event, as well as some monsters set up in the NPC editor. Basic stuff!

 

Precursor (Optional): For this guide, we will be using quest animations specific to the point in the quest which the player has reached (The "!" and "?" symbols above the NPC's head).


 

Spoiler

 

Download the ones I use for A4C, here:

  1. http://gloryhound.info/wp-content/uploads/2017/06/questafter.png
  2. http://gloryhound.info/wp-content/uploads/2017/06/questduring.png
  3. http://gloryhound.info/wp-content/uploads/2017/06/queststart.png


Or feel free to make your own! These are free use for anyone. I am happy to see them used in your games. Enjoy!


The animations we use in A4C currently are a simple gold "!" which appears above the head of the NPC offering a quest, a grey "?" for when the player is on the quest, and a gold "?" for when the quest is completed. This is reminiscent of the World of Warcraft quest system. IMAGE REFERENCE HERE.

 

Update 7/4/17: I am now maintaining an animation tutorial if you need more in-depth help:

 

  • Place the quest animation PNG files you downloaded, or ones you made on your own, in the Animations folder: Client/resources/animations
  • Open the animation editor.
  • Create a new Animation called "QuestStart" or something you'll remember.
  • For the upper animation, select the queststart.png file, or the animation you want players to see when a quest is available to them.
  • Graphic Vertical frames should be set to 1.
  • Graphic Horizontal frames should be set to 5.
  • Graphic Frame Count should be set to 5.
  • Run the animation to see if it works for you! Feel free to set the framerate to something slower or faster. A4C utilizes the lighting feature, too, so you can more easily see quests on dark maps. Feel free to play around with that!
  • After you finish the "QuestStart" animation, do the same steps for two more animations, "QuestDuring" and "QuestEnd", respectively.

 

You have your three animations ready for this tutorial!

 


Step 1: Figure out what you want the quest to do.

 

Spoiler

 

Is this a simple "talk to an NPC" quest or a more robust multi-faceted collection quest? Take note of who players will talk to, where they will go to find each step, and the exact order in which they will complete these tasks. Once you know what you're doing, it'll be easier to work through the steps to bring your quest to life! There are three basic components to questing which Intersect 3.1 currently provides for the steps in your quests:

 

  • Gather Items
  • Kill NPC
  • Event Driven

 

Gather Items steps require you to seek out a given amount of a specific item. These are easy to pair with resources which players can farm throughout your MMO's world.

 

Kill NPC steps are just that -- kill a given amount of NPCs to complete that step of the quest. We'll use a Kill NPC function in our tutorial quest.

 

Event Driven steps allow for a broad range of things, and you are responsible for creating an event which will continue or conclude the quest. This could be nearly anything! You might talk to a character to conclude a quest in this way. You may go through a complex chain of events that involves travelling, killing NPCs, interacting with other players or more. For our quest, we'll keep it simple and have you return to an NPC event, to complete the quest.

 


Step 2: Let's create the quest itself!
 

Spoiler

 

You'll start by opening the quest editor in the Intersect Editor. Below is a quest which I set up, already filled-in. This is done so it'll be easier for you to figure out where things go and what, specifically, we'll be paying attention to in creating our tutorial quest.

 

questy1.png.ec008fb86e9ce0619ed82d97704b7751.png

 

Objective: For our quest, we'll want our player to kill a set number of monsters and return to the NPC who gave them the quest, to collect their reward. This is therefore, a two-task quest. Task 1 is to kill the monsters. Task 2 is to return to the quest-giver.
 

  • #1: Copy the information in the above image, into your own Quest Description boxes or make your own! Note that what you type here will show in your quest log and as the information given before the player accepts the quest.
  • #2: Below the Quest Description area you will see the Quest Tasks area reserved for the steps to take in the quest. Open this by pressing Add Task.
  • #3: We will now select the objective of our first step in this quest. For our example, choose Kill NPC. Then, select which NPC and how many need to be killed in order to complete the step. Hit OK:

questy3.png.b5b84010933b5d8dda4da8fbdd03d207.png


 

  • #4: Next, add a second step to the quest. We will be doing much of the work to create this step in Part 3 of the tutorial, when we create the NPC itself, so this will be pretty easy. Select Event Driven.
  • #5: Type in what the step should consist of. In our case, "Return to NPC" should be more than sufficient. Hit OK:

questy4.png.61985a12fe0e2d91a3aae540b067f4f8.png

 

 

Congrats! You have completed the Quest editor portion! Now onto getting an event to do the legwork of moving the quest along!

 

 

Step 3: For this part, we'll need to create an event (an NPC) who will both give the quest and act as a return point for when it is completed.

 

Spoiler

 

Objective: Our quest requires the player visit the NPC to get the quest, and also return to him later in order to "cash it in". We accomplish this by creating an event system rather than a simple NPC, since we'll need to add some Commands to him. We will also deal with an event's Pages, which are shown with numbered "Tabs". This allows the event to "wear different clothes" as it were, depending on the situation. We'll have a Page/Tab for the NPC when he is ready to give the player a quest, one for when the player is on the quest, one for when the player has completed the main task of the quest (kill NPC monsters), and one for after the quest is over (the player has concluded the quest with the event-driven task of returning to the NPC).

 

  • #1: Start by going to the map where the quest-giving NPC will be located. Open the Events tab and double-click on the place in the map where you want the NPC to be standing (or wandering around, or whatever).
  • #2: You will see the Event Editor open up. Yours will be blank, but here is an example of it, pre-filled out with the important parts in our tutorial, circled and noted:

 

eventsy2.png.d7468c05cdcae63f809757a068cfd25b.png

 

  • #3: Select a sprite for your NPC, name him if you wish, and set a move route if you want him to walk around. If you opted to create a quest-giver animation at the beginning of this tutorial, select "QuestStart" as your animation. Make note of the numbered tabs below the NPC's name. We are on tab 1. In essence, these tabs show us what version of the NPC is showing up. Tab 1 will be used for the version of the NPC who gives the quest. Tab 2 for the NPC who stands around as you are on the quest, defeating monsters. Tab 3 will be for when you finished killing monsters and need to return to the NPC to "cash in". Tab 4 is just the NPC without a quest to give -- he simply talks to the player if you engage him.
  • #4: In the Commands area, we're going to want our NPC to talk to the player first, maybe giving a little background information on the quest, before offering it to him. Double-click the first line (AKA where the "@" symbol resides) to open the Commands List. Select Show Options. Write in some inspiring tale which makes the player want to get out into the field and slay some baddies. Give the player a chance to Accept or Decline the offer. Something like this, is ideal: IMAGE REFERENCE HERE.
  • #5: Now we'll set it up so that the NPC offers the quest when the character agrees to help. Under the event hierarchy for the option that accepts the quest (AKA "When [Yes, I want to help...]"), double-click the next line to add another command. This time, select Start Quest. Choose the quest you created in Part 2 of this tutorial and make sure you click the box for "Show Offer Window" (unless you want the player to just accept the quest without an offer - use your discretion, but I think it's courteous to ask).

eventsy7.png.dbd97001b7c662be01541a64dffa6284.png

 

  • #6: You can option to do a few things in the fields directly below  "Quest Accepted..." and "Quest Declined...". I usually at least place Chatbox messages, here ("You accepted Quest: Cull the Rexes!") once again, it's out of courtesy to the player so they are fully aware that they are now on a quest. You can show animations, play sounds, or whatever you like! It's wide open!
  • #7: At this point, your NPC will give the quest to a player! However, he needs to be told which players he should offer the quest to (versus offer the completion of the quest's reward, etc). We do this by clicking on the Spawn/Execution Conditions Button (above the NPC sprite field).
  • #8: Within the Spawn/Execution area, we can set conditions that the Event (the NPC) will show up in his current state (as defined in Tab 1). For the beginning of a quest, you'll want to make a condition that states the character will see the quest available simply because he is able to accept the quest. That means he has not already completed it, and is high enough level, etc. To do this, create a new list by clicking Add List. Then name it something like, "Can Quest", etc. Add conditions by clicking Add Condition. Finally, select from the dropdown Condition Type, Can Start Quest... and choose the quest the NPC is giving the player. IMAGE REFERENCE HERE.
  • #9: You've finished Tab 1 and the initial quest-giving stage of the tutorial! Next, we'll set up another tab and create the version of the NPC that will show up to players currently on the quest!
  • #10: Create a new Tab, Tab 2. Do this by clicking the New Page button in the upper portion of the Event Editor. Tab 2 should appear. It'll be blank.
  • #11: Luckily, Intersect offers a quick way to copy everything you just created on the tab previously by offering a Copy/Paste Page feature. Click on Tab 1 and then click Copy Page. Then, click on Tab 2 and click Paste Page. Everything you did on page/Tab 1, including the NPC name, its sprite, commands and spawn conditions will copy over. Now we simply edit the things that'll be different about this instance of the NPC...
  • #12: For the NPC who wanders around waiting for you to complete the quest, only a few changes need to be made. First, if you made a quest animation for him, select it (In our example, it would be "questduring.png").
  • #13: Next, change the Commands which the NPC will use to interact with players who engage him. Delete the field entirely. Then create a Show Text command. I like to keep this simple and display a line of dialogue which states something like, "Hey guy, have you finished that quest yet?" or something of the like. That should be it!
  • #14: Finally, and most importantly, we're going to change the Spawn/Execution conditions for this instance. Start by clicking on the Spawn/Execution Conditions button. There should already be a list present -- Delete the list ("Can Quest") and add a new one. Call it something like "Is on Quest". And set it so the event only shows up to players who are actively on the quest. My favorite way to do this (so you can have any number of steps before "cash in") is to set the Condition Type dropdown to Quest in Progress... and select the quest. For the "Is:" field, select Before task... and for the "Task:" field, select Event Driven... IMAGE REFERENCE HERE.
  • #15: Tab/Page 2 is now put to bed. We'll start Tab/Page 3 the same way, by clicking Copy Page (while on Tab 2), then New Page, then Paste Page.
  • #16: This time, we'll be creating the instance of the NPC who shows up for players ready to "cash in" after killing NPC monsters. In other words, after the kill NPC task is complete, but before the event driven return to quest giver task has been done.
  • #17: First, change the animation on the sprite to the appropriate image (in our example, "questafter.png").
  • #18: Next, delete all the Commands in that field. We'll be adding a whole new set for this one since we need to tell the game that the quest will be ending on this step.
  • #19: I like to start by adding a little dialogue, as usual. We'll start by adding a Show Text command with some typical fare: "Great job, buddy! Here is your reward!" but after, we get to the meat of the matter and add things like rewards and that all-important command to signal the quest's end.

comm.png.3cdc9e4e660ceb356f4983d5215e8b2f.png

  • #20: Below your congratulatory dialogue, select from the Command Line, Change Player Items. For the item, I recommend giving at least a little currency, so select your currency item and the amount you want to give in the "Item:" dropdown (mine is "Shell" as you can see in the above image).
  • #21: I want to make it so when the item is given successfully, it triggers the end of the quest. In order to do this, I place the Command Line Complete Quest Task below the Items Given/Taken Successfully line. I select the quest as usual, and for the task, I choose our final task, the Event Driven return to NPC. In this way, if the player doesn't get the item (because their inventory is full, etc) it should allow them to retry "cashing in" as the quest will not have completed otherwise.
  • #22: The commands done, it's time to turn to the Spawn/Execution conditions for this instance. Click on the Spawn/Execution Conditions button. There will already be a list present, so of course you can go ahead and delete it. Add a new list and call it something like "Near Completion". Practically the same as our last, we're going to set the Condition Type dropdown to Quest in Progress... and select the quest. For the "Is:" field, however, we're going to select On task... and finally for the "Task:" field, select Event Driven... IMAGE REFERNCE HERE
  • #23: This finishes our quest and Tab/Page 3. You can stop the tutorial right now and have a fully functioning quest, with a quest giver who disappears when all the tasks he has for you are finished. However, I don't want our NPC to go AWOL, so our last instance of this NPC Event will be to create an instance of him who has no quest to give.
  • #24: Same as ever, Copy/Paste Page/Tab 3 onto New Page 4.
  • Start by deleting all of the Commands in the Command field. You can add some dialogue if you like, "Hey, thanks for your help, bub!" etc. And while you're at it, set the animation on the sprite to none.
  • #25: Once those two steps are completed, the only other important thing to do is to set the Spawn/Execution conditions. Click on the Spawn/Execution Conditions button. As usual, delete the existing list and add a new list named something like "Quests Finished". Your Condition Type will be Quest Completed... and of course, you will set the Quest to your quest! IMAGE REFERENCE HERE.
  • #26: Done and done! Go test it out!

 

  •  

 

raps.png.102f32a9e4e54f9a87e372c9c26f0929.png

 

So I hope this winds up being a help to some folks who are trying to get to know the Quest Editor system a little better. Rest assured I'll try to keep tabs on this thread and improve/add to this as necessary. That in mind, I may have forgotten some things, so if you find an error, etc., let me know! Thanks and happy questing!

Link to comment
Share on other sites

@EVOLV Dude,i want to say a HUGE THANKS! I was so lost in making a quest,but you are a life saver.

If you continue doing guide,it would be awesome!

 

Much appreciated!

 

P.S You could try recording the tutorials,explaining them and etc. I think it should be easier for you.

Link to comment
Share on other sites

I definitely want to continue to make tuts now that I got this one going on. My game is at the stage where I can literally screencap what I am doing as I go along and bang out a guide for people. Also, videos are a good idea. I have OBS for streaming, which I rarely get the opportunity to use. This would be a good excuse, eh?

Link to comment
Share on other sites

  • 4 weeks later...
6 hours ago, PinkAngel said:

this is an amazing guide but says nothing about how to make a quest where you just need to talk to a different npc and I am a bit stuck on this.

An NPC or an Event? If you make an NPC Event you can just set the quest task to be completed after showing dialogue from the NPC Event, if you understand how i mean?

 

A bit more detailed..

 

In your Quest editor:

Set Quest task in quest to be "Event driven", then set X to complete that quest task once you interact with X. You do this via event commands.

So it could look like this:

 

1. Set the quest task(s):

http://imgur.com/chp9YXZ

 

2. Then (if you want) set a event to be played once the event(the NPC) completes the quest task

http://imgur.com/XHrTvRr

 

3. Then create an Event where you want the player to complete their task (talk to npc), set the quest task command, choose which quest and which of the tasks to be completed, and you're done.

http://imgur.com/3MJUQE6

Link to comment
Share on other sites

Hope you have had success, Pink. Sorry I have been away from the forums as I had a totally impromptu "vacation" where I got called to do some contract work away from my usual homespace, here.

 

As SCTrav says in the excellent explanation they gave, you can really make the Event Driven function anything you want. It's totally dependent on you telling your game, "Okay, quest is done!" at the appropriate time. In essence, remove the part about killing NPCs in my tutorial, and it'll work just as well. :)

I should be around a bit more in the coming days if there is follow-up or you are still having trouble!

Link to comment
Share on other sites

  • 7 months later...
  • 1 year later...
4 minutes ago, Killsrmax said:

wow finally it came out thank you very much friend. Now just a little problem. I when delivering the items of the quest at the end of the items singuen in my inventory. How do I make them disappear?

 

Before completing the quest, add: take item [quest item] 

And then if taken succesfully add the finish quest command

Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...