Jump to content


Photo

Rhonwyn NPC


  • Please log in to reply
33 replies to this topic

#1 witya

witya
  • Member
  • 106 posts

Posted 01 November 2008 - 10:43 AM

Greetings everyone!

Recently I finished playing BG2-SoA for the 6-7th time now, after cleaning off the dust (haven't played it for many years), but this time I wanted to see if there is some additional stuff around the internet, so I found many forums and a large community of modders... I'm a kind of person who opens up the editor of any computer game right after the first game (Starcraft, HoMM series, NWN, etc), but BG2 doesn't have an editor of that kind and the possibility of making a mod for it eluded me for years... but not this time. ^^ If that's a good thing for you, or you will just get some poor stuff that you have seen a thousand times already... we'll have to see. ^^

And that's it for introduction. ^^ Here comes the mod:

It's adding a new npc to the game, Rhonwyn Seidon. The "technical" part:

Race: Human
Class: Skald
Alignment: Neutral good
Stats:
9 Strength
16 Dexterity
11 Constitution
18 Intelligence
12 Wisdom
17 Charisma

According to my plans the mod will contain (or already contains):
-2 quests + 1 romance related quest
-2-3 banters with most of the Bioware npcs
-many interjections throughout the game
-a romance with a non-evil, human/half-elven/elven male with 12+ charisma
-some new items
-soundset
-themesong(s)

Now for her personality:
Rhonwyn Seidon is a bardess from a cold place called Shandel`lurah, nested in the icy mountains, though where that land may lie, no one knows (the PC can find out during the game)
Judging by her expressions and her sleepy eyes, it seems that she is living in her own world of fantasy, always dreaming while awake. When someone tries to have a conversation with her, it will become quite clear, that her dreams totally consumed her. Or perhaps... it is something else?
In any case, she seems irrecoverable from this absence of mind as she often forgets the very topic of a conversation while speaking. Also, Rhonwyn claims to know much about the world, but as she says, the pieces of this knowledge is often "hiding somewhere in the back of her mind". Despite her flawed memory, she remembers names pretty well, though when it comes to associating these names with events, she fails very often.
Only a step divides the genius from madness, they say. Rhonwyn can be considered a musical genius, and this shows when it comes to playing her instrument, the violin as well. She usually leaves her audience in awe as sweet, slow melodies turn into cacophonic soul-slaughter, just to calm down again, chasing away the musical clouds from above.
Rhonwyn, despite her derangment, has a calm and kind personality, taking delight in the beauties of the world and learning about anything new that crosses her path. She values anything aesthetic and likes philosophical conversations. For Rhonwyn, freedom means a chance to understand the world better, and a chance to enjoy life, therefore slavery is something that she will never approve of.
She is not likely to get insulted. Often it seems she dodges because of naivity and/or misunderstanding, though those who listen and watch carefully can realize her graceful ignorance. Dreams may cloud her mind and her memory may be fuzzy, but it doesn't mean she's a fool.

My progress so far:
Well, the banters with the original npcs are half-finished yet, I made interjections at critical points of the story (like meeting Aran Linvail, PC changing into the Slayer, Tree of Life, etc) Her first quest is finished and workes well (though not that complicated). I feel that I'm making good progress, though getting used to the coding and stuff takes most of my time at this point.

I need some advice:
First, I'm looking for a good portrait. I've attached the portrait I use for her for now. It's pretty pretty, but has a small flaw: it's a chello in her hands, not a violin.

Second, some advice on banters with Valygar and Mazzy. This may sound strange, but they were never in my party, as I didn't find them useful, so I don't have much of an idea about their personality.

Third, I'm looking for a voice actress, since I'm a male. The voice should be a calm and pleasant female one.

Fourth... well, this may sound extreme, but I'm looking for a violin player for the themesong. ^^ I can compose it too on guitar, but violin suits the character better.

And fifth: anything you would find useful to say to a newbie modder, or ideas or tips, about anything, really. ^^

Constructive criticism is welcome. Thank you for reading. ^^

witya

Attached Files


"I love myself and I have no reason to doubt my feelings..."

#2 Choo Choo

Choo Choo

    AIR CONDITIONER GRILL

  • Modder
  • 3001 posts

Posted 01 November 2008 - 10:58 AM

Hello there, witya, and a warm welcome to Spellhold Studios! ^_^

I really like this idea you've got, here. Slightly deranged bard is bound to get my attention, I'm fond of those!

Now, some criticism (which I hope is constructive): From the way you describe her, it seems very difficult to have some sort of sensical conversation with her at all. Not only will this make it very difficult to speak to her for the PC as well as other NPC's, but I'd also say it detracts another point from her charisma. She might be the most compelling and personal character in the Realms, but if people don't understand her, I'd say at least -1 charisma is in order... and -2 in wisdom, if she's a bit.. lost. 9 is basically human average, 12 is above average.

I'd also lower intelligence by one. Not more than one, but 18 makes her an almost unparallelled genius, more intelligent than like 99% of her entire race. But overall, her stats are balanced, and she's physically weak to (mostly) make up for her high mental attributes.

I'm not particularly good at pointing out what's good, so I'll simply say that what I didn't complain about, I like. :)

I'd offer to voice act for you, but my voice is anything but calm, so can't help you there.

Good luck, and I'll be following Rhonwyn's progress as good as I am able.

theacefes: You have to be realistic as well, you can't just be Swedish!


#3 berelinde

berelinde

    Troublemaker

  • Modder
  • 4916 posts

Posted 01 November 2008 - 12:06 PM

Love the idea!

You might want to tweak the stats a bit, but stats are the least important consideration of an NPC, and hers are pretty balanced, really. Unless they're all under 10 or over 14, it really doesn't much matter, from a gameplay perspective.

Things I like:
  • Human NPC! I love human NPCs. It seems like just about every NPC mod out there is for some kind of elf or elven half-breed, so it's good to see one that isn't.
  • It looks like you're writing about her personality more than her toys. Cool. I like NPCs that sell themselves on personality, rather than on gimmicks. I don't want a new kit/new race/an inventory full of items that the PC can't use. I just want an NPC that's fun to have in the party.
  • She's good aligned and a romance option, and she prefers non-evil PCs. My male paladin PCs will appreciate that. If she isn't too uptight about sex (like Aerie), so much the better.
  • Derranged can be fun.
There isn't an awful lot I don't like. It's easy to generate some enthusiasm for this project. I really, really hope you get the help you need to make it happen. There are a lot of tutorials out there. I wish I had the time to help you personally with this project, but I don't. But ask, and your questions will be answered.

I will tell you how I did it, and maybe that will help you. I read the tutorials, but I didn't understand them. I just copied the code of other mods. I'd just copy and paste, and swap out the variables and TRA refs. Eventually, and it took several months, it started making sense to me, and I went back and redid things to suit. I coded as I wrote, so I didn't find myself with a complete NPC mod and no code. That's important. It's too easy to give up, if you're looking at coding a couple megabytes of dialogue. I'd pick a nice, simple mod to use as an example of code, preferably a newer one. Coding a romance is no different than coding any other kind of timered talks. Have a look at Haldamir, if you want. The link is in my sig.

There are probably a couple (hundred thousand) violinists out there who are better than I am, but if you want, I can take a crack at recording something for you to use until you find a better one. I'd offer help with voicing, but I'm already way overcommitted. It isn't generally too tough to find a female voice actor, though.

PS: I'm going to forward a link to modding partner, cmorgan, as I'm sure the prospect of an interesting, good-aligned romanceable female bard is something he'd get excited about, too.

Edited by berelinde, 01 November 2008 - 12:09 PM.

"Imagination is given to man to console him for what he is not; a sense of humor, for what he is." - Oscar Wilde

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum


#4 cmorgan

cmorgan
  • Modder
  • 2301 posts

Posted 01 November 2008 - 12:58 PM

I think "excited" is just the right word :)

#5 witya

witya
  • Member
  • 106 posts

Posted 01 November 2008 - 01:01 PM

Thank you, choo Choo. ^^

Yes, it is constructive. Now, that I think of it, the -1 or -2 cha is logical. Perhaps -2 to her current stat, since the average person distrusts someone who's deranged also.

But it seems I didn't describe her mental condition well. I need a better explanation. She's deranged, yes, but not to the point where you don't understand her. She's not deranged in a way that her speech is not making sense. Her brain is full of information, she's like a walking encyclopedia that contains everything she finds interesting. It works this way: you got a topic and you need to find the page that contains the appropiate knowledge. So you turn the pages to find it, but while you're at it, you catch the glimpses of other pages and they catch your interest. You could not resist and must read it. Now, sometimes the thing you're looking for is just a few pages away, so the probability of stumbling upon something interesting that you don't need at the moment is smaller. But if it's on page 1251 and you opened the encyclopedia at page 14... well, that's gonna be a looong ride. xD Add the fact that this encyclopedia is chaotic and the pages constantly switch.

So basically, everything she says makes sense, though (this may sound stupid) not that kind of sense you're actually looking for. But if you help her just a bit to fight her derangment, you'll find that conversations with her can run rather smoothly. Of course, her nature sometimes previal. ^^ It's kind of hard to explain this at the moment, but perhaps in time her personality will shape more and more.

Now it depends on the PC's and the different kind of NPCs' personality if they help her with this or let her talk and talk and talk for a long time(because she likes to talk xD)... or they are going to be mean with her. A romance will develop, if the PC is someone who helps her out to make conversations.

She is going to have some trouble with Korgan for example, but on the other hand, she'll get along with Jan very well (I plan several conversations for their friendship). Other then these special cases, she will not have much trouble with anyone else and for adaptive characters, like Yoshimo, it will be quite easy to understand her.

Her intelligence score... well, I think it will stay at 18 for the moment, and probably I'll decide after I finish the whole thing, since she's actually meant to be a genius. I'll re-read everything I've written once I'm done with it and I'll decide if she really deserves it. If not, it will go down to 16. ^^

The wisdom score... well, if I consider Aerie having a high wisdom score (of course she needs it, technically), and the fact, that Rhonwyn is not naive, but has experience of the world, the score of 12 is good for her.


Thank you too berelinde. ^^

Well, I just love human characters. ^^ I think I could write pages about why, simply they are just too versatile compared to other races. And since I'm a musician too, bards are very close to me. ^^

She will have a rather basic equipment, yes, and one personal item, an amulet.

About the romance... Rhonwyn is an open personality so you can expect more tolerance for the mistakes a PC can make in the conversations. Of course really serious insults will terminate the romance, but I'll take a different approach. It was done already, in NWN-HotU where the PC got +/- points for his/her certain answers and I'm going to adopt this method. A real human being can swallow a few mistake and forgive, but if someone is constantly making those mistakes or doesn't show interest in the character, then the romance dies.

Well, I have an advantage over others with the coding, since I'm a programmer myself. I still need to get used to the syntax, but fortunetely have a good idea about what I want to do with certain parts of the code. Kae'loree's romance coding tutorial was really helpful and now the coding part of the romance works. ^^ But I'm looking into any kind of npc's code I get my hands on. Thank you for recommending. ^^

And I'd like to hear your violin play, yes, please. ^^

I'm glad to see the interest in the idea. Thanks. ^^
"I love myself and I have no reason to doubt my feelings..."

#6 Choo Choo

Choo Choo

    AIR CONDITIONER GRILL

  • Modder
  • 3001 posts

Posted 01 November 2008 - 01:45 PM

Like Berelinde said, don't worry about the stats. And if you want any help from me, just ask. :)

theacefes: You have to be realistic as well, you can't just be Swedish!


#7 witya

witya
  • Member
  • 106 posts

Posted 01 November 2008 - 03:19 PM

Alright, thanks. ^^ For now I only have conversations to write. Later however I'll need something with AI programming. I've added a mage npc as an enemy and he refuses to use any spell by default it seems.
"I love myself and I have no reason to doubt my feelings..."

#8 Deva

Deva

    Possum of the Grotto

  • Modder
  • 1378 posts

Posted 01 November 2008 - 03:22 PM

Yay for bards. She sounds fun! I like basically the same stuff as everyone else here. The only thing - I second Choo Choo's concerns about making her a character you could have meaningful interaction with - particularly a plausible romance interest. I understand what you're trying to do with the character, but think it could be difficult to write her with the level emotional maturity where she'd be interested in a romance. It could be done, though ;D

Oh! The other thing - having her coming from a northern land makes sense, her being a Skuld, but might give you a lot of explaining to do in terms of why she's in Athkatla. Also, I'd give her a homeland in the Forgotten Realms canon. Damara, Silverymoon or somewhere. It makes an NPC blend in the game better.

Erm.. my advice, from writing my own NPC romance...

1. Interesting LTs! Bioware LT's are boring. Mod LT's don't have to be. She sounds like she'd be a character ideal for some proper mad, fascinating , off the wall conversations.

2. The character will change as you write her. Go with it.

Ninde_ad.gif

143450.png176206.png

Click to feed.

Adopted from Valenth

My adoptables > Your adoptables.
 


#9 cmorgan

cmorgan
  • Modder
  • 2301 posts

Posted 01 November 2008 - 03:23 PM

I'm open-coding a male NPC on G3, going through a bunch of things, so I hope that helps out. Look for Aran Whitehand in Unfinished Projects. But I would start with K'aeloree's stuff as he has a knack for step by step without being patronizing or suddenly jumping ahead - seriously good stuff. For examples, there are dozens - the released ones I would look at most recently for simple and efficient working code are Ilyos here at SHS, Sarah at G3, and DeArnise at PPG (but that is a romance mod of an existing NPC, not a fully new NPC). Sarah has an advantage, in that Theaceface has not set the mod up for translations yet, so you can see how dialog flows when building the talks.

NPC mods that will require more knowledge before attempting to crib/decipher/reverse engineer would be Feuille and Miss Sakaki's Luxley Family, because they have the complication of adding in multiple NPCS - the code is great but you might get bogged down in the specialty work, and the same for Domi's Kivan at G3 (adds in another NPC and upgradeable items so I would save exploring her code until after you get a good solid foundation ) . Ones I would avoid until you know what you are doing in i.e. modding (not because of the mod itself, but for technical reasons - older mods that will get tougher to follow or will sidetrack you) are Valen and Solaufein at WeiDU.org, and Saerileth at CoM.

And lastly, the IESDP is your friend - tons of work from the community; a must-read. As is the bigg's new Tiamon-ized Readme for WeiDU.

I am looking forward seeing you advancing on your project!

Edited by cmorgan, 01 November 2008 - 03:26 PM.


#10 vilkacis

vilkacis

    Rashemen REPRESENT! Word to yo hamsta!

  • Modder
  • 1571 posts

Posted 01 November 2008 - 03:28 PM

I've added a mage npc as an enemy and he refuses to use any spell by default it seems.

You need to assign a magic-using script (unless you're writing your own). The game comes with a multitude of those - MAGE1, MAGE2, etc, all the way up to MAGE20, which contain appropriate spells for a mage around that level. You also need to make sure he actually has the relevant spells in memory. (There are ways to make a character use spells he doesn't know, but it's best not to if you can avoid it.)

The easiest way is to just take a mage-type creature from the game and modify it, it's much more work to create a new .cre from scratch.

#11 witya

witya
  • Member
  • 106 posts

Posted 01 November 2008 - 04:39 PM

Deva,

Yes, bards are always fun.xD

Well, this derangment doesn't cause the character to be emotionally immature at any rate. I guess it will become more clear as I write her conversations, how exactly this derangment will affect the romance, or how severe it will be.

As her story unfolds the player will get a picture of how she got there and more importantly, from where exactly. For now "from some northern land" will have to suffice. ^^ I'll do a research of FR soon.


cmorgan,

I've looked into the code of Auren Aseph, and Amber so far. Auren was quite easy to understand too, I think the author is the same. I found Amber a bit too complex for now. I'll look into these mods you mentioned and thanks for the links. ^^


vilkacis,

Hm... maybe I screwed up something then, because that's exactly what I did. I copied Mekrath. There is a Class Script assigned to him, MAGE16M. Do I have to put this script elsewhere too? Or perhaps I've just cleared all his memorized spells somehow. I'll check it.
"I love myself and I have no reason to doubt my feelings..."

#12 vilkacis

vilkacis

    Rashemen REPRESENT! Word to yo hamsta!

  • Modder
  • 1571 posts

Posted 02 November 2008 - 06:15 AM

If that's not the problem, the only thing I can think of is that there may be another script associated with that creature that's interfering with his casting.

Feel free to post the .cre if it problems persist.

#13 witya

witya
  • Member
  • 106 posts

Posted 02 November 2008 - 08:22 AM

Well, I use a script for him and I issue a command: Attack(LastSeenBy()) Maybe this has something to do with the problem? Anyway, here's the cre and his script.

Attached Files


Edited by witya, 02 November 2008 - 08:23 AM.

"I love myself and I have no reason to doubt my feelings..."

#14 vilkacis

vilkacis

    Rashemen REPRESENT! Word to yo hamsta!

  • Modder
  • 1571 posts

Posted 02 November 2008 - 10:06 AM

Scripting isn't my thing, but from my limited experience, I believe "attack" is only interpreted as "attack physically". Look at Mekrath's original override script:

IF
Global("MekrathAttacks","LOCALS",1)
!Allegiance(Myself,ENEMY)
THEN
RESPONSE #100
Enemy()
END


Compare this to your

IF
Global("W1ZyarmanAttack", "GLOBAL", 1)
THEN
RESPONSE #100
Enemy()
Attack(LastSeenBy())
END


This block will keep activating because you don't have anything to stop it - such as setting "W1ZyarmanAttack" to not be 1, or prevent it from running if he's already hostile - so he'll just keep repeating the "turn hostile, hit the last guy who saw me, repeat" cycle. Try using this instead:

IF
Global("W1ZyarmanAttack", "GLOBAL", 1)
!Allegiance(Myself,ENEMY)
THEN
RESPONSE #100
Enemy()
END


...and the class script should hopefully take over at that point.

Edited by vilkacis, 02 November 2008 - 10:14 AM.


#15 berelinde

berelinde

    Troublemaker

  • Modder
  • 4916 posts

Posted 02 November 2008 - 10:17 AM

Do yourself a favor and close that variable. So what if the original game didn't. You don't have to be a sloppy coder just because they were.

Scripts run top to bottom and restart when they hit a script block whose conditions are true. If you never close the variable, the conditions will always be true, and you'll get stutter.

Just add add a line above Enemy()

SetGlobal("MyVariableGoesHere","LOCALS",2)

and you'll be good to go.

Get in the habit of looking for variable closing every time you use a global or local variable in a script block.

Edit: can't spell

Edited by berelinde, 02 November 2008 - 10:19 AM.

"Imagination is given to man to console him for what he is not; a sense of humor, for what he is." - Oscar Wilde

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum


#16 witya

witya
  • Member
  • 106 posts

Posted 02 November 2008 - 11:48 AM

Okay, thanks both of you. ^^ I'll try it this way.
"I love myself and I have no reason to doubt my feelings..."

#17 GeN1e

GeN1e

    A very GAR character

  • Modder
  • 1604 posts

Posted 02 November 2008 - 02:14 PM

For your own comfort it's usually better to have the combat script be completely separated from the rest. Unless you can keep a track easily enough

General script
IF
  !Allegiance(Myself,ENEMY)
  Global("W1TurnedHostile","locals",1) // time to go hostile
THEN
  RESPONSE #100
	ChangeEnemyAlly(Myself,ENEMY) // same as Enemy()
	Continue() // may or may not be needed
END

IF
  Allegiance(Myself,ENEMY)
  !Global("W1TurnedHostile","locals",1) // if an enemy by mistake
THEN
  RESPONSE #100
	ChangeEnemyAlly(Myself,NEUTRAL)
	Continue() // may or may not be needed
END

And the separate combat script
IF
	 See(NearestEnemyOf())
THEN
	 RESPONSE #100
		   AttackReevaluate(LastSeenBy(),6)
END

And yes, as Berelinde has said, always make sure that once the block has fired it won't spam. In other words, that the action part of the script block alters the condition that the block is looking for.

Edited by GeN1e, 02 November 2008 - 02:18 PM.

Retired from modding.


#18 witya

witya
  • Member
  • 106 posts

Posted 02 November 2008 - 03:11 PM

Thanks to all of you for the help. ^^ I forgot about the possibility of an endless cycle. I've already created one before, but that time it was obvious, because it happened when I gave Xp to the party. I was kind of surprised to see that in 5-10 seconds, the + icon appeared on the portraits of the whole party and I got a lot of journal entries. xD
"I love myself and I have no reason to doubt my feelings..."

#19 Thanatos.

Thanatos.
  • Member
  • 474 posts

Posted 02 November 2008 - 10:00 PM

Good luck with your mod! Would help with dialogs/romances and such but I'm wrapped up in my own mod at the moment.

#20 Icendoan

Icendoan

    "An Infinite Deal of Nothing"

  • Member
  • 1723 posts

Posted 02 November 2008 - 11:47 PM

That is MY line! :P

Icen
Proud member of the 'I HATE Elminster!' Club!

Mods in development: Keeping Yoshimo