Jump to content

Advanced interactions


khravv

Recommended Posts

I have been around, watching mods for awhile. And through my observation, I have come across a collection of mods that show that there is a possibility of having far more depth for the worlds NPCs.

This can be seen with the recently released mod that adds blushing to the game: Blush Mod

in addition to this, There has been a mod that i hope many of you are aware of, made by Duke Patrick (I'm pretty sure) that added a companion to the game that he had made as a proof-of-concept, showing just how much could be done with a NPC.

His companion had moods that changed, and directly responded to how you treated her, through words and actions. This meant that if you were a total jerk, she would leave you. She would disagree with you on some things,and ultimately she seemed far more alive then any other NPCs.

 

The release of this blush mod brought this to mind, and I thought to myself that someone skilled with the set, and/or possessing some knowledge of how the mind works, could create an NPC that would be amazing.

Now First let me make this clear, i'm not saying this as a request for a romance mod, but I am saying that this means they you could have a character that would fall in love with the player, not because he beat the special quest or said the magic words, but because of the way he acts. Likewise, this NPC would then be able to react to all things in a realistic way.

 

And here is where my Idea gets big, to the point that many would stop and say it cannot be done:

What if using this, one could make all the NPCs in Oblivion like that, so that each NPC has a mind of its own, each one has the possibility of becoming a good friend of the Player, instead of certain NPCs being doomed to be background unimportant people, they each, if they get along with the Player, could become good friends and close companions.

And instead of retarded romance mods that make 1, just 1, designated NPC that the Player can woo, the Player instead could possible have such a relationship with any NPC, provided they get along.

 

Now I recognize this is a huge idea, and would be happy even if I did only see one really good companion NPC come out of this all, but what I am getting at here is that it IS possible, and as long as a skilled modder is willing to take on the challenge, it could be done.

 

what say you?

Link to comment
Share on other sites

The idea is good , and nice , and doable even if it requires lots of work. But it will require advanced AIs for each NPC and Oblivion won't run too smooth (or at all).

This is it for short . Some will probably explain this better sooner or later ;)

 

 

Alex Valentine

Link to comment
Share on other sites

I see, I had not considered that.

Well, would it still be possible if one did not create the AI for all NPCs, but rather just a few, like say an innkeeper here and there, a few shopkeepers, some guilds members, etc. giving a good general spread, but not granting to all.

Would that be better?

Link to comment
Share on other sites

that might work better. you have to remember that too many scripts or AI running in the same area can cause some major problems, even for the performance happy. as long as these advanced AIs don't come together all at once, I see no problem, but it would still be an large amount of work to make these AIs to begin with.
Link to comment
Share on other sites

I must admit that I love the idea, and only adding all the dialogues needed to create that interaction that could affect their mood would be absolutely amazing on it's own but also would require a lot of work, but IMO there's a bigger challenge here, setting NPCs' AI packages and routines according to that. Woudn't a good friend of you accept your invitation and go to the inn to take some beer after a day of work and then go to sleep later than he uses and perhaps on next day open the shop later? This is not difficult for a companion that goes wherever is told, but it could pose a problem for NPC's that have a routine.

 

I don't know how AI packages work and my english is not very good so I couldn't offer so much help with dialogues and all this stuff, but if someone is taking the challenge I'll make new illusion spells for this "deeper" mood, so you could make people shy or hot, or make a countess acts and speaks like a peasant, depending on the behaviours it might cover.

Link to comment
Share on other sites

I am trying to get a work in progress release together now it won't work for all npc's but could certainly help to build more interesting companions. this mod might not be exactly what your looking for but it's made to be adaptable to just about any kind of Companion you want to build

I hope to have it posted this week I'll send a link if you want

Name: ExtremeCompanionControl

Version: .91

Date: 11/6/2009

Category: Companions

Requirements: Oblivion Patch 1.2.0.214, OBSE v18b5

Author(s): rdamstrom(AKA Carver13/Carver)

Description

===========

ExtremeCompanionControl is a Companion mod like CM in which you can control Companion's

it use's a token based job engine which makes it possible to change there task at any time

as you will see in time there are many things that can be done with this type of job engine.

==Follow Task

heal them self's

heal player

charge weapons using there own Magicka (trickle charge)

see if player is riding and start the riding task

if in target mode will attack most anything the player set's as a target with the player spell

while this may not seem like much it make a huge difference in their ability to stay alive

and it all happens without a word from the player

==Gathering Task

about the only thing they won't do is loot corpes really boarders cheating so use with care

all gatherings are stored in the loot folder (use EC Control in Misc)

==Selling Task

all Companion's have different selling skills and some get more money then others they will

sell every thing in the loot folder and dispose of and worthless items.always remove what

use want to keep before starting the selling task.

you must have line of sight of the vendor you wish to do business with

==Riding Task

pretty basic,will continue to charge weapons if needed but can't heal while riding

==Eval Task

the eval task is what they do when not following. presently they will want to eat and sleep

and wander around a bit. if they have no food they will beg you for food.It is your job to

keep them in food and money,why else would they want to follow you if your not going to

feed them. the eval task could be anything we want and are able to get them to do it is

changable so different Companion's can do different things.

==Player Task

yes even the player is on the job engine.in order for the player to use wardrobes the

companion engine needed to see the player as just another companion.so I decided

to give the player a charging task so you will alway be charged when you enter that first

cell.

you will still need to use other means if your moving to fast but man what a nice feature to

have.

I hope your starting to see the possibilties here. tasks can be add to a companion from

dialog so a properly setup house can tell them where to dress sleep eat what they should

be doing there Guard duty,maid

==Wardrobe management

This is really what started this mod,I, like many of you want my companion's to have lot's

to wear but managing it was a royal pain.I tried to mod CM but it broke.it took a lot of

trial and error but I think you will be pleased with it.

Wardrobe's can be created, shared ,switched ,deleted

each Wardrobe has category's they can be created or deleted. each catagory can have

one or more sets of clothes. if you have a category like "[DayWear]" with 5 set's of clothes

you will cycle through them and if companion's are sharing the same Wardrobe and there is

enough clothes they wont wear the same thing.

each set has it own rating "Casual" "Sexy" "Very Sexy" "Extreme" this is so your

companion can know what you are making them wear and weather they should be happy

about standing in the middle of the street wearing almost nothing.If you have been caring

for your companion

she might wear something sex for you as a reward.presently they will only do this in the

Eval Task.Two dressing modes.Fast supports just about anything equip-able but fast-travel

may cause some things to become unequipped like the tail slot.slow is for your visual

pleasure and only supports common slots upper lower upperlower fullbody hands feet

rings amulet head and hair.

More work will be done to make companion's try to mimick you and change when you do

but this is not yet included

Multi body support if you wish your companion to wear a different body then the default

body then you must create a "[bodyWear]" catagory add in atleast upper/lower for HGEC

compatible hands and feet for others if a companion needs a different texture then this

must be done with a custom race in CS. you will need to fill all slots in each set of clothes

to make this work hands and feet. all body parts must be created as wearable parts.

setbody should not be used.

==Attributes

the Idea behind this is to give companion's more personaliy.are they happy with the way

they are being treated and if there not what will they do

this part of the mod has been the hardest to work out and not very well implemented.then

there are thoughs that won't enjoy this sort of thing and just want a companion to drag

around and not be bothered with how they feel so for those who are interest I would love

to here some Ideas and those who are not I will make this as invisible as possible

====Modest - all companion's random Modest and has some effect on dressing prefference

Obligation - companion's become obligated when you feed them ,help them make money

this is short term an will dissipate over time has some effect on dressing

====Happy - will rise and fall with player inaction but will always return to

baseline when companion is alone.works with Obligation. companion's

will only respond to Obligation if Happy is at baseline or above and is a multiplier

for Obligation.an unhappy companion may abandon you and return to their place of

origin.

====Desperate - this will rise on an hourly basis an will only fall when a companion

eats and sleeps. they can only eat and sleep when they have food or money to do so.

this is what makes them beg for food and survival is the only reason they would want to

follow you anywhere. Desperate companion's are vulnerable and will allow themselves

to become quite unhappy before abandoning you in hopes that you will feed them

but only if they have no food or money.

====Food - companion's food is processed and stored here so it can't be stolen

====Gold - companion's gold is processed and stored here so it can't be stolen

like I said most of this is not implemented and this is more of an outline at this

point. I can add all sorts of Attributes to change the way a companion responds to a

player a good example would be a sexual preference maybe one of your companion's

like's women and you

being male would have a much harder time getting her to wear something sexy unless

you brought another female companion with you.

Install & Uninstall

===================

Copy The Data Folder oblivion Folder

choose only the esp's in your mod manager,it is not necessary to select the esm and will make

it easier to remove if you don't. it is always best to activate the ExtremeCompanionControl.esp

first and and get it up and running first. open the consel and you should see the player's task

going off about every 30 sec ?. you should not see any error messages,if you do please report them.now that you have ExtremeCompanionControl.esp running save the game and quit.

now you can begin adding the companions and other esp's for ExtremeCompanionControl.

Incompatibility

===============

compatibility is completely unknown. I don't think it should conflict with other Companion mods

but has never been tested.It is not my goal to try to make this compatible with the thousands of

mod's out there as I don't use them and have to many other things to do. please report but don't

expect a fix unless you have one I can add to the code.

Known Issues or Bugs

====================

Head twitching while undressing.this is an unsolvable problem I'm afraid, I can shut off

head tracking.

Companion's sometimes won't mount horse's or will wonder off.fix dismount wait till their

following you again and remount.if your in a bad spot move to a flat spot and teleport the

horse's to you. only use the white horse if you have two Companion's or don't switch horse's

this will confuse them and they will go looking for the horse you left behind.don't use the horses

/if you have more then two Companion's.

double face bug and animation crashes can be fixed with the player spell.

gathering will go undetected because this would cause a nasty cdt.and other companion's

will not get updated while one is gathering.it's just to much of a load to try to do it any other way

teleportation will sometimes fail,try moving to another cell

Credits

=======

Thanks to

Construction Set Wiki and the people who put it together

OBSE team for making this mod posible

Bethesda for making The Elder Scrolls IV.

RAIAR and Madcat221 for the HGEC

The Eyecandy Variants Expansion Team for the default underwear

Mods

=======

making plugins for the ExtremeCompanionControl is quite easy and promoted

as long as you do not alter anything in the mod itself.If there is interest

I will outline what can be done and how to do it.

There are many areas I could use some help in this mod if you are serious. PM me

whats needed

companion homes

plug in wardrobes like the default one I provided

companion quests (I will be making some of my own as an example of what can be done)

Adding Companions

=================

Copy

Licensing/Legal

===============

Please do not modify or redistribute the ExtremeCompanionControl.esm or esp

all other parts are free for reuse as long as it was created by me.

if in doubt please ask.

Link to comment
Share on other sites

Hmm, yeah, That shows some of what i was curious about, to a degree. However i'm not so much referring to making companions do more as companions, as more making default NPCs more human, and thus make them companions if that is their inclination.

 

In reference to things like shop owning, My thought was that a NPC that has become a friend would still most likely stay with their shop and run it. What it'd do, instead of traveling with you, is if they would say, make things cheaper, repair items for free, innkeepers may give you a room for free, etc.

Also, while the thought of being able to go out for a drink is cool, in a game that is fairly purposeless as there isn't anything to really chat about with the NPC.

But if you were to befriend a guard, you might be able to persuade him on the grounds of your friendship to travel with you, but it'd depend once more on their mood.

 

but ultimately, if such AIs would bog down the game, then maybe to start as a working prototype, getting things like one innkeeper in one town, one shopkeeper in another, one guard here, one adventurer there, etc. giving one of each sort of NPC with advanced AI spread across the land to keep performance going. I figure if the prototype can at least be placed out there, we can see if it really matters, as well as then it gets it out there to show that it can be done and opens it to the community to try and get to work.

Link to comment
Share on other sites

when I started this mod The Idea was to make companions less like companions and more like they belonged in the game.I just got a little side tracked. my goal is to use this mod to develope companions that have a life of there own and quests to help them make advances in life.also I want to show people a different way to develope these type of mods. lets say that you make an Inn keeper who has a story to tell and quest or two that needs to be completed to help him out in his life.so you finish you mod and release it and people really like it.so now you want to write another chapter only people dont want to start all over so this time your mod isn't as well liked as before. but what if this mod were more like a comic book and you could choose to start on any page you like or go back to a page that you really liked.anyway I believe that this mod would serve as a good starting place for the Ideas you have because of the way the job engine is designed. companions don't have scripts attached to them,instead they are assigned a slot on the job engine. everthing about this companion is contained in this slot so if we want to change something like what they are doing it is done here.the job engine only processes one companion at a time and only if they need to be updated.so if they are sleeping they wont get updated until it is time to wake.as I advance my characters I will also be adding new things to this mod so it will serve as a tool kit for those wanting to build these sort of characters.I would be more then happy to aid this project if you can get some people on board to help.
Link to comment
Share on other sites

I am working on a mod that has something along the lines that you guys are discussing here.

 

In this mod, I have a few dozen NPCs that interact with each other and the result of their interaction will affect their decisions in the future.

 

For example: an NPC goes to a bar and spend some time talking to one of the NPCs that are there. If they have some common interests and enjoy the conversation, the next time the NPC goes to the bar, he may look for his 'friend'. Given enough interactions, the group will tend to divide into subgroups with common interests.

 

In this mod, this is possible because I am controlling every single step of the NPCs. Kind of replacing the game AI with my own.

I mention it just to confirm that it is possible for a limited number of NPCs. At first glance, I can't imagine a way to make it generic.

Link to comment
Share on other sites

The more I read and the more I think about it, the more I want to mod this. If you want I could help with scripting - and spell-making, I'm about to obtain the apprentice level in that skill :P I assume rdastrom makes some good scripts, considering the engine he described and also that he can make some packages for the AI, so maybe we could do the scripting part, but there should be some more people doing dialogues.

 

 

In reference to things like shop owning, My thought was that a NPC that has become a friend would still most likely stay with their shop and run it. What it'd do, instead of traveling with you, is if they would say, make things cheaper, repair items for free, innkeepers may give you a room for free, etc.

Yeah, that would be easier. They could be marked as "having a duty" or "no duty" and make their duty always take preference over any other thing, so there would be people with some inclination to adventuring, leaving home and following you, and there will be some other that will never leave their city. I guess it makes sense.

 

 

Also, while the thought of being able to go out for a drink is cool, in a game that is fairly purposeless as there isn't anything to really chat about with the NPC.

Uuhh... but it shouldn't with this mod! Then, if not chatting, how do you plan to befriend someone in the game? Of course if a warrior watches you fight with bravery he may show you respect, or if you save someone's life s/he may be in debt with you and please you in all what s/he can, but that's not friendship, these are other kind of relationship already present in the game. Friendship needs confidence and spending time with the other person, in an inn taking some beers, for example. I think that's important because there's a big difference IMO between making kinda pre-set moods/behaviours and make each NPC switches from one to another of his own pre-set list of moods according to some external input (player's deeds and dones), than giving them a full mentality, with very specific preferences, ambitions, fears, etc. I'd go for that second and more ambitious one, but IMO that would require A LOT of dialogues, so you both could share at least once your opinion on every relevant matter that makes them be the way they are. Otherwise is like you meet someone and in the first talk you will know if you can be friends or not, making it all more based on first glance affinity than on relationship and interaction, wich I think is the aim of this project. Maybe the best and more feasible option would be a mix of both, but I think I'm rambling because I don't have a clear idea of what you wanted in this mod and maybe all this has nothing to do with what you thought, so maybe you could detail it a bit more. I think the aim of this mod is clear: "making NPCs more human", but the means and procedures may be not.

 

 

but ultimately, if such AIs would bog down the game, then maybe to start as a working prototype, getting things like one innkeeper in one town, one shopkeeper in another, one guard here, one adventurer there, etc. giving one of each sort of NPC with advanced AI spread across the land to keep performance going. I figure if the prototype can at least be placed out there, we can see if it really matters, as well as then it gets it out there to show that it can be done and opens it to the community to try and get to work.

I absolutely agree, that'd be a good way to start.

 

 

my goal is to use this mod to develope companions that have a life of there own and quests to help them make advances in life.

[...]

but what if this mod were more like a comic book and you could choose to start on any page you like or go back to a page that you really liked.

Although this are really cool features it might be somehow counterproductive if applied on "normal" NPCs. Having specific quests for each one of them might give the feeling that there's a linear story behind, that maybe you haven't started it from the first page, but that from now on will continue straight forward, and having to help everybody to advance in their life could be just even worse than vanilla oblivion where you're the center of the universe. Of course it would be very different if NPCs had some criteria and wound't gonna ask for help only to the player, in other words, that if you're not in good terms with him/her s/he doesn't ask you for help, so you don't help him/her, so you don't adquire that high degree of confidence and friendship that you could achieved helping a friend. I'm not saying this features hasn't to be useful, rather I'm saying they're great, but that have to be used carefuly.

 

 

companions don't have scripts attached to them,instead they are assigned a slot on the job engine. everthing about this companion is contained in this slot so if we want to change something like what they are doing it is done here. the job engine only processes one companion at a time and only if they need to be updated.so if they are sleeping they wont get updated until it is time to wake.

I don't know if this could work with so many NPCs, considering that some of them will have their own routine, and that more than one would be "affected by their mood" at once, but you made me think of something that might work. Instead of having a script per actor, having one that checks who is the PC talking to, and then run the necessary script/s on the AI to "update" their behaviour. A script running once each in-game hour could clean "short-term" moods, or randomize it according to NPC's rancor/forgiveness, etc.

 

 

 

And now let's jump to the funny part of all this: wich ones are the main features you'd like to see reflected in NPC's mood or behaviour?

 

- very deep principles and prejudices, like being worshipper, "imperialist", be intolerant with necromancers, etc;

- some other strong psychological factor like fears, phobias, hatred, insecurity, shyness, self-confidence, narcissim, and a long etc;

- differenciated preferences that could form a personality:

  • - based on daily actions: about jobs and specially about "key" actions like spellcasting, stealing and kiling, but also they could have preferences for small things like quality and kind of dressing and appearance in general (jewelry, armed/unnarmed, etc), quality and type of food and drink, who are your friends, if you have a known partner or if you're known to have so many partners or none at all, if you're seen so often in the inn drinking cheap wine until late, etc.
    - based on opinions: about almost every matter, from the dead of the emperor to the particular aroma of the beggars, how well is the city count ruling the city or how the taxes given to the chapel are used.

- a personality already formed upon certain "universal" factors, like mercyful/severe, shy/sociable, impetuous/cautious, loyal/interested, etc.

 

 

This are only a few suggestions, there may be much more things, and I'd like to have them all but maybe that's not what you want so that's why I ask. I'd use for sure something related to what you do, not only with each NPC but what you do on your own, so it's less stuff that has to be set via dialogue and can be somwhow "auto-calc'd" according to their preferences and your actions.

 

I'd make an empty quest for each one with a script that doesn't run, but only stores the values for each NPC, so it allows for a lot of info for each NPC without having all the scripts running at once, but maybe then the problem is not with the cpu but with memory.

 

 

EDIT:

 

hey QQuix I didn't see your post, I had the topic open and I didn't update the page when I was going to post. It's great that you're working on something similar. Man, making NPC choose their bar-mates naturally is really great! May I ask you how did you make it to give them some preferences about the conversations they might enjoy? A thread you could point to?

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...