Aller au contenu

Photo

The Scroll ... (Campign In Development) ... Blog Posts (Current: #34 Beta Testing - Final Entry)


  • Veuillez vous connecter pour répondre
448 réponses à ce sujet

#151
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

#7 AI, AI ... Oh!

http://worldofalthea...1/ai-ai-oh.html

Old MacDonald may not have had many issues keeping his animals in check, but the beast known as the AI in NWN can certainly be a tricky issue to tame. In the last week or so, I have been looking at the AI (Artificial Intelligence) when it comes to NPCs using spells. While I was running a combat test, I noted that the spell casters would prefer to run into close melee combat rather than cast their spells. This was certainly not going to work for me, and so I decided to take a closer look and see if I could make my spell casters do what they should be doing best ... and cast their spells when entering combat.

Sarcasm.jpg

There's Gonna Be A Fight!

Eventually, I managed to narrow down the problem to two areas of code, which with a little adjustment to my own code, managed to make the spell casters behave more intelligently, and cast their spells. The two adjustments included:-

1) Where possible, switch to using the function HenchDetermineCombatRound rather than using the ActionAttack function. I thought the latter function would have triggered the former, but this is not the case. (Obvious in hindsight.) Using the former function throws the NPC into immediately using its combat AI code, whereas the latter makes the NPC close to attack before thinking about it.

2) Update my own AI script (used for many other combat situations, including things like healing and weapon choice) to make reference to the older NWN function DetermineCombatRound if the NPC is a spell caster. This older function appears to give better results than the newer one (mentioned in 1 above). Therefore, while I use the newer HenchDetermineCombatRound to initiate the AI for the NPC, I actually re-direct the AI to use the older DetermineCombatRound function via my own AI script.

The end result of making these two adjustments is that my spell casters definitely use their spells before entering combat.

AISpell1.jpg

Combat Begins! The spell casters cast from the back!

AISpell2.jpg

Creatures Summoned! Now for their next trick!

Other Testing

While testing, I also discovered some other issues that needed fixing. (Some due to later updates I had made that affected the very early stuff.):-

1) Fixed creatures dropping their "creature items" due to a new ID system I had implemented.
2) Fixed a container found on a creature that was using an OC GUI that does not work.
3) Fixed creature auras that were clashing with my NPC detection aura system.
4) Fixed/Updated a Scroll GUI trigger system to use newer functions to allow more script calls.

There were a handful of other minor issues that I fixed along the way and which I encountered as I did another quick play test. In the coming weeks, I hope to carry on finishing conversations and finishing area scripts.

QUESTION:-

How much do people enjoy cutscenes (or not) in their NWN adventure?



#152
andysks

andysks
  • Members
  • 1 645 messages

This issue is always 50/50 amongst players.

 

I personally enjoy cutscenes. I have played games like Metal Gear Solid, or Telltale games like The Walking Dead, which have an enormous amount of scenes. And I loved them all.

In my own work, I try to keep things balanced. The first time we meet a key NPC, maybe he'll be a scene. If he gives us a task, say come back with these 2 items, maybe that convo will be NWN1 style. if he needs to combine them in a cauldron after that, maybe that's a scene again.

 

I think you should do it however you feel like.

 

About the AI.

 

I have a question. Are your changes global? Or does any spell caster needs a variable for them to kick in?

Other than that, I want to warn you. Messing up with the combat AI is quite addictive. I found that quite early while working on it, and so I decided to script only the bosses, and make 5-10 generic scripts for various levels of creatures, say hobgoblin cleric of different levels. If you start scripting every single creature to do exactly as you wish in fight, the workload will raise extremely.

Unless your changes are global. Then, all the work is already done :).



#153
kamal_

kamal_
  • Members
  • 5 240 messages
I prefer realistic conversations, something more than "get me five gizmos" as the npcs opening line. This means sometimes the npc talks to the player for a bit before the "get me some gizmos" line that gives the actual quest comes up. If you are using nwn2 style conversation, this makes them a kind of "cutscene", unless by cutscene you mean some camera work not involving the player as a participant.

#154
Eguintir Eligard

Eguintir Eligard
  • Members
  • 1 832 messages
Dude you didn't have to rewrite an ai, you just set the beh global variable for how often they cast. You gotta check with us on these things. It's a two seconds task

#155
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

This issue is always 50/50 amongst players.... <SNIP> 

About the AI.
 
I have a question. Are your changes global? Or does any spell caster needs a variable for them to kick in?
Other than that, I want to warn you. Messing up with the combat AI is quite addictive. I found that quite early while working on it, and so I decided to script only the bosses, and make 5-10 generic scripts for various levels of creatures, say hobgoblin cleric of different levels. If you start scripting every single creature to do exactly as you wish in fight, the workload will raise extremely. Unless your changes are global. Then, all the work is already done :).


Hi andysks,

Thanks for the feedback ref the cutscenes. I wondered if I have too few, but I do use the cutscene format for most convs. I suppose testing will tell.
 
 Ref the AI ... I have made it so the specific older format only kicks in if I have the "spell casting weighting" assigned to them, which triggers my AI script to use the older AI setup. Thankfully, my AI "generic" script seems to work pretty well for all other creatures (tested so far), although I do have an extra bit of script in place for things like giants throwing boulder etal. So, as my AI script stands, all I need to do is adjust the percentage chance a spell caster may use spells each round and that's it! My tests were using 100% and the spell casters kept casting until they ran out of spells (as far as I could see). Then they broke off and used ranged or melee weapons as appropriate. :)
 

I prefer realistic conversations, something more than "get me five gizmos" as the npcs opening line. This means sometimes the npc talks to the player for a bit before the "get me some gizmos" line that gives the actual quest comes up. If you are using nwn2 style conversation, this makes them a kind of "cutscene", unless by cutscene you mean some camera work not involving the player as a participant.


Yes, I should have defined what I meant more when I asked the question ... Basically, I meant having "cutscene conversations" where the player does not have any/much input, but watches a "scene" unfold. I do not have many of these at all, but do try to make use of the NWN2 conv format that allows the player to interact like a cutscene, even though it is not strictly one as I meant it. 
 

Dude you didn't have to rewrite an ai, you just set the beh global variable for how often they cast. You gotta check with us on these things. It's a two seconds task


Hi E.E.

It's OK, I haven't had to rewrite everything. ;) All I did was redirect my own AI to take advantage of some original NWN code where spell casting balance could be better controlled. In my testing, the newer HenchDetermineCombatRound function did not appear to be as useful compared to the older version of the function (without the "Hench" in front). For instance, those BEH variables you mention only appeared to work for the older version of the NWN AI system, which is why I had to redirect my own code to help make use of them. Check out my post here:- http://forum.bioware...before-closing/

Testing using the redirection definitely appeared to make things work better ... or it was just my imagination working overtime. ;)

Cheers all,
Lance.


  • rjshae aime ceci

#156
Tchos

Tchos
  • Members
  • 5 042 messages

Regarding cutscenes, my strong and unpopular opinion is that I don't want a game designer to stop the game and take control away from me as the player for a non-interactive cutscene, pretty much ever.  I've experienced games that have effectively delivered their story exposition without doing that.  My own campaign has no cutscenes where the control is taken away from the player, except to indicate where time is passing, such as meals, sleep, or the end of the game.  Otherwise, the player is free to stand and watch/listen, or leave.

 

Also, I hate conversations in cutscene format, and I change them to the text box in almost every module I play that uses them.

 

Aside: "sacrcasm" in the first screenshot should be "sarcasm".



#157
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

Regarding cutscenes, my strong and unpopular opinion is that I don't want a game designer to stop the game and take control away from me as the player for a non-interactive cutscene, pretty much ever.  I've experienced games that have effectively delivered their story exposition without doing that.  My own campaign has no cutscenes where the control is taken away from the player, except to indicate where time is passing, such as meals, sleep, or the end of the game.  Otherwise, the player is free to stand and watch/listen, or leave.
 
Also, I hate conversations in cutscene format, and I change them to the text box in almost every module I play that uses them.
 
Aside: "sacrcasm" in the first screenshot should be "sarcasm".


Hi Tchos,

I am happy to agree with you on that one :) ... especially as it saves a lot of time as well. I just wanted to make sure I was not cutting any corners or depriving players of an experience they may have preferred.

And thanks for pointing out that typo ... so annoying when that happens ... and a definite reason to have all text proof read. EDIT: I just edited the image and Dropbox has now updated the link.

Thanks,
Lance.



#158
Eguintir Eligard

Eguintir Eligard
  • Members
  • 1 832 messages
Cut scene conversations a great if you have voices and animated lips as per their intended use. If you do not have these things, then your conversations are staring Contests. So I would use 100 percent party chat new style.

#159
andysks

andysks
  • Members
  • 1 645 messages

Cut scene conversations a great if you have voices and animated lips as per their intended use. If you do not have these things, then your conversations are staring Contests. So I would use 100 percent party chat new style.

I think they all have their place. If you go the extra mile to perform some tasks in the cutscene... maybe yes. Party style is cool. But for works as the OC (I don't know how Lance's is) it wouldn't be possible, because the PC is the center of attention. Can you imagine the trial as party chat? Not possible. Now, if a module uses SoZ party creation IWD type of adventure... then party chat is the way to go.

 

So it all comes down to what kind of campaign is someone releasing.



#160
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

I use all the different ways a conversation can show according to its need at the time. My overall preference is probably the cutscene mode, which looks quite neat I think. Then again, I use party mode when conversations have PCs options that may differ according to some skills or environmental factor. I have a specially adapted NWN conversation window (that replaces the standard NWN old style). I owe somebody some credit for allowing me to use that, but most infuriatingly, I have lost my text file with the notes I was keeping to give credits to. ... I guess I will have to have some people give me a heads up to give them credit as and when they see something I used of theirs. Mind you, I think the whole community deserves a massive thank you for all the help and work people give.

 

Cheers,

Lance.



#161
Tchos

Tchos
  • Members
  • 5 042 messages

I have a specially adapted NWN conversation window (that replaces the standard NWN old style). I owe somebody some credit for allowing me to use that, but most infuriatingly, I have lost my text file with the notes I was keeping to give credits to.

 

Mine certainly isn't the only one out there, so I won't assume it was my enlarged, SoZ-designed mod of the NWN1-style text box in my UI mod, but I certainly would have given you permission to include it in your module.  I don't remember if we spoke of it.



#162
Eguintir Eligard

Eguintir Eligard
  • Members
  • 1 832 messages
Nwn style gives you the ability to only have the pc speak

#163
PJ156

PJ156
  • Members
  • 2 982 messages

I like cutscenes and use them a lot for exposition.  Quite often the npc's will take things away from the PC and they will interact according to thier personalities. In Soul cages I let the player stand back and watch quite a few such scenes. However, in those, the player has lines at the end and the player dictates how the interaction will end according to the players personality. That means the PC is not out of things entirely but the npcs are not meaningless shells.

 

I am also starting to toy with multi line PC nodes. So the PC says thier line then gets another series of options, then another. Somewhat like a flow of conversation where the PC is developing a point. It seems to work but it's best not too often.  

 

I think a little bit of everything works well. I have not used party chat yet, nor will I in this series, aside from that I try to mix things up as much as possible to keep it interesting. That's what I like to see in a game as well.

 

PJ



#164
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

Mine certainly isn't the only one out there, so I won't assume it was my enlarged, SoZ-designed mod of the NWN1-style text box in my UI mod, but I certainly would have given you permission to include it in your module.  I don't remember if we spoke of it.


Hi Tchos,

Thanks for that. :) The one I have looks more like the Party GUI, but is for MAIN PC only. 
 

Nwn style gives you the ability to only have the pc speak


Yes, that's what this other GUI I have been allowed to use does. Hopefully, all those who helped and recognise their contributions will help me build a new credit listing. 
 

<SNIP> ... I think a little bit of everything works well. I have not used party chat yet, nor will I in this series, aside from that I try to mix things up as much as possible to keep it interesting. That's what I like to see in a game as well. PJ


I think you hit the nail on the head, where a little of everything works well.

Thanks again all!

Lance.

#165
Arkalezth

Arkalezth
  • Members
  • 3 188 messages
A common approach is using cutscene conversations for the more important/relevant NPCs and window conversations for minor ones, like merchants, etc. Of course, this assumes no SOZ system, at least for the former.

Agreed with Tchos about cutscenes that take control of your character in ways s/he's not supposed to behave. For instance, some Mass Effect cutscenes come to mind, which work OK for some character types but make no sense for others. But as long as you avoid that kind of nonsense (and it doesn't become an interactive film rather than a videogame), I think cutscenes are fine.

#166
Tchos

Tchos
  • Members
  • 5 042 messages

Thanks for that. :) The one I have looks more like the Party GUI, but is for MAIN PC only.

 

I don't understand your emphasis.  The one I showed is for the main PC only, and I based its design on the SoZ party GUI.



#167
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

A common approach is using cutscene conversations for the more important/relevant NPCs and window conversations for minor ones, like merchants, etc. Of course, this assumes no SOZ system, at least for the former.

<SNIP>


Hi Arkalezth,

That's something akin to the way I have tried to do it myself. :)

Cheers, Lance.
 

I don't understand your emphasis.  The one I showed is for the main PC only, and I based its design on the SoZ party GUI.


Hi Tchos,

Ah ... I may have forgotten what the original GUIs looked like as I have been using something different for quite some time now. Basically, if I recall correctly, there is an option to change how the Party GUI looks for NWN2 ... and I have a Main PC version of that version of the Party GUI. i.e. A Main PC only version of the secondary type Party GUI that comes with NWN2.

UPDATED (CORRECTION): I had edited my quickchat.xml to use the image listed below originally. Then somebody provided me with a better version of the "ol_pchat_background.tga" image that did not come with "empty circles" that were normally used with PC selection like when used in the Party conv option. I commented out all references to frames for this xml file.

<UIIcon name="PANE_BACKGROUND" img="ol_pchat_background.tga" x="0" y="0" width="520" height="506" />
 
I hope that makes more sense ... The person who gave me a copy of the IMAGE said to keep it under wraps until their own module had come out with it. I believe that has probably happened by now, so maybe I will be able to post an image to show what I mean at some point ... However, I will wait a little while just in case I am wrong about that and the original designer reads this and gives me a head's up either way.
 
Cheers,
Lance.

#168
Tchos

Tchos
  • Members
  • 5 042 messages

UPDATED (CORRECTION): I had edited my quickchat.xml to use the image listed below originally. Then somebody provided me with a better version of the "ol_pchat_background.tga" image that did not come with "empty circles" that were normally used with PC selection like when used in the Party conv option.

 
Ah, the overland party chat box.  I'd forgotten that there were two SoZ party chat boxes.



#169
Dann-J

Dann-J
  • Members
  • 3 161 messages

Cut scene conversations a great if you have voices and animated lips as per their intended use. If you do not have these things, then your conversations are staring Contests. So I would use 100 percent party chat new style.

 

They can be tolerable as long as you have some sort of ambient animation running on the character speaking. If everyone just stands there and plays the default (and very subtle) conversation animations, then it can be tricky to tell who's saying what if there are multiple characters in the same shot. Often a simple gesture is enough (shrug, wave, point, etc).

 

I prefer to keep cutscene conversations as short and infrequent as possible. I tend to have them fire from the OnClientEnter script of an area the first time you enter it, with a brief establishing shot or a quick greeting conversation from an NPC to set the scene. They make a handy hook for an autosave at the end of the conversation (so players never have to endure the same cutscene twice if they have to reload).

 

For repeatable conversations the player can initiate themself, I much prefer the non-cinematic NWN1 style (with party chat wherever possible).


  • GCoyote aime ceci

#170
Eguintir Eligard

Eguintir Eligard
  • Members
  • 1 832 messages
Tolerable? I'd love that as a comment on a completed Completed campaign of mine.

#171
GCoyote

GCoyote
  • Members
  • 341 messages

...
 
I prefer to keep cutscene conversations as short and infrequent as possible. I tend to have them fire from the OnClientEnter script of an area the first time you enter it, with a brief establishing shot or a quick greeting conversation from an NPC to set the scene. They make a handy hook for an autosave at the end of the conversation (so players never have to endure the same cutscene twice if they have to reload). ...


Thank you! !

#172
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

#8 Seriously, This Is My Laughing Face!

http://worldofalthea...ghing-face.html

There's not too much I can say this week, as it has mostly been about writing conversations. As every module builder will tell you, there isn't a lot you can talk about, not without giving anything away anyway. During such times in the past, I have posted about the difficulties I have with writing them due to trying to cater for a MP environment, etc. (http://worldofalthea...ouble-with.html)

This time around in my writings, I learned that not all creatures have all the various "conversation animations" available to them. (E.g. It's not possible to make a goblin laugh.) Therefore, including such an animation in a conversation to make the creature appear more "alive" is not possible. Instead, one is left with a deadpan faced creature and some descriptive text about what it is they are "doing" as well as "saying". While not a major problem, it was a bit of a disappointment to learn this was the case. On the bright side, it did explain why my earlier attempts to include animations in conversations with some creatures would often fail.

Anyway, I thought I would just post a few screenshots this week and invite people to ask questions about the campaign ... or anything really. Is there anything you want to discuss in this post or previous ones? So, without further banter, here are a few screen shots for the week ...

130215%20Stormy%20Evening.jpg

Storm Clouds Over New Edgeton Market

130215%20HP%20Guide.jpg

Using "People Finder" GUI To Show Merchants

130215%20Trip%20To%20Tavern.jpg

Heading For The Tavern


  • PJ156 aime ceci

#173
Dann-J

Dann-J
  • Members
  • 3 161 messages

Shame on you - forcing all those poor merchants to stand out in the rain! :)

 

One of the things I liked about The Witcher was that some NPCs would run for cover whenever it rained, or make comments about it (I seem to recall female NPCs complain about their washing getting wet). I 'borrowed' the idea for the module I'm currently working on. I placed most of my NPC home waypoints under some sort of shelter, but I have a trio of children who chase each other about from place to place, taking random turns to be 'it'. I added a bit to their heartbeat script that has them stop their game and head for cover when it rains. Every now and then one of the children complains about the weather, until the rain stops and their game starts up again.


  • GCoyote aime ceci

#174
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages

Shame on you - forcing all those poor merchants to stand out in the rain! :)
 
One of the things I liked about The Witcher was that some NPCs would run for cover whenever it rained, or make comments about it (I seem to recall female NPCs complain about their washing getting wet). I 'borrowed' the idea for the module I'm currently working on. I placed most of my NPC home waypoints under some sort of shelter, but I have a trio of children who chase each other about from place to place, taking random turns to be 'it'. I added a bit to their heartbeat script that has them stop their game and head for cover when it rains. Every now and then one of the children complains about the weather, until the rain stops and their game starts up again.


Hi DannJ,

Yes, I liked the NPC reactions, and so added the weather condition comments to my own NPCs too. So you do get comments on the weather, although they don't run for cover ... much like England, nobody does. We just get wet. ;)

[Spoiler Alert]: However, I have designed some *special items", which I call "Solar Items", that recharge when the PC is outside in the sun!

I also have "rain" become "snow" in the winter months (does not lay though), and the increase chance of fog at certain times, etc ... all based on my weather system: http://neverwinterva...-system-lb-v105

Cheers,
Lance.

#175
Lance Botelle

Lance Botelle
  • Members
  • 1 480 messages
#9 Checking The Logic

http://worldofalthea...king-logic.html

It's been a while since my last post, but that's because I have wanted to use the time and energy I have to keep this project moving forward. Health issues have hampered me as usual, but I am still managing to make progress ... slowly, but surely.

I have been continuing to work on a dungeon (a crypt), which the heroes have to explore. This dungeon, however, supports a theme I have been working on and involves quite a bit of thinking ahead on my part, to ensure the logical flow works for the player irrespective of the path they take. Part of that logic check involves deciding if the player already controls PCs that can or cannot perform certain tasks according to their abilities. (I know I am being vague, but I am trying to not give spoilers.) Then, subject to that, I am designing the dungeon to work according to events that have already occurred in the past ... or may be happening still. While sorting through that logic, I am writing scripts to ensure certain items become available at the correct time, and trying to make sure everything balances in terms of combat and skill checks.

It occurred to me as I was working through the process that this is probably one of the most time-consuming tasks I have to do ... plan and check the logic of events and tasks that can occur for a player. Most of this takes place in pencil and paper as I make notes about what I intend to do. Then, the writing of the script is the next stage, before finally adding the objects to the module to test.

QUESTION: How do the rest of you builders manage your dungeons?

Do you plan events as you go .... (or are your events more straightforward) ... or do you also find there are a number of events you have to consider that may affect the overall running of the dungeon? I recognise that most builders will have a selection of dungeons where some are more straightforward than others. However, it is the planning of the more complex dungeons I would be interested to hear how you plan.

Crypt.jpg

This door does not open in the normal manner!

I have also had to work around a couple of glitches I found in a tileset (RWS Dark Ruins), which ended up requiring more time. However, the end result has ended up in a neat idea that I hope will keep the players on their toes!

Hopefully, this dungeon won't take much longer to get to a working stage, and then I will switch to finishing another I was working on. My campaign design requires a number of placeholders between dungeons, and I like to work on each placeholder as I do the internal testing. This means I do not necessarily complete one area before another, but complete areas as the story requirements develop.