Questing

From Project Tamriel Wiki
Jump to navigation Jump to search

Reference and guide for making quests.

Workflow

General ideas for quests for a certain settlement, region, or faction are often brainstormed in Discord discussions. Sometimes, these ideas are posted on the TR implementation forum or in the asset browser, but more often directly on the TR claims browser or the respective quest claims forum on the PT site. Once implementation of these quests begins, quest developers are expected to write the dialogue and journal entries for those quests and to implement it in the Construction Set. In rare cases, the dialogue may already be written, in which case it is the quest developer's task to implement the lines in the Construction Set, while still being expected to make needed changes to the dialogue.

Files

When questing for Tamriel Rebuilt, you will need several files from the the Release Files tracker. Use the latest versions of:

  • TR_Mainland,
  • TR_Update,
  • a section file, if needed.

Also, make sure to get:

  • Tamriel_Data (TR website),
  • TD_addon (Github; click the green Code button, select Download Zip).
    • Note: Tamriel Data is currently testing whether they can merge new assets directly into an in-development Tamriel_Data.ESM. If that is (still) the case, you can just grab the latest Tamriel_Data from GitHub; no need to load TD_addon.ESP.

For Project Tamriel, the needed files can be found on the the [Project] Private > Internal Files sub-forum of the respective project. Grab the latest versions of:

  • the respective main release file (e.g., Sky_Main or PC_Main),
  • the update file (e.g., Sky_Update),
  • a section file, if needed.

Make sure to also get Tamriel_Data and TD_addon, as above.

Tutorials

Showcases

As with all prospective developers who intend to work in the Construction Set, quest developers need to pass a showcase prior to claiming quests in Tamriel Rebuilt and Project Tamriel. This is not a test; you don't need to get it right the first time. Instead, we will give you feedback and help you learn how to produce quests that fit into our project.

Before posting a quest showcase, please make sure you are familiar with the contents of this page, as well as the Writing and Dialogue Guidelines and NPC and Creature Guideline. All showcases must specifically adhere to the requirements listed below in this section.

In some cases, you may wish to implement an unclaimed quest as your showcase. You can find these quests on the Tamriel Rebuilt claims browser or the the unclaimed quests forum of a Project Tamriel sub-project. Note that you should pick a relatively simple, miscellaneous quest. If you wish to do so, please inform someone by posting on the forum or Discord chat.

Once you have made a showcase in the Construction Set, post the .ESP file on the Showcase Forum – either on the Tamriel Rebuilt or Project Tamriel website, depending on where you want to work primarily. Add a brief description of the quest as well. You should post exactly one showcase thread, even if you also want to make interior or exterior showcases.

If your showcase has not been officially reviewed or it seems to be taking a while, please bump the thread as a reminder. Sometimes we forget!

Requirements

  • Location: Anywhere in Vanilla, TR, or PT.
  • Conventions: Must use correct TR_Map ID for NPCs/Scripts/Journals (Vanilla is m0)
  • Journal: 6+ stages.
  • NPCs: Add 3+ NPCs or Creatures, 2 of which have speaking roles.
  • Topics: Add 1+ topic, and edit at least a greeting and latest rumors.
  • Scripts: Must use at least 2 of: [Positioning, timers, AI Packages, item handling, death].
  • Script Variables: Must use Tamriel_Data and give NPCs correct default scripts, or ensure TR NPC local variables are set.

We look to make sure that:

  • Dialogue in game is appropriate to the situation,
  • Journal progress is recorded, and the quest progresses when the right conditions are met,
  • The quest closes correctly when completed,
  • The plugin (.ESP file) is clean – see the respective section below.

Your scripts must:

  • Trigger correctly,
  • Work efficiently,
  • Terminate correctly,
  • Not affect framerate,
  • Be properly formatted.

Don't worry if you don't hit those targets on your first few tries. We will help you improve the showcase and gain the skills needed to make good quests.

Design

Morrowind is a game that revels in the mundane – its quests are quite often short and to-the-point, technically uncomplicated, and involve the small and mundane concerns of various middle managers. This is different from the more showy quests of TES IV or TES V, but it is this game's signature and perhaps even its strength (it certainly helps roleplaying). Accordingly, Tamriel Rebuilt and Project Tamriel should attempt to make most of their quests mundane in the same way that the vanilla game does.

However, it is undeniably interesting to have some outliers here and there – highly complex miscellaneous quests with branching choices, long and involved narrative-driven questlines, and so forth. Still, that shouldn't be the norm or the expectation – not only for adherence to vanilla standards, but also for practical reasons (e.g., overly complex questlines were initially planned out for TR's Dominions of Dust release, resulting in a years-long bottleneck in questing).

What to watch out for

  1. Although combat is the core gameplay in Morrowind, and should feature often in quests, it can be a little boring. Woosh woosh hit woosh woosh hit. Repeat until insane. Apart from the fight against Dagoth Ur and Lorkhan’s heart there aren’t any real boss fights in the vanilla game. Fighting Almalexia/Imperfect/Hircine was about as fun as fighting a cave rat with 2000 hitpoints. Ideally, there should be at least some other aspect to a kill quest – e.g., sending the player to a cool location, giving dialogue to the kill target to explain the conflict, etc (see below).
  2. Fetching things is also a core part of Morrowind questing, but on its own, it is not particularly fun. Being sent half the world away to find a missing item is tedious work. It doesn’t matter if the item’s a shipment of Sujamma or a lost artifact. Try to add something else to the mix in fetch quests.
  3. Escorting NPCs through the wilderness is fraught. It should be done occasionally, but care must be taken to avoid making the NPCs path too difficult. In the vanilla engine, the biggest challenge is oftentimes provided by the AI (or lack thereof) – make sure this isn't the case in your quest.

A few things that are fun when encountered in a quest

  1. Exploration. Discovering interesting/pretty places.
  2. Conspiring. Lying to NPCs and being lied to by NPCs.
  3. Solving puzzles.
  4. Getting meaningful rewards. Not just gold.
  5. Getting the impression that what you do has meaning. Have the NPCs react differently depending on different outcomes. After succeeding in a difficult quest you should be the talk of the town.
  6. Witnessing showy scripting. The world of Morrowind is very static, so whenever a quest offers something cool and new to see, it’s a reason to play the quest in itself. Think teleportation magic, NPCs engaging in combat with one another, water levels rising, walls moving, lights going out, spells exploding, sound effects, etc..
  7. Making choices. A pivotal moment where the player gets to make a choice in what direction the quest will go from there on out. Do I kill this person, or let them live? Do I address this important character politely, or insult them? Also, since there’s no proper “infamy" counter in Morrowind, failing quests/being an evil character should be recognized via dialogue responses.
    • Watch out, though – choices can make the implementation of a quest exponentially more difficult, especially if they occur in the middle of a questline. Often, given X amount of time, a developer can either make three simple quests, or one quest with two branching choices. It is not at all clear which of these options the average player would appreciate more.

Some fine examples of (complex) TR quests that are fun

  • Dead Marshes - Combat made fun with simple puzzle-solving. The lich Sabine is nigh-impossible to kill unless you kill her husband Reynard first and smash Sabine’s Locket.
  • Search for a Perfect Sword - Fetching things made fun with meaningful rewards. After finding and giving ‘the perfect sword’ to Anirwen he will become a follower for the player.
  • Coladia Nelus' Stalker - Escorting made fun with conspiring / puzzle-solving. The player escorts and betrays/traps the stalker to either in a Velothi tower or a ship. This quest also features some showy scripting.

That being said, most quests absolutely should not be as complex as the ones listed above!

Writing Style

It can be very jarring to see a quest with a significantly different writing style than the vanilla game. Make sure to adhere to the style guidelines given on the sub-page Writing and Dialogue Guidelines.

NPCs

Most quests will involve creating new NPCs. When doing so, make sure to adhere to the NPC guidelines.

It is often a good idea to involve some already existing NPCs (those added in an NPCing claim) in your quests. If you do so, make sure to ask on Discord or check on the claims browser whether that NPC is already involved in another quest. If so, you will have to figure out a good way to avoid conflicts, or pick another character instead.

(Ideally, for each release area, we'd have a spreadsheet listing the NPCs and their involvement in quests. This is not yet the case for most of our work, but may soon be.)

Topics

The dialogue system in TES III relies on topics, which are filtered to various locations, NPCs, journal stages, etc. Most quests come with one or, less often, several main topics which act as a focal point – the player knows that to progress in a quest, they need to speak on that topic with other NPCs.

Most important, when you’re implementing a quest and need to create a new topic, make sure that topic is unique! If your topic is something simple, there’s a chance that it will conflict with another plugin adding a topic that incorporates the same words. Should that happen, the topic text won’t be highlighted in dialogue. Using the exact same topic name as another plugin is not a source of conflicts in and of itself.*

* If two plugins edit the same dialogue line from the original game to add new dialogue under or above it, the ordering may end up reversed when both are loaded together. This is one of the reasons why adding dialogue above the top lines of the original game (or under the bottom lines) is discouraged. However, this won't happen if your plugins are clean and don't edit vanilla dialogue.

A prime example is the “help me” topic that two TR quests used in the past. This topic was also used within an LGNPC mod, which was not an issue, but yet another LGNPC mod added the topic "able to help". It so happened that in TR, the greeting meant to hyperlink "help me" included it in the sentence "perhaps you could be able to help me". Because of this, when both mods were loaded, the game engine looked for "able to help" instead of "help me" and the player was unable to click the topic. Therefore, it is VERY important to make sure that quest topics you create are unique. This is especially important when factoring in the other province mods and realizing that there are going to be a thousand or so new topics.

A more or less idiot proof way of making sure a topic is unique is to have it contain a proper noun: a quest location or an object or a NPC relevant to the quest. So, for example, instead of ”Will you help me settle my debt with Rethys?” one could use “Will you help me settle my debt with Rethys?”. This will make sure that your plugin does not generate conflicts elsewhere. If another plugin uses the topic "settle my debt", though, the same issue could still apply in yours.

In addition, topics unique to a quest should ideally be found as hyperlinks in the quest’s Journal entries, so that the player can easily check the dialogue relevant to that quest. So a Journal entry for a quest should read “Rathog gro-Mullug in Narsis docks asked me to help him settle his debt with Rethys Naaril, a Camonna Tong enforcer. I should look for Rethys Naaril in the Black Hearth Cornerclub.” instead of “Rathog gro-Mullug in Narsis docks owes some money to a Camonna Tong enforcer named Rethys Naaril and asked me to help him settle the debt. I should look for him in the Black Hearth Cornerclub. [no hyperlinks]”

Greetings

The greetings tab in the Dialogue window of the Construction Set allows you to modify and add the responses given by NPCs before any topics are clicked. These are very useful in quests, in order to direct the player to certain topics. However, they should not be overused – scripting, choices, and long exposition should generally be provided in regular topics.

When adding greetings in TR and PT, there are only a few 'Greetings' tabs you will commonly use, without a very clear reason as to your deviation (for an overview of all the Greetings tabs, see the Writing and Dialogue Guidelines).

Greeting 1: dialogue that is essential or prompted by a ForceGreeting should go here. ForceGreetings are 'once only' events, so if the intended greeting gets hijacked by a Diseased, Unclothed or Vampire greeting, it may well break your quest. Therefore ForceGreetings, or any others which should not be filtered out in favour of the above, should go high up in the Greetings chart.

Greeting 5: All quest related greetings that aren't ForceGreetings should be placed here.

Greeting 7: For use in NPC claims. Greetings for unique NPCs and and for NPC class-based chatter.

Greeting 9: Also for use in NPC claims. Greetings based on an NPC's location.

Scripting

Most quests will involve some amount of scripting, allowing you to make the Morrowind game world more dynamic. Thankfully, mwscript is very simple language that non-programmers can easily pick up. See the Scripting sub-page.

Cleaning Your Files

On how to clean files, see the TESAME tutorial.

Just like Interiors, you want to clean out anything you didn't change. Here are the most common ways a quest mod can be dirty.

NPCs

Adding dialogue to an existing NPC does not constitute changing the NPC. If you use a pre-existing NPC to create a new one or access the dialogue window, you may end up marking them as "changed" even if you didn't change anything.

Dialogue

If you add that dialogue to a pre-existing topic, such as greeting 5, it will mark the dialogue entries above and below the added ones as changed even if you haven't changed them. Clean them out.

A harder case: When you duplicate a dialogue line (by right-clicking on it in the dialogue window and selecting "Copy"), you get two dialogue lines saying the same thing. It is important to know that the upper of these lines is the new one you just created, while the lower one is the old line. So you should edit the upper line, and later clean out the lower line (unless you duplicated a line from your own mod, in which case it's all fine and you don't need to clean). If you do it the other way round, you end up overwriting someone else's dialogue! If you are proficient with command line tools, a way to *find* such problems is using tes3cmd:

tes3cmd common "Data Files\Morrowind.esm" "Data Files\[your showcase mod].esp"
tes3cmd common "Data Files\Bloodmoon.esm" "Data Files\[your showcase mod].esp"
tes3cmd common "Data Files\Tribunal.esm" "Data Files\[your showcase mod].esp"
tes3cmd common "Data Files\TR_Data.esm" "Data Files\[your showcase mod].esp"

and checking for all INFO: entries in the output. (DIAL: and LTEX: entries are OK and don't count as dirty.) Then tes3cmd delete can be used to get rid of them, but remember to put your dialogue lines back into your mod.

Cells

The Construction Set likes to create dirty cell references (refs) even when you do not change cells – this is normal, usually about three or four of them, seven or more when Tamriel Rebuilt files are loaded – and they must be cleaned. Sometimes the only cell-change you make is adding one quest NPC along the road. In such a case it can be difficult to tell which cell you changed, because exterior cells often don't have a name listed in TESAME. What you need to do is double-click on the cell reference in TESAME. The program will display details as to what was changed in that cell. If you don't see something you put in there, it's a dirty cell and should be cleaned out.