Jump to content

  • Log In with Google      Sign In   
  • Create Account

Asynchronous Interaction and Faux NPCs


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
12 replies to this topic

#1 AltarofScience   Members   -  Reputation: 934

Like
0Likes
Like

Posted 26 January 2012 - 12:04 PM

Crossposted from my thread on MMORPG.com because they don't necessarily have the ability to see the developer perspective:

I would have put this in the Sandbox Subforum, except the administration couldn't spend 5 minutes to make one...
I am primarily looking for feedback from Sandbox leaning players, both in relation to my game and about this type of thing in general. I think it would allow for some great socializing and infact add incentives to socialize to gain access to these features as well as making it possible to defend and attack and do economic things even at non peak hours.
I guess I can't stop themepark players from coming here but I will ask that they try not to derail, or flame sandbox games and things like that.

If you read any of my posts you know how I feel about so called "persistent worlds" and "MMOs" of the themepark style and how they are really just coop RPGs with graphical lobbies instead of text lobbies.
As part of my game project I have been trying to create a truly persistent world style. I want characters actions to have permanent or really semi permanent effects on the world like killing creatures and having them gone for ever and having non instanced housing and having creatures launch real time raids on player made settlements.
One of the problems is that dynamic content can be missed and that a raid could happen while a lot of players were offline.
I have also been on a quest to add REAL social functions to games. Not just stupid world chats. World chats and seeing other players in the graphical lobby as you run by while neither of you perform an action which actually effects the other person are not massively multiplayer features.
Since the possibility for synchronus interaction in the game world is limited because people have lives I have been forced to attempt to come up with forms of asychronous association.
This is one of my efforts in that direction. Faux NPCs. Faux NPCs cover many different features that I have integrated into one overarching structure.
I want to make a game with no NPCs. None. Screw that. No premade towns and shops. No quest givers. No town guards.
How do Faux NPCs fit into this framework? Aren't they NPCs? Didn't you just say you want games with no NPCs? How do "NPCs" fit into any sort of social system?
The answer is simple. The "NPCs" in the Faux NPC system are players. Just players that are offline.
The Faux NPC system covers many different features:

Player shops. This system is designed for Fantasy games, so no we do not have robo servitors to run shops. Shops can only be interacted with in a few ways:
Listservs. This is a pun, god. The permissions systems including storage and guilds and kingdoms and such are managed with lists. These lists provide both access to chat channels, and every single chat channel in the game was created by players except the worldgate chat where players spawn, and these lists can be used to set permissions. For instance a guild is composed of a series of lists:
Main guild chat- Every player on the guild is on this list and may chat here. This list is assigned to guild strorage and buildings based on what the leaders want to be accessible to the rank and file. For instance it may be used to permit access to a guild hall or let you use guild crafting capital or for a chest containing basic gear so that every member of the guild can start with half decent stuff.
Any number of specialized chats-This can include the guild leader and/or a guild council chat/permissions list, maybe you have an elite group in the guild lower than council but higher than member. You can have as many tiers of positions as you like. Maybe the crafters in the guild have a private channel just for themselves to organize.
The way this functions with shops is that you can set storage facilities in your shop to allow people to take items and put an amount of gold in another storage device. In this way you can have say a box for each of your most loyal customers and when you finish a custom order for them you leave it there and they put in the purchase price in gold in return.
Similarly you might keep a supply of lower level gear for sale as public or guild storage. This may not be the safest thing but its a sandbox so do as you please.
I call these system listservs because you have a permission list and you can serve those people without actually being there if you think they can be trusted.

That is one thing you can do with shops. There is another and this is the part which is actually a Faux NPC feature. When you log off the game your character is not logged out. Ever. Come on guys, truly persistent worlds need a truly persistent populace. You can set orders for your offline character. For instance you may want them to travel back to the worldgate because its a sort of safezone. But that isn't the real purpose of the system.

The real goal of Faux NPCs in shops is this:
You can set your character to travel to your shop while you are offline. A Faux NPC can perform many of the actions of a real player. You can sell goods with the merchant system Essentially you set items in the store to a price and any player who wants the item opens the merchant dialogue. They then pay the cost and receive the item just like an NPC shop interaction.
Similarly a player can put in a crafting order with the Faux NPC. Then that NPC can craft that item as if you were actually online to do it. You would have to set the orders for this and a price for items. You would get the same crafting experience as if you crafted the item yourself.
A note here: If I create the crafting minigame system I want insted of a click to craft system, you may lose a % of efficiency in the result of the crafting since you aren't online. The computer will act as if you had been on and crafted at say, 70% efficiency or something. I haven't worked this all out yet. Some crafting functions like enchantments may not have a minigame and should perform at 100%.

Faux NPCs are not only shopkeepers. They can perform any other actions.

You can set your character to have battle orders of many kinds with different triggers. If monsters raid the city while you are offline you can have your orders set so that your character protects the town. You can allow for an automated defense script or you can customize the actions of your character in battle.
You could have them man the walls or defensive implacements or cast spells if they are a mage or join other Faux NPCs in archery from the walls. Bascially anything you could do normally but without being as smart about it.

I have an idea about a thief functonality which I think about for entertainment purposes but which probably won't go in the game. Essentially players can try to rob other players, and you can set magic and physical, traps and have walls and chests and locks and such. And you can set your character to defend your property or even circle the town and try to stop theives, sort of like a guild or town police force.

One of the other really interesting aspects involves guilds and friends. You can set your character to be controllable to a degree by any other player using the list permission system. For instance if your guild is doing a raid and you aren't online they can follow the guild and assist them in combat missions as a Faux NPC.
On a more personal level you could allow guild explorers or research gatherers to bring your character along to help protect them while they are gathering resources. You could carry resoureces for them also.
This sort of functionality will make the game a much more social experience and allow players with social or guild connections to essentially "find a group" even though there are no NPCs and no stupid LF tools.
It allows for you to help protect group assets even if you can't be one, so that you don't feel so pressured to log in all the time if you have a life. This will allow casuals to contribute to the game. Indeed players will be able to level fighting skills and gain map information and level crafting and such without being online.
There will be some restrictions like people not being able to steal your gear and screw you over and such.
What do you guys think?

Sponsor:

#2 eugene2k   Members   -  Reputation: 237

Like
0Likes
Like

Posted 26 January 2012 - 01:24 PM

My major concern with having the AI control the PC when the player is offline is the processing power required to control all the players that are offline. Eve has 250000 _active_ players. That means your system would have to control 250000 entities at once, as opposed to current systems that only control a few hundred npcs. I suppose this isn't really a problem for subscription based MMOs, but it will be a problem for free-to-play MMOs.

On a side note. I think I saw a video somewhere about an mmorpg with a similar concept. Can't remember anything else about it, though.

#3 AltarofScience   Members   -  Reputation: 934

Like
0Likes
Like

Posted 26 January 2012 - 01:29 PM

My major concern with having the AI control the PC when the player is offline is the processing power required to control all the players that are offline. Eve has 250000 _active_ players. That means your system would have to control 250000 entities at once, as opposed to current systems that only control a few hundred npcs. I suppose this isn't really a problem for subscription based MMOs, but it will be a problem for free-to-play MMOs.

On a side note. I think I saw a video somewhere about an mmorpg with a similar concept. Can't remember anything else about it, though.



Well I think that the player market for this game is 25000 tops? And if you are not in the game or do not do anything for a month you will get logged out. And also if a player doesn't set orders, they will just stand there or go to the world gate zone. But yes I am concerned with the technical hurdles.

I would really like to see what other people are doing with similar concepts. I personally haven't seen any ideas similar to this in my travels across the mmorpg web but I'm sure someone has thought of it.

#4 Waterlimon   Crossbones+   -  Reputation: 2564

Like
0Likes
Like

Posted 28 January 2012 - 12:23 PM

I think you could have a nice system where you can create a schedule for the character. You could make it whatever lenght (repeat every hour,day or month?)

You could make these blocks which tell the character how to do a single task (like hunt some monster, which requires finding them and killing them and lets say selling the drops) and then you could insert those blocks into the schedule (so you can do the same task multiple times in the schedule without rewriting the task)

The tasks themselves could be made using smaller blocks like go-to-some-place and kill-monsters-of-one-of-the-following-types and sell-any-x-items-for-these-items or even a simple scripting language for hardcore players.

Then, you could also have tasks that are done when something special happens, like if the town is attacked.

o3o


#5 AltarofScience   Members   -  Reputation: 934

Like
1Likes
Like

Posted 28 January 2012 - 02:24 PM

I think you could have a nice system where you can create a schedule for the character. You could make it whatever lenght (repeat every hour,day or month?)

You could make these blocks which tell the character how to do a single task (like hunt some monster, which requires finding them and killing them and lets say selling the drops) and then you could insert those blocks into the schedule (so you can do the same task multiple times in the schedule without rewriting the task)

The tasks themselves could be made using smaller blocks like go-to-some-place and kill-monsters-of-one-of-the-following-types and sell-any-x-items-for-these-items or even a simple scripting language for hardcore players.

Then, you could also have tasks that are done when something special happens, like if the town is attacked.


No that is the opposite of what I want. I do not want players to automate their characters. Why put in time if the game plays itself? I want to integrate asynchronous interaction to avoid some of the problems that games face where not everyone can be online at the same time and there is a lot of trouble forming groups if you pick a non peak time for your guild.
I want to avoid any and all LF tools or instant travel but still have people able to play. And I want to allow people to buy items even if a crafter isn't online but I do not want NPCs that are not enemies.

#6 kanapka   Members   -  Reputation: 100

Like
0Likes
Like

Posted 30 January 2012 - 07:41 PM

I'm trying to solve a similar problem - asynchronous interaction for a browser rpg game. We have the resource gathering, crafting and trading systems similar to what you describe (somewhat) done, but it this approach breaks at combat system and keeping a faux NPC safe.

The point is that non-combat actions can be queued and done by some mindless AI, but setting tactics for fighting and relying on AI to execute them puts your character's life at greater risk than doing the fighting yourself. I fear that it'll be easy for a logged-in player to employ superior tactics against faux NPCs and lead to a situation where you need to be online at all times instead of having a life - fNPCs can be easy prey for players, so you'd want to minimize the time you need to rely on AI to keep you alive.

You gave an example of faux NPC defending a town from a raid. That means you need to make sure the fNPC can stay close to logged-in players, knows when and where to flee (when it won't be possible to defend the settlement), doesn't get surrounded by an overwhelming enemy force and so on - seems to me that there's a lot of things that can go wrong, cause a character's death, loss of items/experience and piss off a player.

There's also a problem of making decisions that belong to the player, like 'should I use the Awesome Potion Of Healing That Heals Instantly But Is Rare or should I use something weaker and try to dodge attacks for now'. Of course it can be done with preset tactics, but this can lead to players essentially scripting their own AI to keep their characters alive.

About other players controlling fNPC: I don't know what the fNPC to logged-in players ratio would be, but i suspect more than 3:1 (25% of players logged in at all times is 6h of playing a day, and they won't all be guarding fNPCs). Therefore in any combat situation every player would find himself responsible for keeping at least three AI-controlled (possibly suicidal) characters alive and giving them orders while trying to survive himself.

It seems that players will want to leave their characters in places where no significant fighting will take place and combat orders would be 'run like hell'.

Anyway, it seems like you have the non-combat stuff planned, did you plan more details on combat?

#7 jefferytitan   Crossbones+   -  Reputation: 2126

Like
0Likes
Like

Posted 30 January 2012 - 08:10 PM

I think the trick is perhaps to have limited responsibility for the faux-NPC's actions but also have limited benefit. For example, if would be bad if online players could farm faux-NPCs for loot or XP. It would also be bad if the faux-NPC got itself killed many times or used all your potions. Maybe they never use expendable goods, and there's no/little/capped benefit to players killing them? Similarly no/little/capped downside if they get killed. And you only get a little XP from their actions, e.g. 30% normal. But for being a merchant etc, sure. They sell what you allow to who you allow.

#8 swiftcoder   Senior Moderators   -  Reputation: 9994

Like
0Likes
Like

Posted 30 January 2012 - 08:38 PM

I would have put this in the Sandbox Subforum, except the administration couldn't spend 5 minutes to make one...

This is what the tag system is for - tag your post with 'sandbox', or whatever you deem appropriate.

It seems that players will want to leave their characters in places where no significant fighting will take place and combat orders would be 'run like hell'.

The simple solution is to disallow PvP for faux-NPCs.

The somewhat-more-involved solution is to have no death penalties for faux-NPCs (just a lengthy respawn timer), and allow them to draw from a standard pool of consumables (i.e. not the player's own stock).

Tristam MacDonald - Software Engineer @Amazon - [swiftcoding]


#9 n00b0dy   Members   -  Reputation: 103

Like
0Likes
Like

Posted 31 January 2012 - 09:07 AM

1) speed is not an issue, you can do it in a seperate thread/computer = 0 performance cost.
2) fact : computers are better in combat than players. A computer will interrupt your strong spells at (0.001sec) before spell finishes, thus stunning you for an 2 seconds than a normal human can achieve. A computer can execute a combo sequence flawlessly and there is nothing you can do to prevent it. A computer ai can dodge ALL your skillshots, no matter what you do. A computer can have better skillshot accuracy that you once it adapts to the enemy personality. Generally speaking perfectly designed ai vs player, ai wins everytime regardless of player actions.
3) allowing players to automate parts of the game is a valid strategy, if they find something "interesting" they play it, else they let the bot do its job.

#10 AltarofScience   Members   -  Reputation: 934

Like
0Likes
Like

Posted 31 January 2012 - 09:54 AM


I would have put this in the Sandbox Subforum, except the administration couldn't spend 5 minutes to make one...

This is what the tag system is for - tag your post with 'sandbox', or whatever you deem appropriate.

It seems that players will want to leave their characters in places where no significant fighting will take place and combat orders would be 'run like hell'.

The simple solution is to disallow PvP for faux-NPCs.

The somewhat-more-involved solution is to have no death penalties for faux-NPCs (just a lengthy respawn timer), and allow them to draw from a standard pool of consumables (i.e. not the player's own stock).


Sorry, I cross posted this from mmorpg.com and we had just had a big poll about whether we should have a subforum for sandbox people to avoid stupid themepark trolls.

I actually took out the PvP. The game is actually a sort of ATITDish massively cooperative multiplayer game against the environment.

The death penalties are not super harsh also. Defending the town is more than worth dying a couple times. Otherwise all time spent building town go bye bye.

#11 AltarofScience   Members   -  Reputation: 934

Like
0Likes
Like

Posted 31 January 2012 - 09:56 AM

I think the trick is perhaps to have limited responsibility for the faux-NPC's actions but also have limited benefit. For example, if would be bad if online players could farm faux-NPCs for loot or XP. It would also be bad if the faux-NPC got itself killed many times or used all your potions. Maybe they never use expendable goods, and there's no/little/capped benefit to players killing them? Similarly no/little/capped downside if they get killed. And you only get a little XP from their actions, e.g. 30% normal. But for being a merchant etc, sure. They sell what you allow to who you allow.


Players can not remove gear from faux NPCs. Also there is a permissions list of who can even use your character. You can also set whether the other player is allowed to trigger potions. They could always use their own potions on you.
Players get the correct amount of combat experience from creatures based on % of damage dealt.

#12 AltarofScience   Members   -  Reputation: 934

Like
0Likes
Like

Posted 31 January 2012 - 09:58 AM

1) speed is not an issue, you can do it in a seperate thread/computer = 0 performance cost.
2) fact : computers are better in combat than players. A computer will interrupt your strong spells at (0.001sec) before spell finishes, thus stunning you for an 2 seconds than a normal human can achieve. A computer can execute a combo sequence flawlessly and there is nothing you can do to prevent it. A computer ai can dodge ALL your skillshots, no matter what you do. A computer can have better skillshot accuracy that you once it adapts to the enemy personality. Generally speaking perfectly designed ai vs player, ai wins everytime regardless of player actions.
3) allowing players to automate parts of the game is a valid strategy, if they find something "interesting" they play it, else they let the bot do its job.


Computers are only better than players in some circumstances. I do not have WoW or GW style combos. Magic is also rare as you have to find it in the world as opposed to class selection.

#13 AltarofScience   Members   -  Reputation: 934

Like
0Likes
Like

Posted 31 January 2012 - 10:10 AM

I'm trying to solve a similar problem - asynchronous interaction for a browser rpg game. We have the resource gathering, crafting and trading systems similar to what you describe (somewhat) done, but it this approach breaks at combat system and keeping a faux NPC safe.

Depends on death penalties and possible actions by players and npcs. Depends on if and what pvp system you use.

The point is that non-combat actions can be queued and done by some mindless AI, but setting tactics for fighting and relying on AI to execute them puts your character's life at greater risk than doing the fighting yourself. I fear that it'll be easy for a logged-in player to employ superior tactics against faux NPCs and lead to a situation where you need to be online at all times instead of having a life - fNPCs can be easy prey for players, so you'd want to minimize the time you need to rely on AI to keep you alive.

I do not use PvP for my game for various reasons so I sidestep this issue. Generally NPCs would want to band together against players, would want to have safe zones, and you would want to minimize death penalties. Full loot ffa pvp does not make players happy in most cases, so choose your target audience and use the pvp mechanics they are likely to want.

You gave an example of faux NPC defending a town from a raid. That means you need to make sure the fNPC can stay close to logged-in players, knows when and where to flee (when it won't be possible to defend the settlement), doesn't get surrounded by an overwhelming enemy force and so on - seems to me that there's a lot of things that can go wrong, cause a character's death, loss of items/experience and piss off a player.

I suspect the player would be more upset to lose the town they built. All buildings in my game are player made. The world is huge so players can set 2 bind points and likely the backup will be away from monsters for respawn. NPCs will run on a separate code for settlement defense. If another player tags them for control they will follow the players instructions instead of their other code. You can set actions, like: man the ballista, guard the gate, spells to cast if you have any and so forth. Imagine the AI controls in an RTS where range tries to run if melee enemy is too close and so forth.

There's also a problem of making decisions that belong to the player, like 'should I use the Awesome Potion Of Healing That Heals Instantly But Is Rare or should I use something weaker and try to dodge attacks for now'. Of course it can be done with preset tactics, but this can lead to players essentially scripting their own AI to keep their characters alive.

Players who focus too much on their own character will lose out in the over all war against the environment. There are no insta heals for players or ceatures. At best Morrowind style hot heals, even with potions. All items in the game are player crafted. If you got the potion once you can get it again. Likely consumables won't be super expensive anyways. Its not like they stack. Something helpful might be to imagine the characters as the heros in Majesty. Except instead of rehiring player characters respawn. And the main goal is to protect the buildings that get you money and items and defenses and stuff. Its basically a giant RTS except instead of units, players.

About other players controlling fNPC: I don't know what the fNPC to logged-in players ratio would be, but i suspect more than 3:1 (25% of players logged in at all times is 6h of playing a day, and they won't all be guarding fNPCs). Therefore in any combat situation every player would find himself responsible for keeping at least three AI-controlled (possibly suicidal) characters alive and giving them orders while trying to survive himself.

Players choose whether or not to take control. Assuming the offline player has put them on the permission list. FNPCs will function based on player selected imperatives. So you could set them to fight with typical anti siege tactics. In any case players should expect to lose many settlements over the course of the game.

It seems that players will want to leave their characters in places where no significant fighting will take place and combat orders would be 'run like hell'.

Fat chance. There are no safe zones except perhaps the world gate and the world is huge. A single FNPC would probably not be able to make it across the wilds to the nearest settlement.

Anyway, it seems like you have the non-combat stuff planned, did you plan more details on combat?

I have maybe 10000-20000 words in various threads here and at mmorpg.com. I also have a website, its not very well made, as it is not my main priority and I also have documents describing all the features and interactions for economic, social, magical, political and combat related functions.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS