Моё скромное решение для CodinGame 2022 Spring Challenge
Поучаствовал в CodinGame 2022 Spring Challenge. Получился интересный опыт на стыке психологии и ИТ.
При чём здесь психология? При том, что в этом челлендже ты пишешь код для управления тремя «солдатиками», которые разбираются с монстрами и обыгрывают соперников.
Реализовал взвешенную систему принятия решений – каждому решению присваивается некий вес, который вычисляется как на базе текущего состояния игрового мира, так и на базе массива чисел, составляющего «характер» того или иного моего солдата.
Числа разные – соответственно, характеры разные. Солдаты принимают игровые решения на основе этих чисел-характеров – т.е. в общем, в каждый момент игры я не знаю, что конкретно тот или иной мой «солдатик» будет делать. Хотя неявно управляю ими, задав перед игрой некими числовыми значениями их «характеры». Вот и психология :)
При этом действуют парни удивительно «разумно» и «взвешенно», см., например: https://www.codingame.com/replay/622584657
Никаких призовых мест не занял, т.к.
а) Писал код левой ногой в свободное время, которого у меня сейчас не очень много;
б) На самой платформе CodinGame не было открытых способов оптимизировать характеры солдатиков с помощью какой-нибудь простенькой нейросетки или ГА, а вручную перебирать различные комбинации 18 (3 солдатика х 6 черт характера) вещественных чисел не хотелось.
Тем не менее, было весело. Исходник открыл и выложил на гитхабе. Вэлком: https://github.com/rexTexTau/CodinGame2022SpringChallengeSolutio