Ouranos Quest Showcase (TR Crosspost)[Calvus Goat Trouble]

Interested in joining? Show off your skills here
Post Reply
OuranOS
PT Modder
Posts: 7
Joined: Sun Mar 24, 2024 7:24 pm

Ouranos Quest Showcase (TR Crosspost)[Calvus Goat Trouble]

Post by OuranOS »

https://www.tamriel-rebuilt.org/forum/o ... r-showcase
Posting my TR Interior Showcase to gain int dev status on the PTR forum and server.

User avatar
Taniquetil
Site Admin
Posts: 1840
Joined: Sun Jun 25, 2017 8:25 am

Post by Taniquetil »

Granted you forum and discord roles. Welcome!
A far green country, under a swift sunrise
she/her

OuranOS
PT Modder
Posts: 7
Joined: Sun Mar 24, 2024 7:24 pm

Post by OuranOS »

Posting my showcase for the development of viewtopic.php?t=2293
Attachments
PC_q2_SC_GoatTroubles.esp
(20.44 KiB) Downloaded 37 times

User avatar
Taniquetil
Site Admin
Posts: 1840
Joined: Sun Jun 25, 2017 8:25 am

Post by Taniquetil »

Thanks - you're all good!
A far green country, under a swift sunrise
she/her

User avatar
Revane
PT Modder
Posts: 74
Joined: Wed Apr 12, 2023 1:07 pm

Post by Revane »

First round of quest showcase feedback. Very good first showing, dialogue is written well and error-free, and most importantly scripting works, with the caveats outlined below. Most of these are very simple fixes.

1. The Gula Cave cell is dirtied, and from TESAME records I can't tell what you did to edit it. If this is intentional and required for the quest that's fine, but if not, you should clean everything that's unnecessarily dirtied.

2. Showcase guidelines require the addition of a latest rumour to show that you're able to thread your new dialogue lines into an existing topic, and can use generic filters correctly. I know that this is somewhat annoying here, because this quest doesn't naturally lend itself to having rumours about it, but please add at least one rumour line (can also be multiple, such as one that shows up before you've done the quest and one or more after you've done it, depending on the resolution) to Fort Heath that encourages the player to visit Calvus. It's the only place nearby that already has existing dialogue.

3. We order quest stages top to bottom from earliest to last. I.e. you start with the quest name, then stage 10, stage 20, and so on. You did it in reverse order. This doesn't matter mechanically for a journal, but it makes it more annoying for anyone who comes after you, because we're all used to the other order. Please change that.

4. We have a BEGIN CYRODIIL GREETING 1 placeholder. You should put your new line below that, not above it. That way you also don't need to worry about dirtying the Oath of Silence line. The same is true for Greeting 5.

5. Calvus has a Wander distance of 32. That's barely anything, and mostly just results in NPCs awkwardly spinning around and taking one half-step. He also has a hair colour that doesn't go with his beard colour, you just can't see it because he usually wears a cap. And he has almost no skill in either the type of armour (none) or weapon he's using. I know that you didn't create the NPC, but since you didn't have to edit NPCs at all for this showcase, this makes a good addition to it.

6. It's PTR standard to not use "I should" in journal entries. If you've written them (and the quest topic dialogue) correctly, the player should be able to infer what to do next without being explicitly told like that. If you've struck a deal with the goblins earlier and have done as they've asked, you don't need to tell the player that they "should" return to them.

7. Aliyew, like most drinks, should be in lower-case. It's not a proper noun, it's like saying "bring me a beer" in english.

8. If you're writing dialogue, it can be helpful to look at Edit->Find Text to see where else in TES3 something has (or hasn't) been used. Case in point, there's only one single mention of "piss" in vanilla, and it's in a book (and yes, also in three more TD books), so it's quite the departure from usual dialogue that your quest has the goblins telling the player to piss off three different times. Same as them using the terms "noggin" and "dimwit" and "something-something" and "tastes like shit". To be clear, pushing boundaries is not in itself bad, it'd be dreadful to only rehash vanilla dialogue again and again over nine provinces. But putting several of those on one character, and on a creature that usually doesn't speak on top of that, can feel very goofy and immersion-breaking. For a particularly negative example, see the dialogue with Radac Stungnthumz in the Tribunal DLC. What I'm saying is, tone the goblins down a little. They can still be comedic.

9. Avoid comma splices. I'm not as strict as some other reviewers with them, because I sometimes feel they do sound natural for what's meant to be spoken dialogue, but most of the time they mess up the flow of sentences as they continue on where there should be a new sentence, or a new clause of a sentence introduced by a conjunction ("and", "but", etc.). For example, you had the sentence "The dimwit over there made my friend all mad and got a thunk on the noggin, serves him right." Aside from the word choice issue mentioned above, the "serves him right" should be split off into its own sentence.

10. Calvus should not give you a journal entry just for talking to him. He should introduce the quest topic in his greeting, and then when the player clicks on it, they should be offered a Yes/No choice of whether they want to help him. And only if they pick yes should they ever get a journal entry. Don't force quests on players. So stage 10 isn't needed and should be combined with stage 20.

11. The goblins will talk about Kod and get all the dialogue to progress the quest as soon as you unlocked the "Kod" topic at Calvus. Note that this *does not* require the player to have actually asked Calvus about Kod, let alone gotten the next journal entry. The fact that this word showed up in the "missing buck" dialogue and that Calvus has an eligible line for it means the topic is now added to the player, and any other NPC who has dialogue in this topic will talk about it. In this case, this leads to you being able to negotiating with the goblins despite not even having been told by Calvus that he wants Kod back. In your current implementation this is admittedly less of a problem, because Calvus' Greeting forces the quest on the player anyway, but since you'll need to change that as outlined above, you also need to make sure here that the goblins will only get the Kod topic and progress the quest if the player has agreed to Calvus' request.

12. Asking the goblin about Kod shouldn't have a forced Goodbye. This would signal to a player that there's nothing more to talk here, but in reality re-entering conversation and asking the same thing again is what progresses the quest. That's very unintuitive.

13. You made it so that Calvus loses disposition every time you talk to him about either Kod or missing buck after you've told him he's dead. That's a bit harsh. He doesn't even think it's your fault.

14. When Kod is supposed to move into the cave, this is done via a CellChanged check on his local script. The problem here is that crossing an exterior cell border (far enough) also counts. This means that Kod and the goblins can pop out of existence when you move away from them while still looking at them. You also need a proximity check to make sure this doesn't trigger if you're too close (at least the max vanilla view distance). Now, unfortunately, this comes with another problem. If you head straight to the cave after you've finished the quest, the check can only fire after you've went away AND came back to his original cell (in the ext). So the first time you enter Kod won't be there, but then if you leave the cave, turn around immediately and enter it again, he will suddenly be there. Because the part of the script moving him actually only fired when you *exited* the cave, not when you *entered* it for the first time. This can be solved in two ways - either you have the move happening in a new global script that gets started as you turn in the quest, because a global script can keep running while you're in either cell, so the switch will be made immediately. Or you have a local script in Gula Cave that runs as soon as you enter and moves the outside Kod inside, or enables an inside duplicate of him and disables the one outside.

15. In addition to that, if Kod has died between turning in the quest and the teleport happening, his corpse will show up in the cave. Don't teleport dead people (or goats) around, add an additional death check. The same is true for disabling the goblins, this should only happen if they're still alive. I guess technically it also doesn't make sense for the alive Kod to move if both goblins are dead, but you don't have to take dumb player things like that into account. Just make sure to follow the standard of not teleporting or disabling dead people.

16. You don't need to change this, because I know not everyone sees it this way and there's vanilla precedent for it, but I personally don't like it when NPCs have a "did you do the thing yet?"-dialogue with choices when there isn't actually a choice, you can only say "no". In my opinion it's better if there is one line that plays if you've not fulfilled the condition yet (in this case don't have a bottle of aliyew), and then above that a line for if you *do* fulfill the condition, and that one has a yes/no option to hand over the item. It breaks up the flow of dialogue less, as the player isn't forced to manually pick a choice that doesn't need to be there.

17. The lines where Calvus acts like Kod is dead in both topics are filtered to >= 60. But the stage of having given the goblins aliyew and being allowed to take Kod is 70. That means that if you've negotiated to take Kod, or even have him following you already, but haven't triggered his arrival back at Calvus yet, the herder will act like the goat is dead. In the case of the missing buck topic, he will even do so if Kod is already back but you haven't gotten the reward yet. He needs new entries specifically for stage 70, preferably ones that remind the player that they need to use a command spell to get Kod moving.

18. Calvus doesn't care if you attack Kod after you brought him back. That's sad, the goblins cared =(.

19. The journal entry for if Kod died doesn't work, because it still refers to the old quest ID. So it's impossible to get stage 90, and if Kod dies the quest softlocks.

20. I know you've pointed this out on discord already, but yeah, it's a bit weird how the goblins attack Kod if you move him without permission. I don't have a clean solution for that either, though, so I guess we'll leave it like that.

21. "Al-e-you, I think? Maybe we'd" - this contains a double space between the sentences. This is the kind of thing the validator warns you about.

22. When the goblin gives you the bracer, it should be removed from its inventory. Otherwise if you kill it now, you'd get two.

OuranOS
PT Modder
Posts: 7
Joined: Sun Mar 24, 2024 7:24 pm

Post by OuranOS »

1. Must've not noticed when I was cleaning, one of the creatures gets teleported INTO Gula Cave after one of the quest end states so I must've dirtied it by checking it out.

2. I've added a rumor line to characters in Fort Heath specifically, it was kind of tough to make a natural sounding rumor but "herders are out in the wilds a lot, someone should check on that nearby one to see if he's okay" (paraphrasing) feels close enough?

3. Re-ordered the quest stages to be in order now.

4. Re-ordered both greetings in Greeting 1 and Greeting 5 to be underneath their generics.

5. Set Calvus Tolinius' skill in Unarmored and Blunt Weapon to 30, just so he can put up a fight and justify why he's out in the wilds alone. Increased his Wander distance to 500 so he can cover a slightly wider area. Changed his hair to one of the reddish-blonde ones, T_B_Imp_HairMalePC_13, since it matches close enough and the other reddish ones are more like ponytails which I don't think fits the dude.

6. I've removed the presuming/directing language in the journal entries.

7/8/9. Done another dialogue pass to normalize the dialogue and tone down the goblins a bit.

10. Quest now only begins if you specifically inquire about the missing buck, and then Kod.

11. Added a check for the goblin you negotiate with that makes sure you only can speak with him about Kod once the journal stage progresses to actually accepting the quest.

12. Got rid of some forced Goodbyes, to allow you to talk more fluidly to the goblin.

13. That was left over from a previous idea, got rid of that.

14/15. Via using a combination of a global script for the goat and said global script pinging some local variables on the goblin's script, the goblins and goat now disable and teleport correctly and seamlessly.

16. I understand how it can disrupt flow but I've decided to leave it be for now and change it later if any more people have a significant stylistic issue with it.

17. Added some extra dialogue and adjusted some conditions so that Calvus doesn't act like the goat is dead if it's right next to him, even.

18. Added something to Kod's script that makes Calvus start combat if the player hits Kod while nearby

19. Corrected the mismatched quest IDs in Kod's script.

20. I've decided to leave it as-is because I feel like digging into solutions would bloat this quest's scripting too much, considering Kod attacks back even if he wasn't hit before when hit with Command Creature.

21. That part was re-written entirely.

22. Added in the same dialogue he gives the player the bracer.

New file has been uploaded, cleaned with TESAME, checked with Validator, should be all good! Thank you and everyone else for your help!
Attachments
PC_q2_SC_GoatTroublesv2.esp
(23.75 KiB) Downloaded 29 times

User avatar
Revane
PT Modder
Posts: 74
Joined: Wed Apr 12, 2023 1:07 pm

Post by Revane »

Second round of feedback. A few of those things are stuff I only discovered on re-review. If it'd only be them I wouldn't have sent it back to you for fixing, but there's a few new/persisting issues as well, and some things I wanted to flag.

1. When you tell Calvus that Kod is dead, he should start his line with something like "Kod is dead?", just to make sure the player remembers the context of what they're telling him. There might be hours of playtime between those two quest stages, so if you have the player relaying specific information by clicking a topic, it can be good to make the NPC spell it out for them.

2. Calvus really needs some more explicit directions. The goblins are very far away from him. Unfortunately, Gulaida can't be marked on the map because it's not a named ext cell. But Fort Swordmoth can, so he should point that out to you and mark it on your map, and tell you that Gulaida is just east of that.

3. Also "Somewhere east along the Gold Road, near the Ayleid ruin of Gulaida, you can probably find him." is Yoda speak.

4. I should've been more precise the first time on this: it wasn't just an issue that the goblins were Goodbye-ing you when you first talk to them - it's also a problem that the choice text that progresses the quest only shows up if you hit the quest topic a second time. It should generally never be necessary to pick the same topic twice in a row (without doing anything else) to make something happen. It's unintuitive, because it makes players think that there's nothing more to do in the dialogue. So the choices should appear on the very first line in the Kod topic, and you could use the second line (the "Are you dull? I've already told you" on) to only play if you've backed out of the topic first and then brought it up again - this can easily be done with locals.

5. The Fort Heath latest rumours are screwed up at the moment, but that isn't your fault. They all dropped to the bottom of the topic, so you probably didn't realise that there were existing ones. In your particular setup with the >= 50 random filter, it would override one of the existing ones that is filtered to the same value. But as you've pointed out yourself, this rumour just doesn't feel very natural. So I'm going to acknowledge that you added correctly set PC_County and Nolore filters, set a randomness value, and put it in the correct place (it's just that the rest dropped to an incorrect place) - and that's what matters. So you've fulfilled the showcase requirements on this one, and I say remove it (just completely clean out the latest rumour topic when you're next cleaning the .esp)

6. I think it would be better if the %PCRace in Calvus' initial greeting was changed to a %PCClass - I personally think that it's really weird if an Imperial says "Hello, Imperial!" to you. But I know that this is a bit of pet peeve of mine, and that vanilla dialogue doesn't take that into account a lot of the time either. So it's hard to call it an outright error.

7. The line ordering was only wrong on the journal entries, but you started moving normal dialogue entries around as well. Those were correct the first time. Dialogue gets ordered Late lines->Early lines. Journal entries get ordered Early stages->Late stages. Since you've filtered them correctly and it only involves two quest topics that will never come up again, I'm not going to make you change it back, but please, keep this format in mind for the future. Otherwise your quests are a pain to later edit.

8. There's still several comma splices around, including two in your new greeting for Calvus. "I'm here just tending to my herd, have to watch them closely" - this should've been split into two sentences. The goblin dialogue also has several. Them having somewhat imprecise speech patterns kinda fits, but Calvus shouldn't do it too.

9. Similarly, it's fine if the goblins omit the leading pronoun or verb in sentences to make them sound more colloquial (e.g. "You bring that drink back yet?" instead of "Did you bring that drink back yet?"), but Calvus shouldn't start doing it as well. "Still beating myself up over that mistake." should be "I'm still beating myself up over that mistake."

10. You don't need to have "PC_q2_SC_GoatGob_01"->RemoveItem "T_Ayl_Saliache_BracerR_01" 1, just RemoveItem "T_Ayl_Saliache_BracerR_01" is enough. Dialogue results by default execute on the speaking NPC. Not an error, just something for the future.

11. The Greeting for the goblins being drunk after you've given him the aliyew is at stage >= 70. This means that if the player either kills Kod or returns him without their permission, but then manages to speak to the goblins again (such as after calming them), they will act like you've given them alcohol. The chances of a player doing this are relatively slim, but someone might try a pacifist approach here and do that. It should be relatively easy to fix via extra greeting lines.

12. "Hopefully coin and product can suffice for you." is a weirdly stilted sentence. I'd change it to something like "hopefully this gold and some of my products is enough to repay you".

OuranOS
PT Modder
Posts: 7
Joined: Sun Mar 24, 2024 7:24 pm

Post by OuranOS »

1/2/3/6/8/9/12. Generally cleaned up the directions to primarily reference Fort Swordmoth alongside Gulaida and cleaned up some of Calvus' sentences. Had Calvus talk to the player via his class. One of the goblins also adresses the player by race, GoatGob_02, but since he's not ever gonna be a goblin talking to a player with the same race it seems fine. Generally removed a lot of the comma splices and reworded sentences to make them more natural as a result. Changed up the dialogue when it comes to the "get a drink" route to be less pestering and the greeting at that journal stage just some mumbling about how the goblin even heard of the drink before.

4. Repurposed the initial line to also give the same choices as the subsequent one, which proceed the quest as normal.

5. Cleaned out the rumor, I did notice the topics all at the bottom but since they were already like that I wasn't very sure if I should be doing anything with them.

7. Whoops, yeah that was my mistake, I think I tried to correct it later but things got a little messy. I re-ordered the dialogue a little bit to be a bit more in line with expectations and I tested it out, nothing broke.

10. For some reason when I attempted that function without the NPC name in front, the game crashed every time, adding that in front fixed it. Might just be an issue for me only?

11. Added some simple lines set at >=90, so that they only trigger if the goat dies, or is returned, and is overwritten by the greetings set at =130.

These were easier to solve than I thought, hopefully any other issues that remain are only very minor. Thank you for your time, Revane!
Attachments
PC_q2_SC_GoatTroublesv3.esp
(25.81 KiB) Downloaded 17 times

User avatar
Revane
PT Modder
Posts: 74
Joined: Wed Apr 12, 2023 1:07 pm

Post by Revane »

Passed

Very good, that's all the problems taken care of.

I've found two small issues, but I'll fix those myself before setting it ready for merge.
  • "You gotthe drink"->"You got the drink"
  • "do me a favor?"->""do me a favor and keep an eye out for him?" (so it's clearer what the player is agreeing to)

Post Reply

Return to “Modder Showcase”