• Какие есть иструменты разрбаотки поведения NPC?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    А готовых решений нет и быть не может, потому что они зависят от механик в вашей игре.

    То есть нужно взять за основу стейт машину, а еще лучше дерево поведения, т.к. оно лучше для сложной логики, и затем уже привносить туда свою логику.

    К примеру, по какому принципу NPC могут объединяться? В Prison Architect они объединяются в банды по цвету кожи. В вашей игре есть цвет кожи и расизм? Скорее всего, нет, значит у вас будет другой, уникальный критерий.

    То есть вы пишете какую-то функцию типа getTheBestNpcToMakeFriendsWith(), в которой учитываются различные параметры NPC и свойства окружающей среды, свойственные только для вашей игры, и далее используете эту функцию в дереве поведения для переключения на ту или иную ветку.

    А еще социализация может быть размазана по самому дереву решений. И в каждой ветке будет своя функция getBestNpcAround() для всяких целей (подружиться, подраться и т.д.).

    И это еще не конец. Поведение придется еще забалансить, чтобы выглядело аутентично и играть было интересно. Ведь геймдев - это искусство. Поэтому коэффициенты внутри этой функции придется подбирать, пробовать разные, да и вообще менять и улучшать саму функцию, и дерево тоже, пока NPC не будут вести так, как вы хотите. Было бы странно найти готовое решение под это.
    Ответ написан
    3 комментария