ИИ в Stellaris 2.6 - Stellaris / Стелларис - Strategium.ru Перейти к содержимому

ИИ в Stellaris 2.6

Рекомендованные сообщения

Не отпускает меня Стелларис. Раз в 1-2 года все равно возвращаюсь. А вернувшись, после первой же игры иду смотреть, что там нынче с модами на ИИ? Ибо, стандартный ИИ как на старте игры, так и сейчас, не может мне составить конкуренцию ни в каких вариантах.

И тут меня поджидал сюрприз: не усидел Glavius на месте и снова взял в руки напильник. Видать, на карантине скучно стало :)

Таким образом, на данный момент мы имеем два шикарных мода для исправления ИИ в версии 2.6.

1) ~Glavius’s Ultimate AI 

Для обладателей лицензии: Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

Для ценителей пираток: Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

2) ~ StarNet AI

Лицензия: Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

Пиратка: Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое.

 

Заодно расскажу, чем эти моды отличаются друг от друга. Glavius концентрируется на экономике, оптимизируя обращение ИИ с ресурсами. При этом, ИИ слабо реагирует на происходящее вокруг. Типа, рано или поздно, он спустится с горы и вытопчет все стадо.

Salvor (создатель Starnet) делает упор на разумное обращение с ресурсами, полученными за счет бонусов ИИ. А какое самое разумное использование тут может быть? Правильно, перегнать сплавы во флот и снести нахрен все шевелящееся в округе :)

 

При этом, оба, в один голос, уверяют, что их моды категорически не совместимы. Лукавят, однозначно! С годик назад я чисто для себя на коленке правил мод Главиуса, добавляя туда как раз идеи увеличения агрессивности ИИ. Никаких проблем не возникало. Ну как, не возникало. Проблемы были в том, что жить в такой галактике стало возможно только пресмыкаясь и лебезя. Заваливая соседа подарками и молясь о том, чтобы его отношение к тебе не упало ниже критической отметки.

А вы говорите, АльфаЗеро :)

Изменено пользователем MadSerg
  • Like (+1) 2
  • biggrin (+1) 1
  • good (+1) 1
Ссылка на комментарий

1. Что такое АльфаЗеро?

2. В секторах ИИ тоже нормально рулит?

Ссылка на комментарий

1) АльфаЗеро - самообучающаяся нейронная сеть. Пару лет назад она в длинном матче разгромила под ноль компьютерного чемпиона по шахматам Stockfish. При этом, тот же Стокфиш разгромит под тот же ноль любого белкового шахматиста. АльфаЗеро - не шахматная, а многоцелевая сеть. Ей просто перед матчем рассказали правила шахмат и она некоторое время обучалась, играя сама с собой. 

По неподтвержденным данным, Парадоксам предлагали некий аналог АльфаЗеро в качестве ИИ для Стеллариса. Последовал отказ.

2) Причем тут сектора то?? Все эти моды предназначены для усиления компьютерных противников, играющих против тебя.

Ссылка на комментарий

Benjamin_Franklin

Все это хорошо, но речь явно идет не про нейтральную сложность, когда бонусов нет ни у игрока, ни у ИИ.

А по сути игрок и ИИ играет в две разных игры - у них даже аномалии разные, не говоря уже про предтеч и реликвии.

Ссылка на комментарий

Естественно, все эти моды для тех, кому максимальной сложности в игре маловато будет. 

 

Ссылка на комментарий

Gundar
3 часа назад, MadSerg сказал:

С годик назад я чисто для себя на коленке правил мод Главиуса, добавляя туда как раз идеи увеличения агрессивности ИИ. Никаких проблем не возникало. Ну как, не возникало. Проблемы были в том, что жить в такой галактике стало возможно только пресмыкаясь и лебезя. Заваливая соседа подарками и молясь о том, чтобы его отношение к тебе не упало ниже критической отметки.

Ну и отлично. Я даже не надеялся вернуться к Стелларису, бо играть в симулятор Бога я в принципе не могу.. а тут такой шикарный подгон модов, которые правят именно то, что мне нужно было.

 

Если у тебя (уже в твоем комбинированном моде) АИ действительно был так крут, то может еще раз выложишь уже под актуальную версию?! Понятно, что на широкую аудиторию не стоит рассчитывать (так как все очень любят нагибать Вселенную), но нет-нет да и подтянуться те, кому действительно не хватает сложности. Аудитория будет скорее всего небольшая, зато преданная.

Ссылка на комментарий

Да не, ну это было год назад, чисто для себя и все наработки давно потеряны. Разве что, опять станет скучно и я пройду весь это путь еще раз :)

Могу только основные идеи рассказать, может какой-нибудь действующий мододел исполнит твою мечту:

1) Главиус делал свой мод с упором на то, что играть в него будут на среднем уровне сложности. Поэтому, там куча ограничений, не дающих ИИ войти в штопор из-за недостатка какого-то ресурса. На уровне гранд-адмирал ресурсов у ИИ выше крыши, поэтому, все ограничения идут нафиг.

2) Условия объявления войны просты, должны выполняться два условия: 

 а) ИИ имеет больше флота, чем у соседа+союзники

 б) отношение ИИ к соседу ниже какой-то критической отметки 

3) Война объявляется не сразу. Задаем временной период мобилизации, в течение которого ИИ перебрасывает все флоты в систему, ближайшую к жертве. Тут, кстати, как и в реальной жизни, наблюдались веселые моменты, когда ИИ тащит флоты на один фронт, а в это время на него нападают с тыла :)

Ну, как то так :)

Ссылка на комментарий

RiscoUK

где то тут недавно читал что мод старнет не строит флоты

как там на самом деле в текущей версии игры дела обстоят ???

Ссылка на комментарий

С флотами все нормально, но один косяк у Старнета я уже заметил. Не хотел сразу писать, вдруг еще найдутся, но раз уж возник вопрос.

Старнет очень странно считает взаимные угрозы. В результате чего, при появлении агрессора, отношения остальных империй друг к другу взлетает до небес. Это краткое описание проблемы. Ниже (для тех, кому интересно) будет разобран конкретный пример и вариант исправления мода.

 

Старнет считает угрозу вообще и взаимную, в частности, вот таким способом:       

Спойлер

 

        MIN_GIFT_SIZE = 15                                # in opinion impact
        MAX_GIFT_SIZE = 30    
        MAX_TRUST = 150                                                        # trust can never be more than this
        MAX_TRUST_DEFENSIVE_PACT = 100                    # trust can tick up to this if defensive pact
        MAX_TRUST_ASSOCIATE = 50                        # trust can tick up to this if federation associate
        MAX_TRUST_NAP = 25                                # trust can tick up to this if non-aggression pact
        MAX_TRUST_MIN = 25                        # trust can always tick up to at least this

#Этот кусок для расчета доверия, но он нам понадобится для исправлений
        THREAT_PLANET_MULT = 20.0                    # Base threat multiplier for planet
        THREAT_STARBASE_MULT = 3.0                    # Base threat multiplier for system with upgraded starbase
        THREAT_SYSTEM_MULT = 2.0                    # Base threat multiplier for system        
        HIGH_THREAT_THRESHOLD = 60                    # Must have at least this much threat to become fearful        
        SHARED_THREAT_MULT = 1.4                    # How much does having a shared threat boost opinion?
        THREAT_SHARED_THREAT_REDUCTION = 5            # Each point of threat will also eliminate this much shared threat
        SHARED_THREAT_MAX = 500                     
        THREAT_SIZE_FACTOR = 1.25                    # How much does the relative power of the aggressive empire affect threat?
        THREAT_DISTANCE_FACTOR = 0.008                # The higher this is the larger the threat reduction from being far away
        THREAT_DECAY = -1.5

#На самом деле, где-то в теле мода, значения взаимной угрозы умножаются еще на 2, то есть #эффективный SHARED_THREAT_MULT равен 2.8.

 

 

У Парадоксов же так:

Спойлер

 

        MIN_GIFT_SIZE = 25                                # in opinion impact
        MAX_GIFT_SIZE = 50

        MAX_TRUST = 100                                # trust can never be more than this
        MAX_TRUST_DEFENSIVE_PACT = 100                    # trust can tick up to this if defensive pact
        MAX_TRUST_ASSOCIATE = 100                        # trust can tick up to this if federation associate
        MAX_TRUST_NAP = 75                                # trust can tick up to this if non-aggression pact
        MAX_TRUST_MIN = 50                        # trust can always tick up to at least this

 

        THREAT_PLANET_MULT = 8.0                    # Base threat multiplier for planet
        THREAT_STARBASE_MULT = 4.0                    # Base threat multiplier for system with upgraded starbase
        THREAT_SYSTEM_MULT = 2.0                    # Base threat multiplier for system

        HIGH_THREAT_THRESHOLD = 50                    # Must have at least this much threat to become fearful
        SHARED_THREAT_MULT = 0.5                    # How much does having a shared threat boost opinion?
        THREAT_SHARED_THREAT_REDUCTION = 4            # Each point of threat will also eliminate this much shared threat
        SHARED_THREAT_MAX = 200
        THREAT_DECAY = -0.25                            # Each month
        THREAT_DISTANCE_FACTOR = 0.01                # The higher this is the larger the threat reduction from being far away
        THREAT_SIZE_FACTOR = 1.0                    # How much does the relative power of the aggressive empire affect threat?
 

То есть, Старнет существенно увеличивает угрозу в зависимости от числа планет агрессора. Взаимные же угрозы в 5.6 (!) раза больше, чем у Парадоксов.

 

 

 

 

Ссылка на комментарий

*продолжение*

К чему это приводит? Итак, 2226 год, закончилась первая война в обозримом космическом пространстве. Одна империя отхватила у другой пару планеток, получила флаг агрессора и начался расчет угроз. Лучше всего будет просто привести скриншот:

 

Спойлер

887227608_.thumb.png.48023cd9063d6e52f32bffde3d73e36c.png

Все кидаются друг к другу в объятья, наступает всеобщее счастье, мир, дружба, жвачка.

Теперь о том, как это можно исправить. Я пошел наиболее простым путем и, не заморачиваясь вопросами баланса мода, вырубил топором все, что относится к доверию и угрозам. Находим файл STRdefines.txt. При штатной установке мода он находится в папке: C:\Users\!NAME!\Documents\Paradox Interactive\Stellaris\workshop\content\281990\1712760331\common\defines.

Находим в нем приведенный в предыдущем сообщении фрагмент и безжалостно его закомменчиваем. Должно получиться примерно так:

Спойлер

 

        #MIN_GIFT_SIZE = 15                                # in opinion impact
        #MAX_GIFT_SIZE = 30    
        #MAX_TRUST = 150                                                        # trust can never be more than this
        #MAX_TRUST_DEFENSIVE_PACT = 100                    # trust can tick up to this if defensive pact
        #MAX_TRUST_ASSOCIATE = 50                        # trust can tick up to this if federation associate
        #MAX_TRUST_NAP = 25                                # trust can tick up to this if non-aggression pact
        #MAX_TRUST_MIN = 25                        # trust can always tick up to at least this
        #THREAT_PLANET_MULT = 20.0                    # Base threat multiplier for planet
        #THREAT_STARBASE_MULT = 3.0                    # Base threat multiplier for system with upgraded starbase
        #THREAT_SYSTEM_MULT = 2.0                    # Base threat multiplier for system
        
        #HIGH_THREAT_THRESHOLD = 60                    # Must have at least this much threat to become fearful        
        SHARED_THREAT_MULT = 0.25                    # How much does having a shared threat boost opinion?
        #THREAT_SHARED_THREAT_REDUCTION = 5            # Each point of threat will also eliminate this much shared threat
        #SHARED_THREAT_MAX = 500                     
        #THREAT_SIZE_FACTOR = 1.25                    # How much does the relative power of the aggressive empire affect threat?
        #THREAT_DISTANCE_FACTOR = 0.008                # The higher this is the larger the threat reduction from being far away


        #THREAT_DECAY = -1.5                        # Each month
    

 

Параметр SHARED_THREAT_MULT = 0.25 по сравнению с 0.5 у Парадоксов, потому что, как я уже упоминал, где то в теле мода он еще умножается на 2.

Получившийся результат меня пока всецело устраивает :)

P.S. Забыл упомянуть: все это для версии 2.6.2. Бету 2.6.3 я не ставил. 

Изменено пользователем MadSerg
Ссылка на комментарий

pawad001
В 13.04.2020 в 21:32, MadSerg сказал:

По неподтвержденным данным, Парадоксам предлагали некий аналог АльфаЗеро в качестве ИИ для Стеллариса. Последовал отказ.

Правильно. Кому нужна игра, в который ты будешь без шансов проигрывать ИИ!?

Ссылка на комментарий

Nigmat

@Gundar имей ввиду, что там минимум на 30 процентов сила ии основана на подыгрыварии к нему. В гладиусе, есть куча топорных эвентов для ии. Например, есть эвенты на "минус 100 сплавов, но плюс 1 корвет". В станете переработанны числа отношений, новый баланс режет преимущества игроку. Например, бонус к отношениям от подарков (выгодная сделка) понижены в 10 раз. Штраф к отношениям от трения границ увеличен где-то в 5 раз. Это тоже режет преимущества игроку,  потому что флоты бот располагает отбалды, а человек понимает, когда имеет смысл держать флот у границ союзника, а когда нет. 

Ссылка на комментарий

12 минуты назад, pawad001 сказал:

Правильно. Кому нужна игра, в который ты будешь без шансов проигрывать ИИ!?

Не, тут я согласен на 100%! Просто рассказывал человеку про АльфаЗеро. Я обычно излагаю факты, а уж как к ним относиться - эт личное дело каждого :)

Изменено пользователем MadSerg
Ссылка на комментарий

Getman Kir
2 часа назад, pawad001 сказал:

Правильно. Кому нужна игра, в который ты будешь без шансов проигрывать ИИ!?

Тут просто идет противоречие между двумя группами игроков.

1. Накручивают сложность, играют в мету, не стесняются пользоваться экспоитами. 

2. Просто хотят отыгрывать "роль космических лисичек". 

Мод от главиуса не нравится в первую очередь, что он один и тот же шаблон развития, как максимально выгодный, засовывает всем подряд ИИ. Это дает челендж, но видеть как у грибов пацифистов-спиритуалистов, такой же флот как и пожирающего роя в ранние годы игры?

Ссылка на комментарий

8 минут назад, Getman Kir сказал:

Тут просто идет противоречие между двумя группами игроков.

1. Накручивают сложность, играют в мету, не стесняются пользоваться экспоитами. 

2. Просто хотят отыгрывать "роль космических лисичек". 

Мод от главиуса не нравится в первую очередь, что он один и тот же шаблон развития, как максимально выгодный, засовывает всем подряд ИИ. Это дает челендж, но видеть как у грибов пацифистов-спиритуалистов, такой же флот как и пожирающего роя в ранние годы игры?

 1) Не, ну челендж - это одно, а знание того, что ты никогда не сможешь выиграть (в случае АльфаЗеро) - это совсем другое. 

2) Этот отвратительный аспект мода Главиуса я тоже пытался править, но это работа уже не для одного человека и не на коленке свободными вечерами :)

Ссылка на комментарий

Getman Kir
1 час назад, MadSerg сказал:

 1) Не, ну челендж - это одно, а знание того, что ты никогда не сможешь выиграть (в случае АльфаЗеро) - это совсем другое. 

2) Этот отвратительный аспект мода Главиуса я тоже пытался править, но это работа уже не для одного человека и не на коленке свободными вечерами :)

Просто нейросети, помогли бы лучше имитировать "роли" ИИ. И подстраиваться под текущую ситуацию. 

А сам Главиус писал в свое время, что тоже хотел прописать хотя бы 3-4 шаблона для разных "ролей", но что то заглохло это все. В итоге в начале игры у всех ИИ одни и те же первые здания строятся и одни и те же законы на рост населения принимаются. Буду рад, если кто то смог бы решить эту проблему.

 

Ссылка на комментарий

1 минуту назад, Getman Kir сказал:

Просто нейросети, помогли бы лучше имитировать "роли" ИИ. И подстраиваться под текущую ситуацию. 

А сам Главиус писал в свое время, что тоже хотел прописать хотя бы 3-4 шаблона для разных "ролей", но что то заглохло это все. В итоге в начале игры у всех ИИ одни и те же первые здания строятся и одни и те же законы на рост населения принимаются. Буду рад, если кто то смог бы решить эту проблему.

 

Заглохло потому, что это дико сложно. Думаю, что он просто это осознал, когда попытался сделать.

Ссылка на комментарий

Gundar
8 часов назад, Nigmat сказал:

@Gundar имей ввиду, что там минимум на 30 процентов сила ии основана на подыгрыварии к нему. В гладиусе, есть куча топорных эвентов для ии. Например, есть эвенты на "минус 100 сплавов, но плюс 1 корвет". В станете переработанны числа отношений, новый баланс режет преимущества игроку. Например, бонус к отношениям от подарков (выгодная сделка) понижены в 10 раз. Штраф к отношениям от трения границ увеличен где-то в 5 раз. Это тоже режет преимущества игроку,  потому что флоты бот располагает отбалды, а человек понимает, когда имеет смысл держать флот у границ союзника, а когда нет. 

Я понял. Такой метод, конечно, не годится, но мне нужна была сборка в одном месте (пусть и в виде мода) всех нужных файлов. Плюс всегда интересно глянуть на чужой опыт. Я сам несколько лет уже не играл в Стелларис, и любой сторонний мод просто сильно упростил бы мне задачу. Я в любом случае буду все смотреть и править сам.

Изменено пользователем Gundar
Ссылка на комментарий

pawad001

Игрок должен побеждать ИИ с явным преимуществом. Задача ИИ красиво проигрывать.

Ссылка на комментарий

В 15.04.2020 в 14:22, Nigmat сказал:

@Gundar имей ввиду, что там минимум на 30 процентов сила ии основана на подыгрыварии к нему. В гладиусе, есть куча топорных эвентов для ии. Например, есть эвенты на "минус 100 сплавов, но плюс 1 корвет". 

Мягко говоря, это не совсем так. Судя по всему, речь идет вот об этом куске кода:

Спойлер

event = {
    #Yearly
    id = starnet.2
    hide_window = yes
    fire_only_once = no
    is_triggered_only = yes
    immediate = {
        every_playable_country = {
            limit = {
                is_ai = yes
                is_country_type = default
            }
            country_event = { id = starnet.3 days = 1 random = 20 }
            #country_event = { id = starnet.6 random = 30 }
        }
    }
}


#This is Glavius' event which creates science and construction ships for early game
#Sadly I didn't find any way to force ai to spend alloys on science ships in early game,
#if you don't let them spend alloys on ships they won't build science ships and if you do
#they will start building corvettes from day 1

country_event = {
    id = starnet.3
    hide_window = yes
    fire_only_once = no
    is_triggered_only = yes
    immediate = {
        if = {
            limit = {
                is_ai = yes
                years_passed < 5
                resource_stockpile_compare = {
                    resource = alloys
                    value > 200
                }
            }
            random_owned_starbase =    {
                    limit = {
                        solar_system = { is_same_value = root.owner.capital_scope.solar_system }
                    }
                    create_fleet = {
                        effect = {
                            set_owner = root
                            create_ship = {
                                random_existing_design = science
                                name = random
                            }
                    OWNER = {
                        create_leader = {
                            class = scientist
                            species = owner_main_species
                            name = random
                            skill = 1
                            traits = { trait = random_trait }
                        }
                    }
                    assign_leader = last_created_leader
                    }
                }
                    create_fleet = {
                        effect = {
                            set_owner = root
                            create_ship = {
                                random_existing_design = constructor
                                name = random
                            }
                        }
                    }
                    owner = { add_resource = {
                        alloys = -200
                    } 
                    add_resource = {
                        energy = -200
                    } 
                }
                }

            }
            else_if = {
                limit = {                
                    is_ai = yes
                    years_passed < 3
                    resource_stockpile_compare = {
                        resource = energy
                        value > 100
                    }
                    resource_stockpile_compare = {
                        resource = alloys
                        value > 100
                    }
                }
                create_fleet = {
                    effect = {
                        set_owner = root
                        create_ship = {
                            random_existing_design = science
                            name = random
                        }
                    
                    owner = {
                        create_leader = {
                            class = scientist
                            species = owner_main_species
                            name = random
                            skill = 1
                            traits = { trait = random_trait }
                        }
                    }
                    assign_leader = last_created_leader
                }
                }
                add_resource = {
                    alloys = -100
                }
                add_resource = {
                    energy = -200
                } 
            }
            else_if = { limit = {                
                is_ai = yes
                years_passed < 5 
                resource_stockpile_compare = {
                    resource = alloys
                    value > 100
                    
                }
            }
            create_fleet = {
                effect = {
                    set_owner = root
                    create_ship = {
                        random_existing_design = constructor
                        name = random
                    }
                }
            
        }
         add_resource = {
            alloys = -100 } 
        } 
        
    }
    
}

Что этот кусок делает? Первые 4 года ИИ ежегодно получает конструктор+научник. При условии, что у него хватает ресурсов на постройку (ну и эти ресурсы сразу списываются). Это единственное известное мне место в моде, где корабли берутся "из воздуха". При этом, верфь все равно большую часть времени первые 4 года простаивает, так что построить эти несчастные два корабля в год никакого труда бы не составило. Просто средствами моддинга абсолютно невозможно заставить ИИ эти самые корабли построить. Приходится вот так извращаться.

Ну и продолжая тему Старнет vs Главиус. Провел много тестовых запусков, где-то в воскресение их обобщу и выложу свои соображения на тему: как получить наивысшее наслаждение от игры, если тебе интересно думать головой, а не нагибать галактику :)

Ссылка на комментарий

Присоединиться к обсуждению

Вы можете оставить комментарий уже сейчас, а зарегистрироваться позже! Если у вас уже есть аккаунт, войдите, чтобы оставить сообщение через него.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Ваша ссылка автоматически преображена.   Отображать как простую ссылку

×   Предыдущее содержимое было восстановлено..   Очистить текст в редакторе

×   You cannot paste images directly. Upload or insert images from URL.

  • Ответы 68
  • Создано
  • Последний ответ
  • Просмотры 8740

Лучшие авторы в этой теме

Популярные сообщения

MadSerg

Не отпускает меня Стелларис. Раз в 1-2 года все равно возвращаюсь. А вернувшись, после первой же игры иду смотреть, что там нынче с модами на ИИ? Ибо, стандартный ИИ как на старте игры, так и сейчас,

Avros

Ну так основа игры это выстраивание империи и противодействие другим империям. А следовательно интересность во многом зависит именно от сложности и того, каким образом она реализована. Можно не замора

pawad001

Правильно. Кому нужна игра, в который ты будешь без шансов проигрывать ИИ!?

MadSerg

Мягко говоря, это не совсем так. Судя по всему, речь идет вот об этом куске кода: Что этот кусок делает? Первые 4 года ИИ ежегодно получает конструктор+научник. При условии, что у него хватает

SteelDog

нууу... тут на самом деле нужно понимать что нейронка это не панацея. как ни крути игроки хотят не столько сложность сколько интересность. подключение нейронки превратит игру в подобие шахмат со станд

SteelDog

а я что-то гдето писал что ИИ стелариса не дно?   я и с этим не спорю. я лишь говорю что с нейросетью это не так просто реализуемо. гораздо вероятнее что она найдет какие-то эксплойты и будет

Avros

А мы в Стелларис играем 1 на 1 или быть может у нас всё таки десятки империй, которые борются с друг другом? И режима обсерва у нас в игре нет и посмотреть, как развивается ИИ будет нельзя? И регулиру

SteelDog

это вы у меня спрашиваете? отвечаю - десятки. а теперь я у вас спрошу - и какое это имеет значение? если ИИ будет иметь подавляющее интеллектуальное преимущество то человеку не жить независимо от того

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу


Copyright © 2008-2024 Strategium.ru Powered by Invision Community

×
×
  • Создать...