How intelligent and unique should NPCs get?

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    we need a character editor like EVE Online :)

    There you can select different hair, clothing, skin, eye color, ...

    I especially like some clothes from eve, but also the background for their avatars.
    If this gets displayed next to messages, players will get the feeling to be represented ingame

    Just imagine the chat displays the avatar of the latest speaker...


    Even if we don't have NPCs, just give the bord computer an image (the floating ghost is Carabatcho):
    Click images for more details



    A crew:
    Click image for more details


    Talk to the engineer to get more information about the use of logic or which system is damaged since you last left build mode or last saved a blueprint.
    Your engineers may also have repair beams for RP purposes (middle and middle-right)

    The guy to left really likes eating. Especially while talking over com.
    He may give you some bounty hunter quest or tells you somebody has a claim on your ship :p
    Can you imagine how difficult it is to decide which NPC has which experience, link every possible experience you want to include together (likelihood of experiencing a more specific B after experiencing A)?

    There are 1000+ possible experiences.
    ((Best example: Love = desire to have a best-friend + desire to be not alone + a natural drug + search for acceptance / confirmation + ... so many other factors to consider)
    - with enough of them you lose track where these emotions comes from. Especially if it is built by experiences before your forth birthday)



    The wish to kill somebody is usually suppressed by you feeling with peoples which are left without somebody they love. You naturally project this situation onto yourself.
    But it can also be suppressed by the knowledge that "if everybody does it, society as a whole would fail and you will fall back to stone-age and slavery with all around you".
    Or by fear of consequences (direct by law, indirect by how you appear to your environment)


    On the opposite there are factors which increase the probability for somebody becoming violent.
    Violent environments, a metal damage, ...



    Some strategy-game AIs use a lot of (here LUA) code (can be seen here: https://github.com/Tarendai/Shard/tree/master/data/ai for GPL-licensed springrts.com)

    "Supreme Commander FA" had code to check requirements grouped in code files and decisions like this:
    Code:
    Event A{
      weight = 0..1
      requirements = name(group x).name(function x) & ...
      unlocks = {event x, y, z}
      modifiers = name(group x).name(function x) & ...
      actions = name(group x).name(function x) & ...
    }
    
    ...
    And was similar to an interpreted language, interpreted by the Event-Handler (written in LUA).




    Based on my experiences, I would use a tag-system.
    Whenever an event occurs, tags of that event look into a dictionary to find linked/similar tags.

    Events are then checked
    1. against their very general pre-requirements which have to be met (like environment, character-attributes like passiv, lazy, hyper-active, ...),
    2. against their requirement of character-attributes (intelligence, strength, courage) created by previous events.
    3. and have a chance to trigger.


    The same tag-system I would use for a character's memory.
    It will look for experiences with similar tags and stop after 5. Old and more trivial experiences are on bottom of the list/database.


    Experiences have a chance to trigger. When triggered it could move to the bottom of possible experiences (or a pointer points to the next one) to make all characters have different.
    Of no one of the earlier triggers, an experience may trigger twice in a row, but that is more unlikely. Thus the same event may trigger different experiences based on a characters memory, association and character or intensity of the exp (avg: multiply intensity with probability /2).



    AI will behave more intelligent the more events are linked, the more are processed per NPC, the more experiences they already gathered, and the deeper the recursion level is set and the more unique possible experiences allow them to get.

    By adding events, we could make this system better. Not one, but many are able to do this.

    Don't forget that we humans need 10..20 years to learn proper math and programming. We have 2 parents, teachers and other poeples around us helping us to learn.
     
    • Like
    Reactions: Sage23 and Krazykat
    Joined
    Aug 30, 2013
    Messages
    1,744
    Reaction score
    323
    I've always had a dream of a game where all NPC's have randomly generated dialogue and personalities. You have some 'triggers' and some integers. Integers are things like loyalty, criminal tendency (Think responsibility in Fallout and TES) ETC, Triggers are modifiers for the integers, and can affect them in certain ways. Even the nicest person becomes a monster at the right snapping point...this would make literally every NPC utterly unique and it means you'd have to look out for disloyal crew, ones who'd steal ship resources (Or even organise coups/mutiny!) and inexperienced soldiers that fire like storm troopers. The sheer possibility...I've had this dream for a very long time now.

    Makes me glad to think someone has the same sort of idea...it is not for this game though. Or even real life, it would have to be text-based (The 'silent film' era of gaming) lest you wish to expend several generations of your family recording petabytes of voice acting. Even then, it'll still sound like TES: Oblivion.

    Only thing I can add (To get the topic back on track) if maybe randomised clothing? But that'd require a clothing system, we're unlikely to get that. We seem to be moving toward textures instead.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    but criminal tendency is too inaccurate
    • Somebody may be a thief, but would never kill.
    • Another might be a killer and a thief, but only to protect the family.
    • A third (mentally damaged) person might be somebody who does not steal but kill the peoples who have "no right to live" (because he believes into Satan's bible, is imitating a parent / old sibling, ...).
    For some, criminal activities are a fun, for others required, for others a drug and again others it's their job (do you know Leverage?).
    Peoples are able to do one big crime (like killing) but never do another (like stealing).


    But as a rule of thumb: When you take everything that a human loves, this human will either get sick (drugs, dizziness, ...) or takes revenge. Either directly or indirectly (accept a job in the police, ...)
    • drugs, sickness: more likely if there are still things preventing from taking revenge directly or indirectly and if there are no others seeing/preventing it.
    • Revenge if he did crime in past or get laughed at by the one which took everything or if he hates those peoples before or just gets the chance to do it (and is thinking) without getting penalized for it.
    • (Many countries have a law that allows to kill peoples trying to kill you and most police officers sometimes use their guns according to such a law. But evidence is another part of this story)
    Loyalty towards family or others are often species-specific (bees would die for their hive, lions protect their children, snakes and turtles leave the eggs alone and again other animals die when they spawn the next generation).
     
    Joined
    Jun 28, 2013
    Messages
    574
    Reaction score
    153
    I just want a mad Jack Churchill that spawns once every couple of million NPCs.