Advertisement

NPCs triggering dialog

Started by October 10, 2016 05:00 PM
6 comments, last by Norman Barrows 8 years, 1 month ago

The game: CAVEMAN 3.0 FPSRPG - stone age setting.

NPCs triggering dialog

The concept is basic enough: The player can walk up to an NPC and engage them in dialog. Why can't NPCs do the same? Similar to a courier encounter in Skyrim. But any NPC at any (appropriate) time.

Already in the game, when you encounter friendly cavemen, there is a chance their leader will walk up to you and engage you in dialog. The dialog options they can trigger are similar to talk options in The SIMs or non-quest-specific dialog options as seen in Skyrim, IE exchange news, talk, trade, share maps, get quests, etc. Thieves, bands of thieves, and volunteer potential followers also initiate dialog with the player.

So the idea is when there are friendly cavemen nearby, they may decide to come up to the player and talk to them.

Now...

How often should this happen? Do you want some NPC or another bugging you every hour or so for the latest gossip - or asking you to go bowling? <g>. (GTA)

And its like The SIMs, the player can control a whole band, not just one caveman. Right now, in all encounters where an NPC can initiate dialog, the band member having the encounter automatically stops whatever they were doing (making an arrow, etc). Should a band member stop an action every time someone wants to chat - forcing the player to re-start the action? It seems rather obvious that the game would have to switch to the band member being spoken to, if the player was currently controlling a different band member.

So i'm not sure how often it should happen.

I was thinking that i could display a message saying: <bandmember name>, a caveman wants to talk to you. Do you want to talk? Yes / No.

If they say yes, it would stop their action and switch to that band member (if needed). If they say no, the band member would simply ignore the NPC caveman, perhaps with a slight drop in relations with that NPC.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

I'd avoid having a dialog pop-up and block input, because it's annoying to have it stop the player from running from one side of the camp to the other. Though if it's not intrusive enough and you dock the player for not talking to the person, that's not so great either.

Advertisement

Instead of annoying popups/forced interruptions you could have them walk up and gesture (some signal with indicate magnitudes to indicate importance) and let the player respond if they want.

Of course being unsocial (too often) might be its own message and depending on who is requesting to communicate (and what role/social status/rank the player and the NPC has) and probably what the current situations is, those would guide the response to non-response (ie= urgent then the NPC retries or escalate ).

Important things likewise might be 'hailed' from a greater distance (versus just wanting to gossip about the weather....)

--------------------------------------------[size="1"]Ratings are Opinion, not Fact

I'd avoid having a dialog pop-up and block input, because it's annoying to have it stop the player from running from one side of the camp to the other.

Good point! Didn't think about "what if they're in FPS mode?". I was thinking more in terns of the player is controlling band membar A who is doing some action, and offscreen, an NPC walks up to band member B to initiate dialog. Sort of like The SIMs when your your household is spread all over town. The only way to tell if someone is talking to one of them is to switch to them.

Though if it's not intrusive enough and you dock the player for not talking to the person, that's not so great either.

There wouldn't be much they couldn't also do by initiating dialog with the NPC themselves. Maybe get a quest as part of exchanging news. But I'm pretty sure the PC triggered exchange_news routine is the same one used by leaders who walk up and talk to you. And that routine includes chance for quests now - at least ones that don't have to start at a band's shelter. talk_to_caveman limits the number of dialog exchanges you can perform per day before they get tired of talking. So the player can't spam "exchange news" in an effort to get quests, or dialog options in general to raise relations. And leader_talk is one time at encounter start. So again it can't be spammed.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

Instead of annoying popups/forced interruptions you could have them walk up and gesture (some signal with indicate magnitudes to indicate importance) and let the player respond if they want.

But what if its not the band member the player is currently controlling? IE the player controlling SIM A and sim B gets talked to problem. These band members may be many tens of miles apart from each other in the game world.

None of the NPC triggered dialog interactions would be particularly important, nothing like "badguys coming!" or anything like that, just the same basic dialog choices the player gets when they select the NPC, except the NPC will choose some subset of the possible options at random and do just them, the same way leaders talking to you works. At any point in the conversation the player can tell the NPC to leave them alone, ending the chain of dialog exchanges triggered by the NPC. At least that's the tentative plan.

Wow, this is going to be hard.

You don't want to stop FPS movement, but you have to notify the player if an offscreen band member gets a dialog interaction.

It would be ok to do a popup like they do in Skyrim with couriers, where they walk right up to you and start talking. But that would only work for FPS mode for the band member currently controlled by the player. If they are doing an action like in The SIMs or mining or chopping wood in Skyrim, they may not want to be disturbed. So an NPC walking up and forcing dialog might piss them off. And a popup seems to be the only way to handle dialogs with bandmembers not under the players control at the moment. Notify the player and let them switch to that band member, or refuse the dialog. I could do the just walk up and force dialog thing for the band member the player is controlling at the moment if they are not doing an action (IE they are in "FPS mode" vs "do an action mode"), but i don't see a way around popups for the other cases...

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

What if....

When an NPC tries to talk to a band member that the player is not controlling...

If the band member the player is controlling is in combat (threats nearby and weapon drawn perhaps?), do everything except show the popup.

So the NPC would approach the band member, but that would be it, until the band member the player was controlling finished combat, at which point the popup would tell the player that oh, by the way, an NPC wants to talk to one of your other band members.

And you wouldn't stop any actions unless they decided to talk.

That way you would not get a popup in combat, only when you were walking around or doing an action.

Think that would be acceptable?

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

Advertisement

What if....

When an NPC tries to talk to a band member that the player is not controlling...

If the band member the player is controlling is in combat (threats nearby and weapon drawn perhaps?), do everything except show the popup.

So the NPC would approach the band member, but that would be it, until the band member the player was controlling finished combat, at which point the popup would tell the player that oh, by the way, an NPC wants to talk to one of your other band members.

And you wouldn't stop any actions unless they decided to talk.

That way you would not get a popup in combat, only when you were walking around or doing an action.

Think that would be acceptable?

Combat (melee ... actively engaged.. trying to kill an animal, stalking etc...) or any other hazardous/involved activity probably would be a typical time when approaches would be ignored til its over. (many of games block conflicting activities during various types of 'involved' activity)

The NPC also probably would avoid a combat situation (and wait) and if a foreigner/whatever it would show alot of caution before approaching (again signaling and only 'talking' when give the approach signal). And if friendly, would be smart enough not to interfere til whatever it is is resolved.

-

Another indicator for 'someone wants to talk' amongst other possible things (ie the 'spidey sense' when danger is near) is incidental music or sound effect cues to tell the player that something is up they might need to deal with.

You may also emply some general area signals with something like a drum signal or bull roarer which can be heard for miles (instead of a runner).

Outsides might be told that way as a warning off or a your clear to approach (drum to drum signals back and forth can travel miles, and likely whichever Avatar you are controling you probably would hear it )

Some important types of messages also might only go to the 'leader'

--------------------------------------------[size="1"]Ratings are Opinion, not Fact

The NPC also probably would avoid a combat situation (and wait) and if a foreigner/whatever it would show alot of caution before approaching (again signaling and only 'talking' when give the approach signal). And if friendly, would be smart enough not to interfere til whatever it is is resolved.

Approach player and init dialog for whatever reason (thief, band of thieves, volunteer follower, leader saying hello, etc) is the lowest priority AI move possible. its at the beginning of the "graze" action that all critters do when nothing is going on. So they will do all the usual AI stuff first (combat etc), and only approach if they have nothing better to do. So they should already behave that way automatically.

Another indicator for 'someone wants to talk' amongst other possible things (ie the 'spidey sense' when danger is near) is incidental music or sound effect cues to tell the player that something is up they might need to deal with.

Might be ok for the band member currently controlled by the player, but what about that other band member 100 miles away? For the player controlled band member, you could just do an animation of them waiving their arms, and play a bunch of grunt wav's to make them get the player's attention.

But for distant band members under AI control, i see no alternative to showing popups - but only when the player controlled band member is not in combat.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

This topic is closed to new replies.

Advertisement