How NPCs should be handled in 4.0

Don’t hurt me, I promise this isn’t a “LOL ADD BANDITS THAT ROAM THE MAP, BUILD BASES, COMMUNICATE WITH PLAYERS, CRAFT ITEMS, AND YOU CAN LOOT THEM AND TAKE THEM DOWN IN EPIC WAY !!!” sort of topic.

Note: I’m not quite sure why I decided to write this, or how I even did so in the first place considering its 2 am right now, but I figured I might as well lay out all of my thoughts and ideas for how 4.0 should handle NPCs.

Currently we have “vendor” npcs, or npcs that sit there and give you a quest or buy/sell things. 4.0 looks to be adding AI to NPCs, so I believe we should have a good balance between AI and vendor npcs.

Basic NPCs should by default not move or be killable, just like current npcs. Further scripting can be put in to allow for basic movement or other actions, like drawing a weapon, patrolling, or turning hostile on the player.

One thing I’d like to say about store npcs specifically is that they should not accept XP unless otherwise edited to do so. When it comes to setting an item’s price, it should also have the option to have an item, and how much of that item is needed, in order to buy it. A few quick examples would be a camp axe being worth two ten dollar notes, a backpack requiring two canned beans, or a box of ammo being worth 400 xp.

An example of a vendor npc would simply be the current npcs. They’d be a bit more flexible than their 3.0 counterparts, with the ability to move (if set to do so), as well as quest specific actions.

One example would be a bandit npc, who asks you to get him a gun in return for some food and water. When you give him the gun, he turns hostile, and begins shooting at you (somewhat like a turret) after a small pause.

However, there should be another type of NPC labeled in whatever sort of editor we get called “AI NPC.” These npcs already have basic AI (which can be increased or decreased depending on how the npc’s difficulty was edited) and can be hostile, neutral, or friendly, as well as having reputation factor in, much like it can in current npcs.

These npcs would work off of navigation zones like current zombies in 3.0, with more specific nodes available that can be manually placed or possibly generated. These would include Cover, Sniper (aka high ground), and Patrol, among probably others.

A simple example: AI NPC wearing Forest military set is set to a patrol node in a navigation zone. The NPC is set to hostile for all players, and is equipped with a random weapon, set between an Eaglefire, Maplestrike, and Heartbreaker. The NPC detects a player in its field of view and opens fire, moving behind cover. The NPC is killed by the player, awarding the player 100 XP. The npc drops a military magazine, as dictated by the loot table it was set to drop, much like a zombie.
One idea I’m somewhat on the fence about is the ability for npcs to drive/ride in vehicles. One example I could imagine working quite well would be some npcs in a runabout set on a patrol node, and the boat coming to a stop when spotting players. An attack helicopter with a set zone (and I suppose aerial navigation?) forcing players to take cover or shoot the helicopter. However, it starts to get a bit weird when you put them into say ground vehicles. NPCs in a tank just wouldn’t work out. Perhaps that could simply be disabled, in regards to ground vehicles?

I think however, the only way all of this could happen would be some sort of NPC editor, even if it was basic, and somewhat like say, the devkit in terms of ui and such. I do realise there are some complex ideas in here.

Overall, I think “bandit” npcs should not roam the map, should not build bases (although on official maps, there should be bases that show where bandits are, that are rather uniform in apperance), and should not change with difficulty, but rather change depending on how they were edited.

Servers should have the option to turn all npcs peaceful, but I’m worried this would mess things up, so npc options should be rather limited. Certain maps may require npcs to be hostile in order for quests and such to work right.

TL;DR: NPCs should be divided into AI (moving npcs with navigation) and “vendor” (npcs that do not move by default and give quests or sell stuff generally), and there should be expanded options for customizing npcs, as well as a at least basic NPC editor.

Thoughts?

4 Likes

i think generally this is alright, as long as the AI NPCs are actually good at what they do. the only thing worse then intrusive AI is bad AI.

:dagger::exclamation:

Should’ve slept a bit. Decent post but questionable self-imposed limits. Fortunately, my response also functions as Molt’s NPC suggestions post, so my replies aren’t always really about the quotes. I’m just going to kinda touch on what you say, then do my spiel on stuff. Thanks! :smiley:

At this point people define NPC as so many different things. I’m going to divide this differently, because I don’t see a reason for Unturned to have quest NPCs and vendors outside of safezones ever.

With that in mind, we have Safezone NPCs (passive, quests, friendly!) and Open-World NPCs (they hate your guts, and are basically unaffiliated with everyone besides maybe each other because unimportant reasons!). This categorization would work better in my honest opinion, and I will :dagger: anyone who thinks otherwise just because they want to be friends with all the aggressive Open-World NPC bandit thugs.

(They’re secretly the same though, it’s just how interactions with them are handled officially that’s different.)

If people wanted to be friends with bandits, a mod could do it for them. They’d most likely shoot animals and zombies, so a mod could technically probably just set a “faction affiliation flag” on the player to be the same as some NPC bandits, and that could allow for two separate Safezone NPC factions on a map to have Open-World NPCs run around and kill anyone not affiliated with them. Not really the thing the game needs though, so I don’t see this ever being officially implemented. It might be cool on big custom “war servers” I guess.

Humanoid Safezone NPCs sit in their safezone. They can move if an AI path is setup for them, or if a flag from a quest or dialogue dictates it. If they’re not important, they could just wander around an area (probably server-side for wandering). They’ll never turn hostile on you, although without doing your typical introductory quest, having a bad reputation, or any other flag-related stuff could just prevent you from entering the Safezone NPC’s headquarters. Think of how Greece (post-patch) handles it, basically.

Animal Safezone NPCs can function exactly the same way. Turret Safezone NPCs (because nobody cares for the non-humanoid things) could shoot and zombies, hostile animals, technically Open-World NPCs. Its shooting functionality isn’t limited to machinery however, you could technically just enable shooting AI on your humanoid Safezone NPCs too.

Mods and certain flags could probably allow them to shoot unaffiliated and/or low-reputation players, but this might not be used for any official content.

Open-World NPCs aren’t technically “open-world.” People keep asking for them to spawn anywhere, which makes the idea entirely about having bandits shoot you rather than improving the game, in my opinion. A better use of these bandit thugs would be to have them spawn at high-tier areas, such as deadzones and military bases, very rarely. Having packs of twenty constantly seems pointless when I’d rather be surviving against real player combat, animals, zombies, my status bars, and the environment in general. Fighting bandit AI that has to pretend they can’t aimbot–hitscan me is kinda silly.

So? Have them do limited wandering (or patrolling) around the exterior (or roads nearby) of a military base. Or better yet, so they don’t interfere with the zombies there and make it easier for players, have them spawn in deadzones instead then, or at zombie-less but loot-full abandoned mini-locations. Maybe have them Open-World NPCs spawn far away from, but slowly move towards, airdrops coming down. The only problem I have with that is:

  1. Players shouldn’t be severely punished for trying to sneak out with airdrop loot as a fresh-spawn. If you get it, you should usually deserve it.
  2. It’d be annoying to have Open-World NPCs suddenly come up through an area that should have been safe and cleared by you. Tweaking would have to be done to ensure that it’s a fair system.
  3. Airdrops shouldn’t just have a ton of guns in them. The container should pool from either a more expansive item table with actual survival items, or there should be multiple airdrop types with different possible loot depending on which one drops. Open-World NPCs could possibly only spawn because of certain airdrops, or more rarely for some than others.

But, yeah. It shouldn’t really go for “open-world.” I’d rather see them punish players trying to near an end-game instead of just anyone going about there day. (Because friendly interaction with these pond water scums is out of the question :exclamation:)

Sure. Bartering is fine by me. Experience is fine by me. An actual currency is fine by me. All of the above is fine too!

Yep. That’s fine and dandy too.

Get out of here with that. :angry: This ain’t some epic boss fight bullocks. Their head meats :meat_on_bone: my sledgehammer if I’m that close. No quests for them or riot :exclamation:

The AI of Open-World NPCs should always be consistent regardless of everything. Maybe an option to let people increase how much they want to fake being able to aimbot–hitscan (accuracy percentage slider)? For the most part though, it really should just always be the same, and that “same” should be good.

Weird way to put that they can have “limited movement areas,” but that’s fine otherwise. That being said though: stuff like “good cover spots” and “good sniping spots” is usually something you’d chalk up to the navigation generation. It’s something the AI just “understands” in-game. A minimal requirement of manually placing nodes like that would be preferable for everyone, likely including the player’s system.

That’s a ton of experience. :astonished: It should probably be lower, unless they are aimbot–hitscan :exclamation:

Let’s all take a second to remember that many people want the loot dropped from killing zombies to make more sense, at least when it comes to clothing. Time is up, let’s carry on!

I am too. I think it’d be better to fully commit to the “not actually open-world Open-World NPCs” and just create an AI for the vehicle. The vehicle is driving itself now, not some pond water algae of a bandit! Pretty straightforward.

  • Open-World NPCs never get out because they don’t actually exist.
  • They can patrol even higher-tier areas, or the road network surrounding them.
  • We don’t have to focus on not being roadkill from evil cars. Instead, we can focus on not being shot by tanks and attack choppers (and crazy machine-gun boats???).

It’d actually be nice to have a server-side boat AI come and pick players up so us fresh-spawns don’t have to swim to something like, say, a giant aircraft carrier piloted by, say, a coalition aimed at bringing the world back together while naked. Like, meet me halfway or something, please? Thanks.

Not at all something I’d die without though. Just a thought that maybe a certain NPC faction should care more about their only good member. Maybe.

I think it makes the most sense to be honest, if it was going to be a thing.

Not really. I mean, yes you’d need a special menu for toggling stuff on-and-off easily I guess, but I don’t see this as too complex besides the part where Nelson programs AI. In terms of complexity: AI -> quests and flags -> vendors -> dialogue -> aesthetics.

It’s just a lot to manage, more than anything, which is where the tool would likely be useful. Of course, this depends on whether or not you have to mess with everything every time, or if choosing a certain AI type would give you different options.

If there was a tool?

  1. Make it feel like an external piece of software.

  2. Simple application of aesthetics, or allow for them to spawn with different aesthetics randomly similar to a zombie in Unturned 3.

  3. Manage dialogue through a dialogue tree. Allow for the generation of subsequent IDs not just manually but also automatically: either infinitely from a starting point, or exclusively from a set range that, after it caps out, would require increasing your range (or adding a second rang) before allowing the creation of more things.

  4. AI pathing is done on a per-map basis. No tool should handle this automatically for some odd reason.

  5. Simple checkboxes for things that are simple “on/off” types of things. This would include automatically ensuring that any item they have equipped visually (including weaponry) could be dropped regardless of any spawn table hooked up to it.

  6. Setting vendors up in a way similar to a tree map wouldn’t be awful. The alternative would be to just display it like it would be in the actual vendor UI, but with the ability to edit costs and stuff on top of it.

  7. Quests and flags are far more complex in comparison and I’m unsure if the tool should handle them. Technically quests could be handled partially by the dialogue tree, but the flags for quests (flags in general really) are its own thing. Maybe require setting up all the flags in its own spots, then they can be easily imported and “automatically situated/adjusted” into the dialogue tree system?

  8. Let Nelson make the AI(s), and allow for modders to more-or-less easily create their own compatible AI for some reason if they wanted. Not sure why the tool would cover that to begin with, but still.

  1. Agreed.

  2. Agreed (although I think it’d be better to have them spawn more individually rather than in large groups, and having them spawn at places of interest rather than encouraging them as just being an end-game battlegrounds for more loot would also be better).

  3. Agreed (with only the former part, not the latter).

Shouldn’t be a point of them all being “peaceful” to begin with. Server option to straight-up delete them (Open-World NPCs) from existence, which could possibly be a default on “Easy difficulty”. This wouldn’t mess things up unless for some reason the map makers make it also disable all of our Safezone NPCs too. If the worry was having a quest for killing bandits, just have it so a separate dialogue flag goes off there instead and it skips the quest. Let custom content creators throw a free “quest completed” flag onto that alternative dialogue too, in case they think it’ll mess up any “required amount of quests completed” flags.

4 Likes

Lemme start this off by saying, why should you have to mod the npcs to do things that could easily just be set to a different flag? Those things should be editable by default. On the official map though, you certainly should not be allied with any AI npcs.

I do prefer this in terms of wording. This makes more sense.

This should be the case for official maps, but there should definitely be an option to change how they interact with players like I mentioned in the post. Hostile, neutral, or friendly, and then also reputation.

Again, just why? This seems… pointless. The option should be available to the player in whatever sort of npc editor we get (if any).

I’ll admit the whole turning hostile thing is kinda sketchy, and I’m not really sure now if it could work out. I think the thing that should prevent players from entering NPC headquarters would be armed guards and/or turrets shooting at you.

I think something neat would be to expand these further, and allow for them to be placable in other, non-safezone areas, and thus allow them to fire at players using the same method as normal AI npcs. I’ve always felt that turrets would likely be a better option over bandit npcs at high loot level locations, as players may be confused and think they’re fighting players. Turrets, on the other hand, are rather obvious.

Refer a bit to what I was saying about the turrets. It’s why I figured bandit npcs should be in semi obvious structures, alerting the player that they are there. I’d have no issues with one of these areas say being a deadzone with loot in it, or even deadzones that have both zombies and bandits. I think for the simplicity of it though, zombies would target players over npcs. And the number of npcs should be judged by the map. If you want some sort of pirate compound in a cave by the water with patrolling npcs and shit, then you should be allowed to do that.

This would be dictated by the map, but I feel like this would be an issue, especially on maps like PEI and washington. It’d lead to player confusion as well. Again, I have support for them in deadzones. And perhaps a military base taken over by bandits could be a non-deadzone location that players go up against.
They should not interact with airdrops. Simply put. I do agree that airdrops should be reworked.

Again, looking back on it I’m unsure about it.

Their difficulty should change, because that’s how progression works. I don’t want basic bandit npcs with crappy civie gear pulling off the same stuff as full on geared spec ops npcs in a deadzone.

There’d probably be three or four settings for difficulty, and each one would effect reaction time, accuracy, reload speed, and probably some other hidden factors.

This would allow for better npcs to be in better locations.

That was just an example. 20 xp is probably a more reasonable value, judging by the npc.

I think a much easier thing to do that would still allow for npc vehicle combat would just be a restriction on ground vehicles (which I guess could probably be modded past) to prevent people from having say an army of npcs in tanks. I’ve always wanted to see a heli or a boat doing patrol runs and both of these examples could easily stop in place or move slightly to attack you.

That’s just being lazy, and adding something unnecessarily complex for how little it gives off.

But how? It’d be a literal AI tank, trying to move around and shoot players. It’d be unfun to fight, and players would have to be extremely geared to take it on. I think what I said before would work. If not, and AI are allowed to drive ground from the start, then maybe have a hidden speed reduction, so they don’t become crazy player killing death machines? They’d sort of just drive around slowly and advance near the player, allowing other gunners/npcs to shoot at players. Although planes should outright be restricted.

What you said on the npc editor makes sense, and what you said about servers is likely the most damage-free method out of a possibly damaging situation.

That’s why you could just set a flag for it. Wouldn’t be difficult, just wouldn’t be a flag ever utilized in official maps. If the flag didn’t exist to begin with, because Nelson figured he’d never need such a thing, it shouldn’t be hard for people to add a flag through modding anyways.

Since Open-World NPCs and Safezone NPCs are technically only different in name, that’d technically be possible without any additional effort. Might be a bit weird to have machinery shooting at you, but oh well. :man_shrugging: It could be used on cameras or drones or whatever crazy stuff people want to do. It’s all the same at that point.

Definitely, hence the “war server” thing I mention. My post primarily refers to how it could/should be handled with other official content.

I said this too, later down in the section about an AI tool. Pathing should always be handled manually on a per-map basis.

As for road system stuff, that’s just assuming we have better road networks than we do now. If anything was to patrol the current roads they’d just end up all over the place. In 4.x it’s possible (been wished at?) for that larger maps and better road networks will exist.

To clarify, I meant camping the airdrops, not taking loot from them. To be fair regardless, even in my original reply I imply I’m skeptical of it. Just trying to get the fodder ideas in there too.

Assuming they were only used to add difficulty to the end-game (on official maps), I don’t see where they’d need a more simple AI. But if people wanted to make them harder, then yeah:

is fine. Kinda wish reload speed and such was limited by the skill system real players have to use, but that’d be a bit limiting on content creators.

What if I want to be lazy! /s

and a late but required /s for my original post too.

I feel like that’s the point. It’s more end-game, and you have to actually work with other players or be geared to kill the tank. Other games do it iirc, and it works fine for them too. I’d have more fun against that (assuming the location it spawns was built with it somewhat in mind) than trying to not be roadkill. Of course, I’m comparing those to with the tank not instantly blowing everything to bits with 1000 damage. Generally closer to a far less notable number below a tenth of that, since it’s AI and we have our own real tank-wielding maniacs already.

I mean yeah it’s some epic boss fight bullocks :dagger: but that’s kinda every Gunship vehicle AI isn’t it?

-200% speed. Will they go farther away as they try to get closer, or will it chase me in reverse? :thinking: /s

I might second this just because of the unintentional kamikaze factor more than the whole “I’m getting shot at!” thing.

1 Like

To be honest, I wish they would use Money, as in 3.x money is just, worthless and useless. I know it’s an apocalypse, and that money would lose it’s worth as the economy has fallen apart. But it would be nice to have money become what useful.

1 Like

I fail to see how this 3 month necropost helps the topic in any way as
A: I mentioned money in the OP (which you should have read but likely didn’t)
and B: It’s not really a reply to any of the posts and isn’t contributing much.

Please read the dates next time. It’s fairly annoying to get a notification 3 months later on my own topic that clearly died out.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.