Adventures Of The Lost Fighter | Play Testing And Quest Scripting


Questing and Scripting.jpg

Collection quests ended up being a lot easier to set up and create than I was expecting. I ended up watching some videos, reading some documentation, and taking a look at the examples in an already pre-formatted collection quest NPC in the RPG template for 001 Game Creator.

While I want more than just collection quests in the game. I feel those are the kinds that create a small story and a bigger purpose for the player to go out and do them. At least more so than you usually go out and kill 10 rats than come back for a reward. How many rat kill quests have you done in your lifetime? Far, far too many.

Triggers in 001 Game Creator.png
All NPCs in 001 Game Creator can have different triggers added to them. The one that I’ll be using a lot over the next couple of days is Talked to/ Activated trigger. While they do have a nice premade simple quest collection script already created. Well. . . My first NPC is going to need to be doing a few things.

item found on ground.png

One of the biggest things the player needs to go out and do is acquire a weapon. For that, a simple quest telling the player that a weapon was lost that happens to be nearby. I know what you are thinking. That NPC must be blind not seeing it’s just a few steps away.

The more complex thing will be the player working out to equip items than it is doing the first quest. I may or may not be adding to the quest finish dialog on how to do so. As a gamer, it did not take me long to work out how.

For most people, I don’t think they will realize they have to press escape, click on the character doll respecting the player, click on the word weapon, then click on the knife you just picked up, then hit enter to equip the knife. This game engine is a bit older and I love that old vibe feeling it has. Something younger gamers might not enjoy so much or pick up how to do things right away.

lots of events.png
One of the nice things about 001 Game Creator is the primary way to work on scripts while you can do it in the text or visual scripting. They have a large amount of premade scripting blocks that they call events that you click on. They can have things like exposed variables types and other information depending on the type that can be edited along with what they do.

My first script.png
It all goes into a nice flow chart. One of the more important things to learn is the order of operations when it comes to the branches of the chart. Usually, if you have multiple branches the first one is checking to see if a condition variable has been set to 1 or true. Everything else is usually set to 0 if not.

I found out the hard way when testing my first scripts that I was not paying enough attention to the order of operations. As a result the string of quests I have jumped around. Parts of needed information were skipped over while things that the player did not need to know yet were displayed --oops.

local variables.png
It has a local variables menu where you can add the different variables you need to set to 0 or 1. While a single quest will more than likely just have one. I have several quests this NPC is dealing with so he has some extra once.

You can even make a quest repeatable or not by changing the if persistent is true or not. A rather nice feature if you want to make something repeatable or not. I have even noticed there are some timer events you can select in the expanded events menu. This makes me hopeful it won’t be that hard to add some things I want for the end game later on.

As far as my script there is four main objectives in it. Have the player acquire a weapon. Have the player go off and find armor in a local dungeon. Have the player go off and find another collection NPC on the map Finally, tell the player to move onto another area for more quests.

Item Branch var.png
The majority of this was handled using message boxes to display text information to the player. Variable operation events to set 0 or 1 for local variables in the script. Comparison branches to see if a quest has been set to 1 as finished. Item Held branch to check if the player was holding the quest item being looked for. Finally, giving the player XP, money, or other things.

After a couple of bugs and some fixes in the way, I was doing things I got everything mostly working on the first map of the game as I like. I still need to mess around with something like global variables that is something I’m going to tackle another day.

find the weapon.png
There were quite a few playtests runs while I was working on my first scripts in this game. While they do have some debugging options to see how the script is running. Since I was learning and doing things for the first time I took it slow and tested as I was going.

Still looking for that knife.png
In a perfect world, the player will go out and do exactly what you wanted them to in a manner you were expecting. In an imperfect world that is not going to happen. That is why you need to take into account the player returning to the NPC or forgetting what they need to do and display dialog reminding them of their task.

They could have also already have found the quest if that was a possibility. I recall in quite a few games I’d just ignore NPCs and quests altogether and go off on my adventure. I could set up triggers in the starting area to try and force the player to talk to the NPC and acquire a weapon. I however don’t like forcing the player like that. If they want to go out and get killed with nothing to defend themselves by all means.

The player returning and not finishing a quest can be an opportunity for the game developer. You could include further context clues like I have that you are not just looking for a weapon but a knife is somewhere around here. You could also have some fun at the player's experience of their failure but I won’t get into spoiling that with something I’ll be working on later.

go into the cave.png
The nice thing is I was able to give this NPC more than one quest for the player. Once they return they are told to head off to some caves (the first dungeon) and find some gear. That cave is not that far and it’s just hard enough the player might get killed some of the time.

Killed.png
I did not clear the cave fast enough. Those bats in there do hit a bit hard and having armor would solve that. Looks like I’ll be making another attempt. The goal of the first tiny dungeon is for the player to clear it and loot a chest in it. In that chest contains the leather armor they were told to go and find.

Leather Armor.png
The second time around it was much easier and I have now acquired the item the NPC is looking for.

While you can set up an NPC to remove an item such as what you sent them out to find. Since I wanted the player to have a piece of gear before moving on I let them keep it. I also give them a little bit of experience.

Next quest.png
While not all quests I’ll be making will send you off on the hunt for another one or give content clues on what to do next in the game. With this being the first map and first few quests I did not want to make it hard on the player.

Help the old lady quest.png
After exploring the first map a little bit you come across the next NPC the first one told you to find. Which leads you into going into the second dungeon on this map. It is another small one where you just need to clear a single harder monster and get the item.

I’m also not stopping the player from must skipping over the first part and finding the next NPC and talking with them. You can’t always expect the player do things in the order you want. Not to mention it’s always quite annoying finding an NPC in the wild and finding out you have to go do something else first just to get a quest from them.

second finding quest script.png

Thankfully since this NPC is just dealing with a single quest I got to use the premade templet mostly as-is. I just had to change some text and variables.

Once everything is done you are told to head back to the first NPC you spoke with who tells you to go find a town. Both the main town and some other towns are a couple of maps away. Both will have a few quests in the future created for the player to do.

While there is the third dungeon on the first map and nothing is stopping the player from attempting it. There is no quest on the first map to run it. It will be a bit harder than the surrounding area.

Not everything will always be easy or possible to clear your first time exploring a map in the game I’m making. Sometimes exploring with no reason is rewarded and other times it’s punished. Something I rather enjoy in games so naturally, would be in one I’m working on.

After playing around with scripting I found a rather cool feature that I like that 001 Game Creator has for it. You can generate a URL link to the script you are working on. This makes it easy to share with others the script you are working on.

Now with this done I just have 9 other main maps and their dungeons to set up questing for. I don’t want all of them to just be collect quests either so I have some more researching and learning to do. At least for the collection quests, they should be easier to set up after doing it a couple of times now.

Final Thoughts

end of day.png
I have been using 001 Game Creator for almost a week now. I’m rather growing fond of it. It’s nice to just go out and work on what you wanted for the day in a game. Instead of having to go out and do 50 different things to then work on the one thing you wanted if you don’t spend the rest of the day bug fixing.

Other Content

Information

Screenshots were taken and content was written by our main developer. This post can be originally found on his blog here.

Leave a comment

Log in with itch.io to leave a comment.