NPC Ineraction with Systems, NPC's etc

    Lone_Puppy

    Me, myself and I.
    Joined
    Mar 12, 2015
    Messages
    1,274
    Reaction score
    529
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 8
    Was looking at the post Populate the world with neutral NPCs, not just monotonous factions by apelsinsaft and started thinking about what would be a quick way to have this happen.

    I thought about, what would the NPC's be doing and how would they know what to do and how to do it.
    Then I thought about how do we get them to do things on our ships and how would they know to open doors by pressing buttons, or deploy shuttles, drones or fighters on carriers etc.

    Then it occurred to me. How about a block that we can connect to logic, computers and maybe even display modules for dynamic change of orders or priorities.
    Maybe this block could be a logic block or a permission block or perhaps integrate the function into permission blocks.

    The block would have the following abilities
    • Configurable like a ship remote, where you can give it a name. Perhaps it could be placed on the hotbar also for player in flight control.
    • It could also have a function option. With perhaps a similar display like the display block for easy identification and dual purpose.
    • It could be connectable to logic, computers, chairs and maybe beds or other functions. Using C/V controls to select and slave.
    • Function Labels could be built in like the display variables.
      • [door]
      • [computer]
    • Could also have an additional variable or category for skilled operation. This would require an NPC with a certain skill or level to operate.
      • Engineer - can operate all effect, scanner, astrotech computers
      • Pilot - can fly ship, operate weapons computers and certain engineering computers
      • Doctor - Can heal NPCs, operate astrotech computer
      • Captain - can do everything
      • or maybe Skill Level 1, 2, 3, 4
    Example uses;
    • Slave a door button so the NPC's know it is a button to open the immediate door. Perhaps a directional control may be required here like that in the shipyard anchor for orientation. Would also help in the case of roof/floor hatches.
    • Slave weapons, effect, whatever computers or associated chair for NPC to take appropriate control of said system.
    • Slave a medical cabinet
     
    Joined
    Apr 23, 2013
    Messages
    111
    Reaction score
    41
    • Legacy Citizen 2
    • Legacy Citizen
    There are many ways you could have this work but most of them require there to be some degree of intelligence from the NPC's side. For an NPC to know that it needs to pass through a door to get from A to B, you need to make a distinction between what is a "door" and what is a "wall that happens to be docked to this ship". I suppose a lot of these things could be defined by the player like you said, with a system that lets you define for NPCs what button to press in what situation, which could definitely lead to some nice things. (NPCs that know how to use elevators!)

    As for slaving weapons and such, i think another way would be for the weapon computers to have a tick-box for letting NPCs take control of it.

    I like the idea of having NPCs with individual "skill levels", so you have to go hunting for NPCs with good stats which promotes exploration.
     

    Lone_Puppy

    Me, myself and I.
    Joined
    Mar 12, 2015
    Messages
    1,274
    Reaction score
    529
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 8
    Intelligence levels would also open up the possibility of schools or self training similar to SIMs.
    Speaking of which, there is already AI in SIMs. All we need to something similar.
     

    Raisinbat

    Raging Troll
    Joined
    Dec 29, 2014
    Messages
    459
    Reaction score
    269
    I absolutely can't wait for crew just being 2-5 NPCs standing around on your ship and providing passive bonusses, the salt piles will reach for miles :LOL:

    Do you seriously expect starmade to have pathfinding for hundreds of NPCs calculating 3D pathfinding across multiple entities across hundreds of ships on multiplayer servers with revolutionairy features that no other game is capable of? The game can barely handle 3 or more ships fighting each other and you want to pile this on top? My god these forums are delusional.

    What is this even supposed to add to the game? It's another gimmick based on novelty alone, nothing about crew is going to be fun because it doesn't solve any of starmade's major issues, it's factions all over again, combat will suck with crew, faction warfare will suck with crew, trading, crafting and mining will suck with crew, it doesn't affect anything, just another laser pointer feature for schema to chase around until everyone loses interest. :schema:
    [doublepost=1494333141,1494332133][/doublepost]
    I like the idea of having NPCs with individual "skill levels", so you have to go hunting for NPCs with good stats which promotes exploration.
    Have you ever played X-rebirth? Running around getting those NPCs is horrible enough on its own, you wont even care what skill level they are, just getting it over with as fast as possible will be your priority, and you only need 3 crewmen per ship in that game, clearly not what you're looking for.

    What happens when you gather crew for 200 ships, is that going to be fun? Running around interiors for hours talking to hundreds of copy pasted square faced yes-men all with the same dialog in order to get your ships to work. There's a damn good reason every patch since released and half the game's mods are based around eliminating crew interaction as much as possible because it isn't fun and the hype addicts on these forums cheering starmade on as it's making the same idiotic mistake of centering the game around novelty rather than gameplay is just sickening.

    Please stop.:sick:
     
    Joined
    Apr 23, 2013
    Messages
    111
    Reaction score
    41
    • Legacy Citizen 2
    • Legacy Citizen
    Have you ever played X-rebirth? Running around getting those NPCs is horrible enough on its own, you wont even care what skill level they are, just getting it over with as fast as possible will be your priority, and you only need 3 crewmen per ship in that game, clearly not what you're looking for.

    What happens when you gather crew for 200 ships, is that going to be fun?
    I think it's a good argument. Maybe running around looking for NPCs and going through a tedious process to hire each one individually is not a good solution. It definitely sounds like a lot of trouble for what would likely be not much more than glorified buff-holding chair-sitters. The amount of crew that a ship would need is also up there to be discussed, i don't think we're going have hundreds of crew on a ship. Imagine designing a ships interior to accomodate that many NPCs, it'd be hell. Soft capping a ships capacity around ~20 crew definitely sounds more reasonable.

    What if, when you approach a station or ship which houses a lot of idle NPCs, you can interact with the captain or mayor or warlord or whichever NPC leader would be relevant, and ask him to give you a list of NPCs for hire so you can scroll down a list and click on the ones you want to hire? And then you would presumably have some way like in the OP to designate a "boarding zone" to where all the NPCs will try to pathfind in order to board your ship. Or just beam them up, whichever is the most convenient.

    Do you seriously expect starmade to have pathfinding for hundreds of NPCs calculating 3D pathfinding across multiple entities across hundreds of ships on multiplayer servers with revolutionairy features that no other game is capable of? The game can barely handle 3 or more ships fighting each other and you want to pile this on top? My god these forums are delusional.
    The NPCs would likely only have to pathfind when they actually have to move, and unless you actually create your ship like a maze i don't think it would be much issue. Worst case scenario is everyone would have to create perfectly straight corridors leading to an airlock on the outside, but a lot of people already do that. Assuming NPCs don't just magically appear in your crew quarters once you hire them.

    Once in the ship, an NPC could establish a couple paths between designated rooms that is relevant to the NPC and only pathfind towards the end node on the path, from there it just assumes you didn't place something you didn't define in front of it. This wouldn't be too taxing for a server to handle.

    On to the subject in the OP, i think pathfinding could also be eased by having an invisible "pathing node" block which you can place, and slave/master to other pathing blocks to create paths. Once a path is created, the game pathfinds between the nodes once and saves the path so any NPCs trying to move between those nodes doesn't have to pathfind constantly. These node blocks would also be able to be slaved to the systems described in OP, so after reaching a node for example, the NPC will try to press a button before moving to the next node.

    In the below example, there is a corridor with a door blocking the way. You would link the blocks to eachother like in the example, where when you have a node before a door, you slave the button that controls the door and the NPC will, after reaching the node, press the button before continuing. Same thing on the other end of the door, the NPC will reach the node, go press the button to close the door, and then continue.


    This could again be expanded to where if you slave a node to a logic input, an NPC will only continue to the next node if that logic input becomes true.

    Lots of possibilities to explore here.
    Please excuse my mspaint skills
     
    Last edited:
    • Like
    Reactions: Lone_Puppy