khravv Posted November 25, 2009 Share Posted November 25, 2009 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 Modin 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 More sharing options...
alex2avs Posted November 25, 2009 Share Posted November 25, 2009 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 More sharing options...
khravv Posted November 25, 2009 Author Share Posted November 25, 2009 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 More sharing options...
Eshenaleros Posted November 25, 2009 Share Posted November 25, 2009 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 More sharing options...
grmblf Posted November 27, 2009 Share Posted November 27, 2009 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 More sharing options...
rdamstrom Posted November 27, 2009 Share Posted November 27, 2009 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 buildI hope to have it posted this week I'll send a link if you wantName: ExtremeCompanionControlVersion: .91Date: 11/6/2009Category: CompanionsRequirements: Oblivion Patch 1.2.0.214, OBSE v18b5Author(s): rdamstrom(AKA Carver13/Carver)Description===========ExtremeCompanionControl is a Companion mod like CM in which you can control Companion'sit use's a token based job engine which makes it possible to change there task at any timeas you will see in time there are many things that can be done with this type of job engine.==Follow Taskheal them self'sheal playercharge weapons using there own Magicka (trickle charge)see if player is riding and start the riding taskif in target mode will attack most anything the player set's as a target with the player spellwhile this may not seem like much it make a huge difference in their ability to stay aliveand it all happens without a word from the player==Gathering Taskabout the only thing they won't do is loot corpes really boarders cheating so use with careall gatherings are stored in the loot folder (use EC Control in Misc)==Selling Taskall Companion's have different selling skills and some get more money then others they willsell every thing in the loot folder and dispose of and worthless items.always remove whatuse want to keep before starting the selling task.you must have line of sight of the vendor you wish to do business with==Riding Taskpretty basic,will continue to charge weapons if needed but can't heal while riding==Eval Taskthe eval task is what they do when not following. presently they will want to eat and sleepand wander around a bit. if they have no food they will beg you for food.It is your job tokeep them in food and money,why else would they want to follow you if your not going tofeed them. the eval task could be anything we want and are able to get them to do it ischangable so different Companion's can do different things.==Player Taskyes even the player is on the job engine.in order for the player to use wardrobes thecompanion engine needed to see the player as just another companion.so I decidedto give the player a charging task so you will alway be charged when you enter that firstcell.you will still need to use other means if your moving to fast but man what a nice feature tohave.I hope your starting to see the possibilties here. tasks can be add to a companion fromdialog so a properly setup house can tell them where to dress sleep eat what they shouldbe doing there Guard duty,maid==Wardrobe managementThis is really what started this mod,I, like many of you want my companion's to have lot'sto wear but managing it was a royal pain.I tried to mod CM but it broke.it took a lot oftrial and error but I think you will be pleased with it.Wardrobe's can be created, shared ,switched ,deletedeach Wardrobe has category's they can be created or deleted. each catagory can haveone or more sets of clothes. if you have a category like "[DayWear]" with 5 set's of clothesyou will cycle through them and if companion's are sharing the same Wardrobe and there isenough clothes they wont wear the same thing.each set has it own rating "Casual" "Sexy" "Very Sexy" "Extreme" this is so yourcompanion can know what you are making them wear and weather they should be happyabout standing in the middle of the street wearing almost nothing.If you have been caringfor your companionshe might wear something sex for you as a reward.presently they will only do this in theEval Task.Two dressing modes.Fast supports just about anything equip-able but fast-travelmay cause some things to become unequipped like the tail slot.slow is for your visualpleasure and only supports common slots upper lower upperlower fullbody hands feetrings amulet head and hair.More work will be done to make companion's try to mimick you and change when you dobut this is not yet includedMulti body support if you wish your companion to wear a different body then the defaultbody then you must create a "[bodyWear]" catagory add in atleast upper/lower for HGECcompatible hands and feet for others if a companion needs a different texture then thismust be done with a custom race in CS. you will need to fill all slots in each set of clothesto make this work hands and feet. all body parts must be created as wearable parts.setbody should not be used.==Attributesthe Idea behind this is to give companion's more personaliy.are they happy with the waythey are being treated and if there not what will they dothis part of the mod has been the hardest to work out and not very well implemented.thenthere are thoughs that won't enjoy this sort of thing and just want a companion to dragaround and not be bothered with how they feel so for those who are interest I would loveto 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 prefferenceObligation - companion's become obligated when you feed them ,help them make moneythis 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 tobaseline when companion is alone.works with Obligation. companion'swill only respond to Obligation if Happy is at baseline or above and is a multiplierfor Obligation.an unhappy companion may abandon you and return to their place oforigin.====Desperate - this will rise on an hourly basis an will only fall when a companioneats 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 tofollow you anywhere. Desperate companion's are vulnerable and will allow themselvesto become quite unhappy before abandoning you in hopes that you will feed thembut 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 stolenlike I said most of this is not implemented and this is more of an outline at thispoint. I can add all sorts of Attributes to change the way a companion responds to aplayer a good example would be a sexual preference maybe one of your companion'slike's women and youbeing male would have a much harder time getting her to wear something sexy unlessyou brought another female companion with you.Install & Uninstall===================Copy The Data Folder oblivion Folderchoose only the esp's in your mod manager,it is not necessary to select the esm and will makeit easier to remove if you don't. it is always best to activate the ExtremeCompanionControl.espfirst and and get it up and running first. open the consel and you should see the player's taskgoing 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 modsbut has never been tested.It is not my goal to try to make this compatible with the thousands ofmod's out there as I don't use them and have to many other things to do. please report but don'texpect 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 offhead tracking.Companion's sometimes won't mount horse's or will wonder off.fix dismount wait till theirfollowing you again and remount.if your in a bad spot move to a flat spot and teleport thehorse's to you. only use the white horse if you have two Companion's or don't switch horse'sthis 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'swill not get updated while one is gathering.it's just to much of a load to try to do it any other wayteleportation will sometimes fail,try moving to another cellCredits=======Thanks toConstruction Set Wiki and the people who put it togetherOBSE team for making this mod posibleBethesda for making The Elder Scrolls IV.RAIAR and Madcat221 for the HGECThe Eyecandy Variants Expansion Team for the default underwearMods=======making plugins for the ExtremeCompanionControl is quite easy and promotedas long as you do not alter anything in the mod itself.If there is interestI 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 mewhats neededcompanion homesplug in wardrobes like the default one I providedcompanion quests (I will be making some of my own as an example of what can be done)Adding Companions=================CopyLicensing/Legal===============Please do not modify or redistribute the ExtremeCompanionControl.esm or espall 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 More sharing options...
khravv Posted November 27, 2009 Author Share Posted November 27, 2009 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 More sharing options...
rdamstrom Posted November 27, 2009 Share Posted November 27, 2009 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 More sharing options...
QQuix Posted November 27, 2009 Share Posted November 27, 2009 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 More sharing options...
grmblf Posted November 28, 2009 Share Posted November 28, 2009 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 More sharing options...
Recommended Posts