GM2 10.9: Меняем алгоритм ИИ и доводим его практически до идеала
Ссылка на основную статью 2-го сезона полного провала разработки.
Призадумалась, по какому принципу распределяю кубики и предметы сама и переложила это на ИИ, повысив его эффективность. А еще оптимизировала алгоритм выбора жертвы, сведя % ошибок практически до "0".
Про настрой
По классике, ленючиво, но стоит начать и все идет как по маслу. Немного затянула работу над проектом, потому что зарубилась в Jedi Survivor. Щито поделать.
Изменение алгоритмов
Сначала я попросту оптимизировала алгоритм выбора жертвы со случайной до самой слабой. Все еще примитивно, но это позволило снизить долю ошибок с 40% до 0-15% в зависимости от рандома выпавших жертв. Однако в глаза бросалась недоработка ИИ, когда можно было бы добиться успеха перестановкой кубов или карт.
Мне казалось, что проработка этой логики будет слишком громоздкой, но мне удалось все сильно упростить, поменяв порядок манипуляций.
Как было:
- Накидываем карты предметов везде, где можем.
- Распределяем кубы с учетом размещенных карт.
--------------------------------------------------------------------------------------------------------------------------
Как стало:
- Создаем вспомогательный массив, распределяя кубы по значениям от самого малого до самого большого.
- Распределяем минимально необходимые кубы по тем позициям, для которых нет подходящих карт (если такие проверки невозможно выполнить, то это проигрыш без вариантов, потому они в приоритете).
- Накидываем на остальные позиции самые большие по значениям карты с руки (если этого не достаточно, то это тоже автоматом проигрыш).
- Докладываем поверх оставшиеся кубы, начиная с самых малых (чтобы исключить возможную необходимость их перестановки в будущем).
- Проводим проверку на избыточность ранее размещенных карт предметов с наибольшими значениями, заменяя их на более слабые или вовсе забирая на руки (ибо нефиг).
Благодаря этим манипуляциям процент неудачи снизился до 0-10% на 100 итераций. Не такой сильный прогресс, как от изменений выбора жертвы, но теперь нет бросающихся в глаза косяков.
Конечно, в будущем нужно будет проработать алгоритм выбора жертв с учетом прокачки навыков и карт на руках, но и имеющийся прогресс меня устраивает.
Думаю, теперь можно переходить к выбору визуального стиля и накинуть варианты интерфейса. От этого будет зависеть доработка основ игры. Возможно, потребуется даже местами что-то перепилить.