Please note that this tutorial is incredibly long, so it has been split into three parts for better readability. This is part 1. Part 2 can be found here. Part 3 can be found here. I recommend that you create your quest as you read this, rather than reading it and then creating your quest.
We use the terms CK, response, topic, branch, view, info and mod. CK is the Creation Kit, the tool used to modify Skyrim, and a mod is a modification to the game. Information about responses, topics, branches, views, and infos can be be found by searching their name on creationkit.com.
If you find any phrases colored any of the following colors, refer to this key to understand their purpose.
Red text denotes phrases or words of great import. Read sentences in this color carefully, and more than once.
Orange t ext signifies a section of text that applies only to certain readers/modders. Skim over this to see if it applies to you, and if it does, read it. Otherwise, you can skip it.
Purple/pink text is a sidenote, or a useful bit of information. Skip them if you want, but you may find useful information if you read them properly, especially if you're an advanced modder.
Now that that is out of the way, let's begin.
1) First, open up the CK. Once it's finished loading (this may take a few seconds), click on the folder icon in the top left of the screen, located on the toolbar. A box will pop up, with a list of the mods you have installed. For this tutorial, we will only be using Skyrim itself. So double click Skyrim.esm and Update.esm, so a check appears in the box next to their names. If you already have a plugin to add this quest to, then set that as the Active File. Otherwise, just click OK. Give the CK a while to load, since it has to process every asset in the game.
2) Once it has loaded, save your plugin immediately. This can be done by clicking File>Save (top left corner), or by clicking the icon next to the folder, on the main toolbar. (I believe that is a floppy disc.)
Why do we do this? The CK is an extremely powerful, but extremely buggy, program. It is infamous for it's inclination to crash unexpectedly, and often. Learn to save often, and you're less likely to lose progress. In fact, this is a good habit to get into for modding Skyrim in general. Always backup, and always save.
If you go to File>Preferences and then the Misc tab, or click the icon next to the save button, and then to the Misc tab, you can enable autosaving, and the interval between saves. This is a useful feature, but no excuse not to perform manual saves as well.
3) Navigate to the Actors>Actor subcategory. Create a new NPC (right click in the list of NPC, and select New). Name your NPC, and make them Unique, then give them a face and clothes, and press OK. Place your NPC somewhere in the world (Double click an interior in the Cell View, and place your NPC). We will be using WhiterunBanneredMare for this example, or 'The Bannered Mare', in Whiterun. Our NPC will be named Sam, and he is an old Imperial man. Be sure to give him a normal voice type! Or, if you're going to have him be voice acted, create your own voicetype for him.
4) Now we get to make Quests! Go to the Characters>Quest category, and create a new quest. (Right click in the Object Window and select New.) Enter a unique ID for your quest (ours is TuSamQuest), and name it something fabulous (in our case, Sam's Quest). Choose Side Quests from the Type pulldown menu, and give the quest a priority of 50. Let's go through what we just did.
Quest ID: The QuestID is how the CK refers to your quest. It's not the name that shows up in game, however. It is important that it is unique. If it conflicts with another quest, it will cause incompatibilities. Be sure to follow the proper naming conventions. Changing this once you've begun to add to your quest is very hard, so make sure it's something you like and can remember.
Quest Name: This is what appears in-game, when the quest starts, or the stage changes. It also shows up in your journal. Don't worry - you can change this whenever you want.
Type: The type simply tells the game that this is a Side Quest, not a miscellaneous or main quest. It governs where it is in your journal (miscellaneous is a collection of small quests, with no names), and how large the name is (Main quests have large text, side quests have medium text). Change this to whatever suits you, but I recommend Side Quests.
Priority: Despite the name, priority isn't all that important. It just governs how high your quest is in the journal. Higher is higher, if that makes any sense. 50 or 60 is good for medium main quests, 100 if you think your quest would be incredibly important to the player, but not Main Quest level important.
If you want, you can place your quest in a subcategory in the Object Window Filter. More on this can be found at my "naming conventions" post.
5) Close the quest window by clicking OK. It's time to start creating items. Close the Character section, and open up Items>Book. A good tutorial on book making can be found here. If you are familiar with the CK's book system, make a list with three item names (in handwritten font) and skip to the next step. Otherwise, right click and select new in the list of books. Type in a suitable ID for your book (TQSamList for us), and give it a name. Ours is Sam's List. Now, we're going to choose what it looks like. Change the texture to HighPolyNote and the mesh to Meshes>Clutter>Books>note01 and then choose a .nif file (not a bloody one). Now we type in the text:
<font face='$HandwrittenFont'>
1. Get 1 mudcrab chitin.
2. Get 1 piece of firewood.
3. Get 1 blue mountain flower
And press OK to exit the menu. You don't have to use those item names. You can do whatever you want - you can even add custom items to find.
6) Now we're going to begin the dialogue. Open up your quest. Head over to the Dialogue Views, and right click in the Dialog Views section. Create a new view. A prompt will appear, with your quest's name already put in. I recommend leaving that there, and adding on to it. Give it a simple, but fairly descriptive, name. For example, ours is TQSamQuestSamView. I named it this because: I wanted to keep the prefix, and SamView is fairly simple. It means that this dialogue view is where I'll put all of Sam's dialogue.
7) Right click in the massive, empty white space next to the dialog view section, and click "Create new Branch". You should probably name it something like: PrefixViewNameSimpleName. Ours is TQSamQuestSamViewMeetSam. This signifies that this is a branch governing the dialogue when you meet Sam. It should prompt you to create a new topic. You can change the name, if you want, but I recommend keeping it the same as they suggest. (For more info on views, branches, topics, responses and infos, you should look them up at creationkit.com)
8) Now go over to the Player Dialogue. I only use the Dialogue Views to create new views, since I've had issues with it (links going around the entire branch, branches hiding behind one and other, etc.) You should see your branch and topic, in their separate tables. Click on your topic, and give it a topic text. Keep it short and simple, since the CK can only accept 80 characters for the topic text (unless you use a .ini tweak). We'll use: "Hello. Do you need anything?" Anything similar will work, too. It all depends on how you want it to look.
If your topic text is grayed out, then try going back to the Dialogue Views and double clicking on your topic there, and pressing OK in the window that pops up. Then, you can return to the Player Dialogue to continue editing. Reloading the CK is another solution, or verifying the game cache through Steam. If that doesn't work, reinstall it.
9) Right click in the field next to the topics section, and select New. A response window should appear. This is where we type how the NPC responding will reply (Sam, in this case.) I'll put in this:
Yes, actually. I need mudcrab chitin, a piece of firewood, and a blue mountain flower. Blue, I say! What a wonderful color, really...
When writing dialogue, there's a few things you need to do to make it good. I've presented Sam as a bit of an eccentric guy, maybe a little crazy. You can do what you want. But creating interesting dialogue is key to making good quests - you want to draw the player into the story.
A spellchecker should pop up. It should complain about the spelling of mudcrab. Just ignore that.
10) Press OK. A larger window should pop up. It should look something like this:
Welcome to the Topic Info window. It looks confusing, but it's not once you get the hang of it. I'm going to go over the most important stuff now. (If you're confused by me talking about infos and responses and topics, look at this CK Wiki article.)
Topic Text: This is what the player says in-game to initiate conversation with the speaker of this dialogue. We defined it when we created a topic earlier, which means that every info (every possible line that can be spoken) for that topic will have this topic text. Unless...
Prompt: The prompt allows you to override the topic text for each info. So depending on which info is valid (based on conditions and such), the topic text will be spoken by the player, unless there is a prompt for that info, in which case the prompt will be spoken. If you think about it, this can be quite useful. For example, if we have a condition (we'll talk about those in a bit) that checks if the player is a Khajiit or not, we could have the topic text be "Hello, how are you?". However, we could then have two infos, one for if the player is a Khajiit and another if they aren't. The "non-Khajiit" info could have the topic text stay default, while the Khajiit one could have a prompt saying, "Hello. This one is glad to see you."
Responses: Here, you define what the person the player is talking to will respond with. If you create more than one response, they're stringed together. This way, you can make the speaker keep talking, so once they finish the first response, they'll go on to the next "line" (response).
Has LIP File: Do these lines have a .lip file to go with them? Usually, you should leave this checked if the speaker is an Actor, but not if they're a Talking Activator (like a log that talks or something).
Say Once: If checked, then an actor can only say this info once. After that, they can never say it again. If another actor is allowed to say it, though, then that (other) actor can say it once, and then never again. And so on.
Force Subtitle: If subtitles are on in the user's game, then this will force the subtitles to play for this info, no matter how far away the speaker is.
Goodbye: If checked, the conversation will end when the speaker finishes saying this info.
Random: If you have more than one "Random" info, in a stack in the topic window, then the game will randomly choose from that stack (if they all fit the conditions).
Random End: Tells the game that a Random Stack of infos is over. A Random End info should be paired with a checked Random info if you want the Random End info to also be part of the Random Stack. This technically isn't needed if the next info in the topic window isn't random, but if it is it's necessary. Besides, it's just good practice.
Conditions: If these conditions all evaluate to true, then the info is "valid" and can be said. Otherwise, it cannot be said. More about conditions.
Scripts: Here, you can put in some scripting. Papyrus Fragments (what these are called - each little box) act a bit differently than scripts, but it talks more about that in the Papyrus Introduction. If you put the script in the Begin box, then that script will be initiated when the speaker begins to talk. The End box initiates when the speaker finishes speaking all the responses in this info.
Link To: This allows you to branch out the conversation. By linking to a topic, you make that topic text seeable as a "choice" that the player can select in-game. When the speaker of this info finishes, it shows all the topic texts of the topics it has been linked to (unless it's a goodbye). When a topic text is selected, then that topic is spoken. A topic text is only shown if it has been linked and its conditions have been met.
Invisible Continue: This automatically starts a new topic. It doesn't give the player a choice, simply going to the next topic. When this is checked, you can only have one link. If you're wondering how this might be useful, here's an example:
I want my speaker (we'll call him Rufus) to say one topic, and then say something else based on a condition. However, I want the first topic to be based on a condition too. So I create a few infos for each topic, each with different conditions. Then, I use an invisible continue to link from Topic1 to Topic2. That way, there are dozens of possible combinations of what Rufus could say, since rather than having one topic with lots of infos (which means I only have as many combinations as I have infos), I can have many more possibilities in the conversation with two topics with lots of infos and conditions.
That's all I'm going to cover for now. I might create a whole article on this and just link to it, since this turned out to be quite a long tangent. For now though, this should provide an alternate explanation of the Topic Info window (different from the one on the CK Wiki).