TG Telegram Group & Channel
Dreams and Robots | United States America (US)
Create: Update:

Самой интересной задачей в геймдеве для меня всегда было создание ИИ для персонажей, будь то враги или дружественные NPC. Я решил поставить эксперимент и выяснить, хватит ли моих знаний на то, чтобы привнести в игровой ИИ немного ИИ настоящего, то есть нейросетевого.

Начал с задачи попроще. Я сделал в Unity лабиринт 20х20, который рандомно генерируется в начале игры. По нему разбросаны монетки, они же Энергосферы, которые нужно собирать в стиле Пэкмана. Есть бот, у которого ограничена зона видимости, он видит только по вертикали и горизонтали. Ему нужно исследовать лабиринт и собрать все монеты.

Сначала я сыграл 10 партий сам, стрелками на клавиатуре управляя ботом и сохраняя каждое движение в датасет. Потом написал скрипты для обучения на Pytorch и поэкспериментировал с гиперпараметрами, благо на обучение модели уходит всего восемь минут.

Получившаяся нейросеть принимает на вход 12 чисел — это информация о том, что бот видит в каждом из четырех направлений. У неё есть память последних ходов. На выход она выдает, в какую сторону нужно двигаться.

И да! Это работает! Теперь бот проходит лабиринт и собирает монеты. Сам. Причем он это делает не механистично, а иногда крутится на одном месте, иногда тупит, как настоящий человек. Бот исследует самые дальние уголки и почти всегда у него получается собрать все монеты на поле.

Модель работает очень быстро и весит всего 200 килобайт. Следующим шагом будет запустить её на Unity Sentis, потому что пока она крутится на самописном сервере.

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

#gamedev #ai #torch #unity

This media is not supported in your browser
VIEW IN TELEGRAM
Самой интересной задачей в геймдеве для меня всегда было создание ИИ для персонажей, будь то враги или дружественные NPC. Я решил поставить эксперимент и выяснить, хватит ли моих знаний на то, чтобы привнести в игровой ИИ немного ИИ настоящего, то есть нейросетевого.

Начал с задачи попроще. Я сделал в Unity лабиринт 20х20, который рандомно генерируется в начале игры. По нему разбросаны монетки, они же Энергосферы, которые нужно собирать в стиле Пэкмана. Есть бот, у которого ограничена зона видимости, он видит только по вертикали и горизонтали. Ему нужно исследовать лабиринт и собрать все монеты.

Сначала я сыграл 10 партий сам, стрелками на клавиатуре управляя ботом и сохраняя каждое движение в датасет. Потом написал скрипты для обучения на Pytorch и поэкспериментировал с гиперпараметрами, благо на обучение модели уходит всего восемь минут.

Получившаяся нейросеть принимает на вход 12 чисел — это информация о том, что бот видит в каждом из четырех направлений. У неё есть память последних ходов. На выход она выдает, в какую сторону нужно двигаться.

И да! Это работает! Теперь бот проходит лабиринт и собирает монеты. Сам. Причем он это делает не механистично, а иногда крутится на одном месте, иногда тупит, как настоящий человек. Бот исследует самые дальние уголки и почти всегда у него получается собрать все монеты на поле.

Модель работает очень быстро и весит всего 200 килобайт. Следующим шагом будет запустить её на Unity Sentis, потому что пока она крутится на самописном сервере.

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

#gamedev #ai #torch #unity


>>Click here to continue<<

Dreams and Robots




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)