I'd Love to Write Quests ... But I'm Confused

For all talk about quest development - creation, testing, and quest system.
Post Reply
Turnus
Posts: 5
Joined: Thu Jul 07, 2022 9:28 am

I'd Love to Write Quests ... But I'm Confused

Post by Turnus »

First things first. I have already looked at:

Jay_H's „Quest Writing Tutorial“
Donald Tipton's „Template Scripting Language Documentation“
A few of the „Vanilla“ quests and some of the quests in the „Quest Packs“
Quite a few posts in this very forum.

And I'm very confused. Although I understand, in general, how a quest is built, there are a million things that remain a total mystery to me. It seems like there are constant updates to the syntax of the scripting language, but I was unable to find the most recent documentation for that. I'm pretty sure that everything that I need to know is posted somewhere, but the more I look for things, the more confused I get by what seems to be outdated information.

The best example for that would be this: I have no idea if I can start or how I would start a quest in a place other than the Fighter's Guild. Interacting with an object in the world, a custom made NPC or one of those letters you keep getting in your inventory.

Where should I start? Is there a place where I can bother people more knowledgeable than me with stupid questions? I'm thinking a Discord server or something like that!?

In few words, this is what I plan to do:

Take one of the Towns in game and make it as interesting as I can with some nicely written quests. Everything needs to happen in town, not in a random location 50 days away or anything like that. I'd like to involve the Guilds as little as possible. By that I mean that I'd rather have NPC's that are townsfolk giving me the quests, either through dialogue or through letters. It would be great if I could remove all the other quests in the game (I know there is a mod that removes the Main quest) so as not to distract the player from what I've planned for them.

Sorry if this is not the place where this should be posted and cheers for any help! :mrgreen:

User avatar
Jay_H
Posts: 4061
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: I'd Love to Write Quests ... But I'm Confused

Post by Jay_H »

This is the right place :)

Well, the first thing you need to do is make a functional quest. You said you looked at the quest writing tutorial, but doing everything in there is important to understand how it works. We learn by doing; once you've made a couple of quests, the rest is just expanding on that basic knowledge.

If you want to learn how to make ambient quests in an area, there are a few examples you can look at; my quest pack Random Little Quests creates small events in cities, while Warm Ashes and SIGIL create events throughout the world. You can learn from them and how they create events.

Sappho20
Posts: 67
Joined: Wed Jun 29, 2022 8:54 am

Re: I'd Love to Write Quests ... But I'm Confused

Post by Sappho20 »

Yes, I would agree with Jay_H. A few weeks ago I had no idea how to write a quest, I’m still not that good, it has just been a case of experimenting: write, test, fail, rince and repeat until I learn how it works. I look through other quests to see how other people do things or to find inspiration or just to see what is possible and what is not. Sometimes I just mess with a quest to see how my changes affect the quest (most of the time I break them).
Your idea sounds really good, I suppose you need to brainstorm ideas of what the quest themselves will be and try to make one of them as a learning experience. Most of the quests I have made I have re-written over and over again as I learn how to streamline them or do things in a more intelligent way.

imsobadatnicknames
Posts: 371
Joined: Sun Jun 02, 2019 4:28 pm
Location: Colombia

Re: I'd Love to Write Quests ... But I'm Confused

Post by imsobadatnicknames »

Thirding what the other said, the best thing you can do to learn how to write a quest is to look at toher quests that do the thing you're trying to do, but this board is always here in case you wanna ask anything.

I terms of more practical advice for what you're trying to do:
Turnus wrote: Fri Jul 08, 2022 10:24 pm The best example for that would be this: I have no idea if I can start or how I would start a quest in a place other than the Fighter's Guild. Interacting with an object in the world, a custom made NPC or one of those letters you keep getting in your inventory.
Quests can be automatically started at the start of the game by using "Initiatgamestart" in the questlist file.
Example from my "Banditry and Travelling Merchants" mod

Code: Select all

schema: *name, group, membership, minReq, flag, notes

BATM0, InitAtGameStart, M, 0, 0,
This will start that quest when the player starts a new game, but if you want to start it in a saver for a character that was created before the quest was written you'd have to open up the console and type "startquest BATM0" to start it.

Quests can also be started from other quests, so you could, for example, create a "backbone" that starts running at the start of the game, and it periodically starts other quests from your mod and then restarts itself. For example, for the idea you mentioned: you could create a quest that detects when the player character is in a city, and has a timer for x hours. Then, as long as x hours have passed, and the player is inside a city, it picks a random quest to start, then creates another instance of itself, and then ends. The other quests could start by giving you a letter or by putting an NPC in a building inside the city (such as a house or a tavern) and creating a rumor so that the character has a clue to find the NPC, or in many other different ways depending on what you define on the quest's startup.

Some mods such as Random Little Quests, Warm Ashes, SIGIL, or some of my mods such as Tavern Games and Populated Buildings do similar stuff.

For example, from my Banditry and Travelling Merchants Mod:

Code: Select all

Quest: BATM0
DisplayName: -

-- Message panels

QRC:
  

QBN:

Clock _encounter_ 0.00:00 7.00:00

--	Quest start-up:
    start timer _encounter_

_entersite_ task:
    when pc enters anywhere
    clear _exitsite_

_exitsite_ task:
    when pc exits anywhere
    clear _entersite_

_daytime_ task:
    daily from 06:00 to 18:00

_encounter_ task:

_start_ task:
    when _daytime_ and _encounter_ and not _entersite_
    start quest ENCOUNTER
    start quest BATM0
    end quest

    
This is a quest "backbone". It starts at the start of the game. It has a random timer (called "encounter") of 0 to 7 days, it also tracks when the player is inside a site, and when it's daytime. When the timer has reached zero, the player is in the wilderness, AND it's daytime, the quest will start a new quest, called ENCOUNTER, then start a new instance of tiself, and then end.

The ENCOUNTER quest simply picks randomly between a bunch of different encounter quests, starts one of them, and then ends:

Code: Select all

Quest: ENCOUNTER
DisplayName: -

-- Message panels

QRC:
  

QBN:
Clock _end_ 00:03

--	Quest start-up:
    start timer _end_
    pick one of _ad_ _m_ _tr_ _4_ _5_ _6_

_end_ task:
    end quest

_ad_ task:
    pick one of _1_ _1_ _1_ _1_ _1_ _1_ _2_ _3_ _3_ _3_ _3_

_m_ task:
    pick one of _7_ _7_ _8_

_tr_ task:
    pick one of _9_ _9_ _9_ _10_ _11_ _12_ _13_ 

_1_ task:
    start quest ADV1

_2_ task: 
    start quest ADV2

_3_ task:
    start quest ADV3

_4_ task:
    start quest ALCH

_5_ task:
    start quest CART

_6_ task:
    start quest HEAL

_7_ task:
    start quest MERCH

_8_ task:
    start quest MERCH2

_9_ task:
    start quest TRAV1

_10_ task:
    start quest TRAV2

_11_ task:
    start quest TRAV4

_12_ task:
    start quest TRAV5

_13_ task:
    start quest TRAV3
    
For the sake of streamlining these two could be simplified into a single quest, but I wanted BATM0 to solely handle the timing. Still, this is an example of how you can use the "start quest" quest command to chain quests together, in this case creating a backbone that runs in the background and starts one of different quests when certain conditions are fulfilled.
Turnus wrote: Fri Jul 08, 2022 10:24 pm Take one of the Towns in game and make it as interesting as I can with some nicely written quests. Everything needs to happen in town, not in a random location 50 days away or anything like that.
If you want everything to happen in the same town, you just have to use "local" when you define any place in the QBN section:
For example, if you say

Code: Select all

QBN:
Place _store1_ local generalstore
Place _store2_ remote generalstore 
store1 will be a general store in the same town the player is at, while store2 will be a general store in a randomly picked location in the current region.
Have in mind that sometimes using "local" can end up in quests failing to start if the current town doesn't have the type of building you defined. For example, if you write "place _library_ local library" but the player is current in a town that doesn't have a library, the quest won't start at all. But I think all hamlets and cities are guaranteed to at least have taverns and general stores.

Hope this response helped at least a little bit!
Released mods: https://www.nexusmods.com/users/5141135 ... files&BH=0
Daggerfall isn't the only ridiculously intrincate fantasy world simulator with the initials DF that I make mods for: http://www.bay12forums.com/smf/index.php?topic=177071.0

Post Reply