1.4.6591

Март 2024

Behavior Trees — стартует публичная альфа!

После примерно 6 месяцев работы я очень рад наконец открыть публичное тестирование нового инструмента в EyeAuras — Behavior Trees.

Если коротко, это новый способ собирать логику ваших ботов и скриптов — по сути, основу любой автоматизации. Раньше для этого приходилось использовать Triggers, которые запускали Actions через секции OnEnter, WhileActive и OnExit. В новом подходе у вас будет намного более мощный набор инструментов: cooldowns, conditions, подпрограммы (или поддеревья) и всё это на базе новой подсистемы скриптов.

Это новый meta-подход, и всё, что уже есть в программе, со временем будет адаптировано под использование в деревьях. Я давно считал, что именно этого механизма EyeAuras не хватало: возможности быстро и удобно моделировать что угодно — от простого кликера до сложной боевой ротации. И красота деревьев как раз в том, что они одинаково хорошо подходят и для того, и для другого.

Да, для работы с ними нужно немного разобраться в принципах, как и с прошлой системой. Но когда у вас уже есть десяток разных скиллов, условий и проверок, управлять всем этим становится гораздо проще. Любой, кто пытался собрать в EyeAuras что-то со множеством условий вроде я жив и навык готов, и HP > 40%, и цель выбрана, и ..., скорее всего сразу поймёт, о чём речь.

Документация / с чего начать

English / Russian

P.S. Я знаю, что английская версия местами сыровата, но поддерживать документацию сразу на двух языках одновременно довольно тяжело, поэтому тут пришлось немного срезать углы и использовать ChatGPT для автоматизации перевода :D В ближайшие месяцы я это постепенно дополирую.

Это всё ещё альфа

Пожалуйста, имейте в виду: BT пока использовались максимум парой десятков человек в рамках закрытого тестирования, так что велика вероятность, что где-то что-то не работает, где-то неудобно, а многое ещё изменится в течение следующего квартала. Если у вас есть замечания или репорты — пожалуйста, не стесняйтесь связаться со мной.

Что планируется в ближайшие недели?

Сейчас в BT пока не хватает нескольких очень важных частей:

  • Прямая интеграция с симуляторами ввода.
    Сейчас, если вам нужно двигать мышь или нажимать кнопки, приходится использовать action SendSequence вместе с узлом behavior tree Execute Aura. Это работает, но не слишком удобно. План — продублировать большую часть actions прямо в деревьях, чтобы их было проще использовать и настраивать.

  • Прямая интеграция с поиском изображений и ML-поиском.
    Здесь ситуация похожая: сейчас, например, приходится использовать trigger Image Search вместе с узлом Aura Is Active. Хочется, чтобы всё это можно было редактировать и настраивать прямо в редакторе дерева.

  • Не хватает некоторых узлов управления потоком.
    Например, Switch, IfThenElse и ещё нескольких. Они не обязательны, но очень удобны.

  • Сам редактор пока тяжеловат.
    Хочется сделать его легче, компактнее и менее прожорливым по месту на экране.

  • Документация.
    Я хочу написать МНОГО документации по разным аспектам BT: как они работают, как их можно и стоит использовать, какие у них плюсы и минусы и так далее.

  • Скриптинг внутри behavior trees.
    Переработка scripting system V2 изначально и делалась ради BT — с самого начала я планировал, что продвинутым пользователям точно захочется писать собственные узлы и условия. И именно это должны закрыть Scripts V3.

bt_l2.spoil.old.png

Исправления и улучшения

  • [YoloEase] Временно удалён из EyeAuras — совсем скоро он будет доступен как небольшой отдельный open-source проект
  • [SendSequence] Добавлена отсутствующая буква "P" в OSD keyboard