Not a veteran modder by a longshot, but an enthusiastic amateur with a brand new mod coming out of alpha after this weekend, most likely.
(Why does it always, always happen that once an active user with good English joins the community, they immediately start writing an NPC mod? Must be a curse of some kind... )
Possession of adequate writing skills and an idea is a good enough reason to write one?
How do you begin?
I go on vacation. On a good, lengthy vacation. And while there, I don't write or code a word.
Similar, but different. Instead of going on vacation, I got laid off, then started writing like a fiend. Tried to keep up the momentum once I started working again, but it's been tough.
Then I sat and wrote the B file(banter) in .d format from beginning to end without playing the game. I can't do it any other way - it is too distracting.
Same here, but I add more if they occur to me later.
Do you play the game and take notes as you go where the NPC would interject/banter?
No; instead, I spent a weekend checking every dialogue file in Infinity Explorer, and then deleting about one-third of what I've written.
More or less same here. I decompiled all the dialogue files, coded Gavin's interjections as I went, then went back and deleted about half of them, then played the game a bit and added some that seemed lacking.
Do you write the NPC's quest first?
Last! And nearly a year after it was released, no less!
Almost dead last. It took me that long to learn the necessary coding skills, and even then, I had to concede defeat and use somebody else's code for the combat, because I'm so lame.
Do you write PC/NPC dialogs as entire trees (with all the different 'flavours' of PC response and resulting branches) first, or do you craft a more linear tale assuming the PC is X (where X is a chaotic neutral irreverent, painfully good paladin) and add the variant responses/branches in on a second pass?
I rather try to write a plain "Yes/No" question at the end of each branch, so writing the replies is easier. It isn't always possible, though... but no, I've no idea who PC is, therefore all replies are fairly general, with an odd note now and then.
I go a different way than Kulyok, but that isn't too surprising. I decide the number of dialogues and their subjects in advance, and choose the pc voices. In Gavin's case, there's the "target audience" PC, the neutral PC, the callous or immature PC, and a wild card PC response that ranges from "snap out of it" to really ridiculous, depending on what the situation demands. Then, for each dialogue, I write Gavin's first line, and see where it goes. The dialogue branches only to a point. Most of the time, each dialogue has a point, whether it's "right and wrong" or "PC views on racial harmony" or "do we have a future?", so they don't really stray too far.
When do you write your banters? Your LTs (if applicable)?
Er... at work?
Lucky dog.
What major pitfalls have you experienced or observed in the process of others that you'd caution against?
I'm going to give you a straight answer here. The biggest hazard that I would caution against is overly ambitious plans, ones that are going to set you up for failure. The more ground you intend to break, the more you are going to have to dig. If you want an NPC that does things that existing NPCs don't do, you're going to have to figure out a lot on your own. That can be overwhelming. Too many good ideas die because they started too big. By far, the easiest way to learn to code a particular feature is find an NPC that already has that feature and figure out how they did it.
That isn't to say you shouldn't make big plans! Far from it. But have interrim goals. How do you eat an elephant? One bite at a time.
Or do you recommend writing the whole thing in WeiDU as you go?
Yes. Definitely.
Ditto. It will be slow going at first, but you'll learn faster that way. And you won't find so many omissions that way.
What do you recommend having laid out/pinned down before that?
A simple plan, like
- Banters with each Bioware NPC: 2
- Plot-related interjections: Tree of Life, Hell, Yoshimo, crazy Celvan, Waylane(Sphere for 500), Slayer.
- Extra interjections: ~200
- Friendship path: 20 dialogues
- Romance path: 25 dialogues
- Player-initiated Flirts for "early" romance
- Player-initiated Flirts for "late" romance
- NPC-initiated flirts
- Joining, leaving, initial dialogue files, area script
- Cre file
- Tp2 file(to install the mod)
- Audio files and audio installer
- 1(one) quest
- Testing
More or less the same thing. Gavin had 3 mini micro quests, but two of them were just getting pointed in the direction of existing BioWare ones. I am so lame.
For my Tutu NPC
- Joining, leaving, initial dialogue files, area script
- Banters with each Bioware NPC: 2-5 each
- Plot-related interjections: Gorion's letter, entrance to the Undercity, Durlyle
- Extra interjections: somewhere between 50 and OMG! (Might have been 100?)
- Friendship path: 15 dialogues
- Romance path: 30 dialogues
- NPC romance reactions (in my case, this involved cross-mod content)
- Player-initiated dialogue for friendship and very early romance
- Player-initiated dialogue for early romance
- Player-initiated dialogue for later uncommitted romance
- Player-initiated dialogue for committed romance
- Player-initiated dialogue for broken romance (and a chance to start over)
- NPC-initiated flirts (timer, situational, and bonus flirts for frequent-flirters)
- CRE file (repeat as necessary)
- tp2 file(to install the mod)
- Audio files and audio installer
- quest
- Testing
- Repeat as necessary
I wrote my documentation as I went.