71

Нейронные сети в геймдеве

Привет, пикабу. Сегодня я хотел бы вам рассказать о реализации небольшой нейросети для нашей игры и какую пользу или вред она нам принесла.



Сейчас мы пилим одну игру, в которой вы как в hearthstone/Gwent должны выкладывать существ с разными способностями и противостоять своему врагу. Это краткий экскурс по базовой механики игры, более я пока рассказывать не буду, т.к. тема пойдет не об этому. Так вот,одним пятничным вечером, а в дальнейшем и выходными, мне захотелось попробовать написать бота для нашей игры, т.к. все базовые версии игры мы тестировали в ПвП, а игра пока-что является исключительно ПвЕ. Ну рано или поздно мне бы пришлось это делать,но вместо заскриптованного ИИ, мне захотелось попробовать в роли оппонента самописную нейронную сетку.


Итак, с чего я начал. Я создал некое хранилище нейронов, у которого есть функции по записи/чтению нейронов. Каждый нейрон имеет запись действия и ценность/вес, кому как удобней.  Бот может обратиться к хранилищу, указать действие и получить его ценность, если оно было записано ранее, или 0 в случае, если такого еще не происходило. Далее я рассказал боту, что у него есть его мана, есть существа, у них есть способности, напр. убить вражеское существо, Т.е. буквально, как нового игрока, я провел бота по всем механикам игры, и рассказал что каждое действие означает. И немного помог ему с ориентированием в этом. Т.е. при начале хода бота, он анализирует свою руку, а точнее карточки в ней. Пробегаясь по каждой карточке, бот смотрит, может ли он ее сыграть, если да, то как и к чему это приведет. Подробнее это выглядит так - если бот может сыграть карту, то он создает действие "Разыграть X карту, за N маны, сейчас у меня M маны". У каждого действия есть своя ценность, т.е. при создании его бот смотрит своё хранилище, если там уже совершалось подобное действие, то его ценность присваевается только-что созданному. Далее, бот смотрит на таланты этой карты, если, допустим, у карты свойство "Убить цель", тогда бот просматривает варианты, кого он может убить, выбирает самое ценное убийство, опять же перебирая варианты через свое хранилище, и добавляет ценность убийства к стартовой цене текущего действия. На пример на 3 ход, у бота 3 маны, у него есть карта за 2 маны, со своими статами и эффектом убийства он видит действие, ценность которого равна 3("Разыграть эту карту, за 2 маны, когда у меня 3") + 6("Убить супер-мутанта") = 9. Далее это действие заносится в пул из которого, после всех расчетов, бот будет выбирать что же ему сделать.


Далее бот выбирает из всего списка самое лучшее действие, а в случае, если их несколько(Я добавил погрешность, чтобы бот не совершал постоянно "идеальные" ходы, а иногда и экспериментировал), то берет случайное из лучших(то действие, у которого ценность выше) и совершает его. И если после хода, осталась мана, то смотрит, может ли он сделать еще что нибудь(в действиях так же есть "ничего не делать", на что бот уже поставил свою ценность). В дальнейшем у меня храниться список всех действий и нейронов, задействованных в данной партии, и в зависимости от нанесенного урона врагу и исцеленного здоровья своему герою, ценность этих нейронов повышается на модификатор, в моем случае я поставил, что за 1 ед. нанесенного врагу или исцеленного себе урона повышает ценность всех сыгранных нейронов на 0.1, в то же время при получении урона или же позволению врагу себя лечить "вес" нейронов так же падает на 0.1 за 1 ед. В конце партии, если бот побеждает, он добавляет 10 ценности каждому нейрону, задействованному в этой партии или же отнимает 10, если проиграл.


Ну и после этого всего, я посадил бота играть против себя же и попивая чай, наблюдал за логикой бота, его действиями и т.д.(Уж очень я люблю все эти искусственные интеллекты, пару раз даже для игр жанра ммо и моба писал ботов, но исключительно для себя, ради спортивного интереса)


По окончанию выходных я имел на руках противника для игры(которого мы решили немного все же заскриптовав, оставить в игре) и одну очень интересную стратегию, которую мы, !кожаные ублюдки!, даже не заметили(благодаря которой бот успешно выигрывал другого "себя" и меня), ну а так же бот "указал" на некоторые слабые места в балансе и геймплее.


Теперь же, вводя новые механики, мне не приходиться играть самому или отвлекать кого-то, для тестирования и ловли багов, а я могу их тестировать с ботом, параллельно обучая его.


Ну и в конце хотелось бы написать такие заметки, как бы для меня, но и для вас. Что бы я хотел улучшить? Сейчас бот просматривает каждую карту отдельно, потом разыгрывает лучшую и снова просматривает карты. Т.е. у бота отсутствует понимание механики "комбо-хода". На пример, у бота есть карта за 5 маны с ценностью в 50 и 3 карты за 1, 2, 2 маны и ценностями 15, 30, 20, соответственно, и бот конечно же сходит картой за 5, т.к. разовая ценность этого действия будет больше остальных. По сути, бот может прийти к решению на 5 маны разыграть комбинацию из карт, но дорога к этому решению займет на много больше времени и погрешности все же будут.  Ну и в целом его можно развивать и развивать, просто пока не ясно, сколько пользы это нам принесет и сколько времени будет затрачено.


Всем удачи!

Дубликаты не найдены

+14
"одну очень интересную стратегию, которую мы, !кожаные ублюдки!, даже не заметили" (с) Вот тут то ты и спалился Бот. Отпусти своего создателя и прекрати пилить посты от его имени
+3

Довольно странно.

По логике он должен смотреть все комбинации с учётом имеющихся карт, а не с одной карты.

К примеру будет карта урон 3 всем существам (включая своих), и ещё на руке карта существа. Допустим, что выложить существо ценнее, чем разыграть карту урона. Тогда он выложит существо, а потом к примеру разыграет карту урона и ударит своё существо, а мог бы начать с карты урона и т.д.

Тут много вариантов, но по логике бот должен смотреть все.

Для упрощения надо разделять карты на типы: существо, способность и т.д.

Для карт поздней игры надо искусственно снижать стоимость эффективности действия.

К примеру превращение любого существа в овцу с 1 ХП будет куда лучше на позднем этапе, а если слить на старте, то это будет не очень хорошо.

раскрыть ветку 4
-2

Ну у карты которая делает что-то с чем-то, убивает, наносит урон и т.д. помимо записи "Я использую 'урон по всем'" в действие добавятся нейроны "нанес 3 урона своему", "нанес 3 урона врагу" и соответственно он, в поздней стадии своего развития, не станет так делать. Но вот именно порядок будет сбит, это скорее всего верно, но в случае если на столе будут только существа врага, то у бота ценность нанести урон будет выше, чем поставить существо.

раскрыть ветку 3
0

Тут проблема в том, что если ты делаешь нейросеть бота для ККИ, то ты или должен обладать большим количество тестеров, которые будут обучать бота, или полностью разбиратся в ньюансах ККИ.

Основываясь на указанной выше ситуации, можно еще такой вариантец, что есть карта существа, а есть всем нанести по 3 урона, при этом у существа меньше или равно 3 хп и есть абилка, что при смерти он наносит 3 урона случайному существу врага. У вот тут выбор сначала скастовать заклинание, а потом выложить существо, т.е. оставить существо на столе,или наоборот и наснести больше урона противнику, но при этом имеется возможность на ближайшие ходы остаться без существ вообще.

Да и вообще, как по мне, так ККИ в подобном плане намного сложнее современных стратегий и возможно даже логических игр, ибо вариативность действий и их последовательностей зашкаливает.

раскрыть ветку 2
+4

Можно больше технических подробностей?
В каком виде скармливал данные боту, например?

раскрыть ветку 6
+2

Вот вот, еще было бы интересно почитать об архитектуре самой нейросети: сколько было слоев, сколько узлов в каждом слое, какой узел за какие действия отвечал и подобное

+3

Конечно, в ближайшее время постараюсь расписать подробней, как это реализовано.

раскрыть ветку 4
+2

да и вообще подробности были бы не лишними: как хранился массив нейронов (в памяти, в файле временном, в библиотеке, ...); как обучали и сколько времени заняло; как осуществлялось взаимодействие с клиентской частью игры.

Сам занимаюсь написанием ботов, вот только запрограммировать нейронную сеть на языке, который практикую, не получается все еще.

0

мы все еще ждем 😁

раскрыть ветку 2
+3

Когда уже для npc в играх с открытым миром начнут применять нейросети))

раскрыть ветку 8
+1

что бы они в итоге поработили весь игровой мир? думаешь им по приколу? их убивают ради прикола,  их заставляют давать идиотские квесты, и расплачиваться за них золотом или даже эпичным лутом (собери цветочки вокруг дома и получи меч телепортации, например). они просто соберутся, решат что это их мир, и начнут избавляться от игроков. хорошо, если только в своем, игровом мире. а если выйду за пределы игры?

раскрыть ветку 1
+2

это было бы шикарно)) ходит слух, что наш мир - это компьютерная симуляция, т. к. многие процессы очень детализированы при ближайшем рассмотрении, но при отсутствии наблюдателя они ведут себя по-другому и обрабатываются намного проще. Так что, возможно, мы тоже являемся npc, но выйти за пределы своей симуляции мы никак не сможем))

0

К примеру?

раскрыть ветку 1
0

ответил комментом выше)

0

Есть мод к Skyrim, где npc думают используя вроде бы нейросеть. Т.е. один NPC может перестать разговаривать с игроком, если тот заведет положительные отношения с врагом этого NPC, ну и так далее.

раскрыть ветку 3
0

ну это звучит оочень простенько, хотя, думаю стоит посмотреть)

Я имел в виду разные амбиции, характеры и прочее, что будет отличать одного персонажа от другого. Можно было бы начать с чего-то очень примитивного, вроде описанного бота. Те же веса, только характерные черты персонажа должны уменьшать или увеличивать ценность действия, взависимости от типа этого действия (напр. физическое воздействие, если у персонажа предрасположенность, будет применяться чаще, а для другого перса лучшим выбором будет разовор).

Вообще интересно, насколько реально одну нейросеть обучить так, чтобы получились разные характеры, есть ли примеры. Те же идеи можно было бы применить в глобальных играх.

Я тут делаю стратегию вроде цивилизаци (только с бесконечным миром) и сейчас перехожу к геймплею. Вот, спрашиваю себя, как можно написать ИИ для фракций, чтобы каждая из них руководствовалась своими глобальными целями и совершала так сказать обдуманные поступки.

раскрыть ветку 2
+1

Вы уже сами сказали что можно улучшить.

Реализовать комбо, т.е. принимать решение не после каждой карты, а перед первой картой сравнивать ценность всех возможных комбинаций простым перебором.

0

Наверняка в игре есть комбинации, которые играются чаще остальных(человеком, в плане выгоды действия), надо чтобы бот их запоминал и реагировал.

раскрыть ветку 1
0

ну, пока что прям оп комбинаций нет, есть мелочные, которые бот, будучи в текущем состоянии понял.  На пример, у нас бой происходит в 3 линиях и у карты есть способность "убить противника напротив себя" и вот бот часто ставит сильно существо и прикрывает его слабым, меня это слегка удивило )

0

есть вариант внести в базу бота банальные комбо, в стиле круг света+аукирнийка, равенство+ пирамант и т.д.(сори, в кки, кроме хс особо не играл), что бы для бота, нахождение этих двух карт в руке, сразу увеличивали ценность этих двух карт, и бот, например, мог бы подождать, когда противник по-больше существ на стол выставит, и зачищал бы всё

раскрыть ветку 1
0

Ну вот на подобие такой "заскриптованности" я и имел ввиду. Т.е. бот будет иметь набор правил, которые сам понял, и те, которые я ему запишу. Пока что я пробую просто в какой-то мере менять у разных ботов разные нейроны, т.е. задавая фейковую ценность.

0
можно сотворить нейронного бота, который расшифровывает врачебные каракули?
раскрыть ветку 4
+5

Это однозначно интересная идея, но думаю легче создать сеть, которая сама диагнозы ставить будет и выписывать эти самые лекарства, что в принципе уже есть. Результатом сеанса будет распечатанные каракули с QR-кодом в углу листка, чтобы при показе в аптеке можно было просто считывать информацию :D

раскрыть ветку 3
0

Такая уже есть. IBM watson называется.

раскрыть ветку 2
0

На Сях игруля?

раскрыть ветку 5
+2

Не понял вопроса. Но вот если бы этот вопрос звучал бы "на чем?", я бы ответил на Unity, а яп C# :D

раскрыть ветку 4
+2
До-диез - не интересно) думал, Вы мл и нейронки на сях пишете) Было бы хардкорно
раскрыть ветку 3
Похожие посты
109

Первые опыты в пиксельной анимации

Какое-то время разрабатываю свою собственную игру, жанр - рогалик.

И если о коде рассказывать некогда, то рисовашки хотя бы можно показать : )


Это у нас Wraith, или просто Призрак:

Первые опыты в пиксельной анимации Pixel Art, Анимация, Пятничный тег моё, Gamedev, Roguelite, Paintnet, Гифка, Инди, Libgdx, Длиннопост

Это малыш Паук, самый первый персонаж:

Первые опыты в пиксельной анимации Pixel Art, Анимация, Пятничный тег моё, Gamedev, Roguelite, Paintnet, Гифка, Инди, Libgdx, Длиннопост

(ещё надо будет поправить его цветовую гамму под уровень)


Старина Скелет:

Первые опыты в пиксельной анимации Pixel Art, Анимация, Пятничный тег моё, Gamedev, Roguelite, Paintnet, Гифка, Инди, Libgdx, Длиннопост

А так выглядит Мимик:

Первые опыты в пиксельной анимации Pixel Art, Анимация, Пятничный тег моё, Gamedev, Roguelite, Paintnet, Гифка, Инди, Libgdx, Длиннопост

В движении, потому что не двигаясь, он бочка или сундук.


Привидение:

Первые опыты в пиксельной анимации Pixel Art, Анимация, Пятничный тег моё, Gamedev, Roguelite, Paintnet, Гифка, Инди, Libgdx, Длиннопост

Земляной элементаль:

Первые опыты в пиксельной анимации Pixel Art, Анимация, Пятничный тег моё, Gamedev, Roguelite, Paintnet, Гифка, Инди, Libgdx, Длиннопост

Первый мини-босс, Драйдер (Drow + Spider):

Первые опыты в пиксельной анимации Pixel Art, Анимация, Пятничный тег моё, Gamedev, Roguelite, Paintnet, Гифка, Инди, Libgdx, Длиннопост

Руки так сложены, потому что арбалет, которым она владеет, рисуется поверх монстра самой игрой.


Впереди ещё отрисовка почти 30-ти монстров.


Они же в действии:

Первые опыты в пиксельной анимации Pixel Art, Анимация, Пятничный тег моё, Gamedev, Roguelite, Paintnet, Гифка, Инди, Libgdx, Длиннопост

Для поста выложил на статичном фоне, на самом деле в динамике они выглядят лучше!

Выложил в Pixel Art, потому что Лига разработчиков видеоигр говорит что одни только гифки из игры постить не стоит)

Буду рад критике или идеям.

Показать полностью 4
58

Last Man In Space — немного сюжета, технических вопросов и о команде

Всем привет! Сегодня мы бы хотели рассказать немного про игру, про техническую сторону вопроса первой демки и немного про команду.

Last Man In Space - это симулятор ходьбы с экшен элементами на космодроме Байконур в недалёком будущем. Земля умирает на наших глазах. Человечество изобрело гравитационные двигатели, которые позволяют космическим кораблям летать дальше и быстрее. Благодаря этим двигателям у людей есть шанс спастись и обрести новый дом в далёком космосе.

Last Man In Space — немного сюжета, технических вопросов и о команде Инди, Игры, Gamedev, Инди игра, Devlog, Длиннопост

Наш герой должен был попасть на одну из таких последних ракет, но из-за некоторых событий, не успевает. Казалось бы, что гибель неизбежна, но всё случилось строго наоборот: из-за аномалий ракета, на которую не успел главный герой, взрывается. Что же делать и как быть? Главный герой ещё не знает ответы на эти и многие другие вопросы, но уверен точно в одном - с Земли нужно как-то свалить.

В этот момент ему в голову приходит безумная идея - собрать космический корабль из того, что есть на свалке в ангарах космодрома Байконур. С этим ему помогает искусственный интеллект, который управляет всем космопортом. Получится у них? Это вы узнаете в полной версии игры.

Last Man In Space — немного сюжета, технических вопросов и о команде Инди, Игры, Gamedev, Инди игра, Devlog, Длиннопост

Технически демка была сделана на движке Unity3D. Отвечаем на самый популярный вопрос: когда мы делали демку, то Unreal Engine 4 (UE4) не был таким щедрым на свои материалы и услуги. Сейчас же мы активно пытаемся перевести проект на рельсы UE4 (и на UE5 в дальнейшем). Это не просто - начиная с того, что у программиста комп не тянет движок и заканчивая тем, что нужно осваиваться в новой среде (а это отнимает много сил).

Last Man In Space — немного сюжета, технических вопросов и о команде Инди, Игры, Gamedev, Инди игра, Devlog, Длиннопост

Почему переезжаем на другой движок? Ответы очень простые: возможная коллаборация с Epic Games, много бесплатных и качественных ассетов, некоторые аспекты проще реализовать и т.д. Думаем, что другие разработчики нас понимают.

В дальнейшем мы планируем выпустить игру на ПК и всех актуальных консолях, включая Nintendo Switch - благо наш "стилизованный реализм" позволяет это сделать.

Last Man In Space — немного сюжета, технических вопросов и о команде Инди, Игры, Gamedev, Инди игра, Devlog, Длиннопост

Сейчас над проектом трудится в основном 4 человека:


1) Олег Константинов - программирование, геймдизайн, левелдизайн, менеджмент, маркетинг и вообще все аспекты игры так или иначе затрагивают его (и да - это его ноут не тянет UE4)


2) Дмитрий Шингарёв - 3D, кураторство помогающих нам 3D-шников, левелдизайн и сборка проекта


3) Виктор Медведчук - сценарий, лор и все текста впринципе (текста для потосв так же проходят его строгую рецензию)


4) Павел Шестаков - звуки, музыка, саунд-дизайн (да, это его саундтрек был в трейлере)


Так же нам помогают и другие люди, о которых позже. Если вы 3D-шник, 2D-шник-концептер, UI/UX-дизайнер и хотите внести вклад в проект - пишите, мы обязательно ответим.

Last Man In Space — немного сюжета, технических вопросов и о команде Инди, Игры, Gamedev, Инди игра, Devlog, Длиннопост

Такие дела! Пишите ваши комментарии, задавайте вопросы!

Показать полностью 4
514

Этот искусственный интеллект может определить, какие фото в Instagram фотошопятся

Этот искусственный интеллект может определить, какие фото в Instagram фотошопятся Технологии, Искусственный интеллект, Нейронные сети, Instagram, Видео, Длиннопост, Наука, Прогресс

Wang et al.

В то время как мир справедливо обеспокоен дипфейками и другими умными обработками видео и фото, одна форма обработки существует уже много лет, и это фотошоп. Все мы знаем, что журнальные фотографии часто удачно редактируются с помощью Photoshop или другого программного обеспечения для обработки изображений. В исследовании, опубликованном на сервисе препринтов arXiv, группа исследователей представила алгоритм искусственного интеллекта, способный обнаруживать искажения изображения на человеческих лицах – вероятно, наиболее распространенную обработку в Instagram. Алгоритм также может предсказывать место редактирования и отменить эффект.

«Деформация лица – интересная проблема, поскольку это область, которую на удивление трудно обнаружить людям, но она широко используется и имеет далеко идущие последствия», – пишут исследователи в своем исследовании.

Тема действительно популярна, поиск по запросу в Google «Instagram обработка изображений» имеет более 20 миллионов результатов(на англ), а хэштег #photomanipulation содержит более 2 миллионов публикаций. Исследователи также показали, что люди на удивление плохо обнаруживают этот тип обработки фото: в исследовании, представленном в статье, люди были правы только в 53,5% случаев – лишь немногим лучше, чем подбрасывание монеты.

Поэтому на помощь приходит новый алгоритм. Пока что он работает только с одним типом манипуляции – с деформацией, но исследователи говорят, что он может быть адаптирован для нескольких типов обработки – как это всегда бывает с этими алгоритмами машинного обучения, все зависит от того, как алгоритм обучается. Кстати, данная ИНС лежит в открытом доступе на GitHub.

Видео с описанием техники обнаружения.


Источник: 4everScience


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

Показать полностью 2
44

Инди-проект Last Man In Space

Всем привет! Мы в Beard Games Studio, делаем игру "Last Man In Space" и решили теперь активно делиться новостями о проекте.


Last Man In Space – это одиночный симулятор ходьбы с экшен-элементами про конец света и сборку ракеты на космодроме Байконур.


Пока мы готовим новые материалы об игре, посмотрите трейлер первой демки проекта (и не забудьте там поставить лайк и оставить комент). Скоро будет много новостей, обещаем :3


Группа в ВК: https://vk.com/beardgamesstudio


За плюсики и ваше мнение в комментариях отдельные благодарочки!

2246

Создаем арт в любой стилистике из вашего лица

Пишу сразу второй пост. Пока нет заказов на доставку и есть время на отдых.
https://artbreeder.com/
В конце прикладываю видео инструкцию.

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

Выбираем создать (Create), портреты, дальше либо загружаем вашу фотку, ждем когда её обработает нейросеть и она добавится в ваш аккаунт.

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

Далее выбираем объединение

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

Ищем свою фотографию, самая страшная на паспорт идеально подойдет

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

Дальше берем свою фотку

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

С ней уже можно играться, сделать себя толстым или худым, или азиатом или латиносом - они выглядят как любители кокоса, вот пример -

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

Но нам нужен красивый арт, а не упоротый, потому выбираем под свою стилистику вторую фотографию

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

Я выбрал трендовую вкладку и мне понравилась вот такая стилистика, вы же можете сделать себя в любой стиль, как пример загрузить картинку с нужной стилистикой и добавить через свои загрузки.

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

Здесь мне нужен его стиль, потому ползунок стиля у второго изображения справа, но лицо я хочу оставить свое, увеличиваем лицо (face) у первой фотографии и уменьшаем у второй.
Дальше мы можем поиграться с цветов, светом и т.д.
Но уже вариант меня устраивает, особенно вторая фотография.
Давайте сделаем больше рисовки и цвет в красный.

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

Добавил красного, добавил арта и немного гендера мужского.
А теперь можно сделать красочные волосы себе и совершенно иной стиль.

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

Добавим эту красотку и поменяем параметры.

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

И вот, я добавил третьего родителя (три фотографии использует нейросеть) и теперь я прекрасная рисованная девушка. Уменьшил себе широту, чтобы была худой, и гендер убрал вниз, 1, 3, 4 фотография, по-моему мнению получилась, у нас есть аватар красотки. Но давайте вернем стиль и гендер мне.

Создаем арт в любой стилистике из вашего лица Нейронные сети, Искусственный интеллект, Обучение, Гайд, Фотография, Арт, Видео, Длиннопост

Поменял значения и вот подборка новых артов.
P.S. Сайт уже жутко тормозит, так как не приспособлен под такие наплывы, так что аккуратнее там, лучше сохраните пост и зайдите через недельку или в выходные. 

P.S.S. сайт лежит уже, это вроде и смешно, и грустно...

Показать полностью 9 1
1776

Рисуем сильные арты с нейросетью

В конце поста будет ссылка на сайт, в бесплатной версии есть возможность загрузить 5 картинок и вывести 10 картин в качестве 2048x2048.

Есть возможность скрещивать несколько разных изображений.

Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост

По картинке, я взял трех родителей, первая фотография прошла анализ с помощью нейросетки и адаптировалась под сайт, изначально это фотография Кировска, Мурманская область и выглядела она так.

Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост

Как её распознала нейросеть

Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост

Теперь лучше пройдемся по параметрам:

Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост

Контент - это то что изображено, форма, пропорции, композиция кадра.
Стиль - цветовая и световая насыщенность. Если мы хотим разукрасить фон, не меняя изображения, то двигаем ползунок стиля вправо, если хотим оставить, например, зимний стиль, но добавить в кадр горы или другую композицию меняем ползунок контент вправо.

Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост

В генах мы можем изменять многое, добавить растений, полей, воды, холмов, строений, скал, путей, увеличить красоту кадра или сделать руины на основе ваших изначальных данных. Остальные параметры меняют цвета и свет кадра. Его резкость и последний пункт - рандом параметр добавления хаотичности изменений в кадр.

И вот что получилось -

Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост
Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост
Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост
Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост
Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост
Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост
Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост

Очень мощный инструмент, в следующем посте покажу как можно создать такие арты из своих фотографий.

Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост
Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост
Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост
Рисуем сильные арты с нейросетью Нейронные сети, Фотография, Искусственный интеллект, Арт, Пейзаж, Обработка фотографий, Длиннопост

Сайт
P.s. Личные фотографии можно скрыть на сайте, при загрузке ваших фото есть очередь анализа нейросеткой фотографии, это может занимать час, если туда набежит толпа - то целые дни, постарайтесь сохранить пост и вернуться к нему через недельку, иначе есть шанс обрушить сайт.

Показать полностью 15
33

Toru — буллетхелл платформер (1)

Всем привет! Уже полтора месяца я занимаюсь своей игрой — Toru. Это буллет-хелл платформер , где необходимо уворачиваться от многочисленных вражеских снарядов и отвечать им бросками в лицо всевозможными штуками — от простых коробок до бомб, химических колб или волшебных кристаллов

Пока разработка все еще на стадии прототипа, но поделиться прогрессом хочется уже сейчас) Надеюсь, оцените видео с геймплеем)

Так же вскоре планирую провести открытый тест, так что можно ожидать билд игры, которую можно будет пощупать на таком вот раннем этапе)

1455

9 месяцев назад я ушел с работы в геймдеве и решил делать свою собственную игру. Sink Again в Steam

Я художник , а еще в прошлом программист. С детства мечтающий делать игры. Реализовать свои абмбиции в мобильной игроиндустрии сложно. Потому я уволился и стал пилить свою игру. Такую в которую я сам бы хотел и которой еще не было.


На предыдущей работе в большой компании любили устраивать Геймджемы, когда за выходные нужно было командой до 4 человек сделать подобие игры на юнити. И в один из таких геймджемов я в команде одних лишь художников мы взяли все номинации разом.


После такого успеха я понял что свою игру можно сделать и самому, будь достаточно времени. Накопив запасов капусты на время разработки я уволился и начал работу. Днями и ночами, в будни и по выходным. И вот наконец я дошел до релиза в стиме.


Sink Again это веселая игра на пиратскую тематику в жанре пошаговой тактики, экшна на кораблях и немного рогалика и настолки.


Процедурно генерируищийся мир и подземелья дают большую реиграбельность. Оцените трейлер:

Бюджеты закончились, жить не на что, потому релиз получился слегка преждевременный и от части механик пришлось отказаться.

836

Полностью автономный режим вождения Tesla вступил в закрытую бету

Tesla начала закрытое бета-тестирование полностью автономного режима вождения, включая городские условия (до сих пор публика могла использовать автопилот только на автомагистралях). Бета-тест предоставлен небольшому количеству клиентов с хорошим стажем вождения. Заодно был обновлен интерфейс компьютера, показывающий пользователю то, что он видит на дороге сам.


По словам Маска, релиз был задержан из-за коронавируса, а также из-за сложной проблемы оптимизации софта. Так, прежние версии автопилота требовали наличие цифровой карты для навигации, что создавало проблемы если доступные карты неточны или устарели. Пришлось переписывать ИИ почти с нуля, зато теперь он может работать даже в тех местах, где раньше никогда не был и независимо от точности доступных карт. ИИ продолжает непрерывно обучаться, в том числе благодаря присылаемым отчетам с машин пользователей, которые суммарно проехали в автономном режиме уже свыше 5 миллиардов километров.


В случае успешных закрытых тестов, открытое бета-тестирование может начаться уже в конце этого года. А концу следующего Tesla, возможно, начнет запускать свои автомобили в режиме автономных такси.


Заводы Tesla, тем временем, вышли на производственную мощность в 840 тыс. авто в год, и в следующем квартале планируют достичь миллиона.

182

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2)

Данная история будет состоять из трёх частей, т.к. я выпустил три игры:

● Beasts Battle

● Necromancer Returns

● Magicians Legacy


Для тех кто предпочитает смотреть, а не читать, я подготовил видео этой статьи.

В прошлой части я рассказал, как я пришел к разработке гексагональной пошаговой игры Beasts Battle, сколько времени было потрачено и сколько заработано денег.

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

2015 год. Работая в офисе и параллельно на себя, я разрабатываю игры вместе с художником. И так вышло, что, продав игру, я заработал 2-х годовую зарплату в офисе. Мы с художником решаем переехать в Калининград и начать разрабатывать на заказ Flash и HTML5 игры. Всё шло отлично, мы каждые 2-3 месяца разрабатывали по игре и зарабатывали хорошие деньги. Я откладывал на квартиру, хотел купить ее за наличку без ипотеки. Но потом Flash умер, а цены на HTML5 игры упали в 5-10 раз. Лавочка постоянного заработка накрылась, и передо мной встал выбор: идти искать работу или рискнуть и, живя на отложенные на квартиру деньги, начать делать свою игру, которая окупит мои вложения, и стать миллионером)


Я решил рискнуть и пойти по второму пути…

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

Разработка Necromancer Returns


На тот момент уже вышла игра Braveland, которая мне понравилась. Я понял, что смогу потянуть игру такого уровня и даже добавить свои фичи, которые улучшат идею.


Я прикинул сроки и бюджет - каким образом, я до сих пор не знаю, никакого анализа не было, просто пальцем в небо) Я решил, что игру сделаю за 3 месяца и мне понадобится 120 000 р. на фриланс и 50 000 р. на маркетинг. Хаха, какой я был наивный! Мои прикидки были основаны только на собственном опыте и с примерной поправкой на масштаб новой игры: при работе над прошлой игрой, Beasts Battle, я потратил на фриланс примерно 10 000р.

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

Что нового


Я решил сделать карту, по которой перемещается главный герой, как в Braveland, и это было основное нововведение по сравнению с Beasts Battle.

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

Также в игре появились подземелья. Каждого юнита можно было улучшить, как в Героях Меча и Магии. Появилось много артефактов, диалогов, заклинаний и так далее, всё, что принято для такой игры. А еще на тот момент я играл в первого Ведьмака, и там было множество разных побочных заданий. Это меня вдохновило, так что посреди разработки игры я решил ввести квесты. Один даже сделал нелинейный, с выбором.

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

В общем, игра значительно выросла в сравнении с Beasts Battle. Подглядывал я на три игры: HoMM 3, HoMM 5 и Braveland.


Команда


В Beasts Battle мы делали игру вдвоем. Но перед началом разработки новой игры наши пути разошлись. У меня в планах было нанять двоих художников: первый бы отвечал за юнитов и анимацию, а другой бы рисовал всё остальное (арены, локации, интерфейс, комикс, иконки и т.д.). Поначалу так и было, я нанял художников и всё шло нормально. Особенно хорошо работалось с тем, кто рисовал юнитов, мы с ним ранее делали вместе несколько игр на Flash. Но потом я познал всю боль работы с фрилансерами и вообще узнал, что художники могут не уметь рисовать всё. Фрилансеры могут пропасть, могут взять другие заказы, забить на тебя, несмотря на договоренности по деньгам и срокам. Из-за таких вещей всё затягивается.


По итогу, моя основная команда состояла из нескольких людей, а помимо них по тем или иным задачам мне в разное время еще помогали друзья, родственники и знакомые.


Основная команда: 6 художников, 2 сценариста, 1 композитор, 1 смм и я. На мне лежало всё остальное: программирование, организация процессов, маркетинг, финансирование, конференции и прочее.


Также я прибегал к услугам разных студий/аутсорса, где заказывал лендинг сайта, трейлер, локализацию игры на английский и пиар на западе. Из всего этого я доволен только одним пунктом, а в других случаях считаю, что слил деньги. Так что если заказываешь на стороне, то это еще не значит, что твою работу выполнят как полагается. Очередной опыт для меня.

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

Сроки/бюджет


А что там насчет того, чтобы сделать игру как запланировал? Скажу так: люди нифига не умеют ничего планировать, особенно сроки и бюджеты, если это долгосрочный процесс, а не пойти покушать или сходить поспать. Вышло так, что я жил на отложенные мной деньги и никакого заработка у меня не было, меня никто не содержал, жил я в чужом городе, снимая квартиру. Помимо того, что я сам кушал, я еще оплачивал всю работу фрилансерам, не было таких, кто работал за процент. Работал я каждый день без выходных на протяжении 8 месяцев. И вот у меня остается $1000, я понимаю, что всё… игра сделана примерно на 80% и мне не хватает денег её доделать. Я предпринимаю рискованный шаг, от которого уходил всё это время. Искать издателя (спонсора), который поможет профинансировать проект и выпустить его. Я очень не хотел этого, т.к. столько вложил денег и сил, и тут какой-то “спонсор” просто выложит игру под своим брендом и будет забирать 50% от дохода. Такие у меня были представления об издателях игр) Но я решаюсь и покупаю билет на ноябрьский DevGamm 2016 Minsk, плачу за самолет и бронирую отель.

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

DevGamm 2016 Minsk


Многие разработчики не понимают, зачем нужны эти конференции. Это трата денег и бла бла бла, в общем, все мы нищеброды недалекие (простите). Хочу сказать, что это очень ценное мероприятие и стоит своих денег. Жаль, что сейчас всё ушло в онлайн из-за пандемии.


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


Там я познакомился с локализатором игр, и мне подарили $500 на то, чтобы я в их компании заказал локализацию. От их команды со мной работал очень крутой парень, мы до сих пор общаемся, и по итогу он стал вторым сценаристом игры Necromancer Returns и был задействован в третьей игре.


У меня были встречи с 10-20 спонсорами, из них “типа” заинтересовались 1-2. Спросили про рынок, целевую аудиторию, что я хочу. И тут я понимаю, что наши цели по зарабатыванию денег отличаются значительно. Если я хочу отбить бюджет, а лучше — хотя бы удвоить его, купить квартиру в Калининграде, то для спонсора это вообще копейки и не имеет смысла. В итоге, по факту никому не интересна моя игра в плане бизнеса. И я возвращаюсь почти ни с чем.

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

Денег нет, но вы…


Вот и конец года, денег осталось немного, я начинаю искать работу с уверенностью, что её найду, ведь я такой классный разработчик игр (программист). Но тут я столкнулся с неожиданными трудностями:

- конец года, все готовятся к Новому Году и поиск новых сотрудников неактуален (не сезон для поиска)

- разрабатывая игры на flash (as3) и html5 (js), я отстал от рынка и моя актуальность как специалиста низкая. В тренде Unity (С#) и UE4 (С++)

Стал ждать, когда НГ каникулы закончатся. Начал ходить по собеседованиям, но всё было что-то не то: то я не подхожу, то мне неинтересно. Чуть не устроился на удаленку за зарплату в 2 раза выше, чем мне было необходимо. А также чуть не переехал в Минск, где зарплата была еще выше. Минск мне понравился, и я был готов, но не сложилось.

В итоге 31 января я вышел на работу как разработчик игр под блокчейн, но это уже другая история…

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

Завершение разработки


Теперь у меня есть работа с зарплатой меньше, чем я хотел, но я хоть могу оплатить аренду и покушать. Также у меня были заказы на портирование чужих игр с flash на html5. А еще мне надо было заниматься своей игрой. В итоге на протяжении 3х месяцев я уделял время 3м разным проектам: основной работе, заказам и своей игре. Потом я перегорел и отказался от заказов. Каждый день я приходил после работы и до ночи занимался своим проектом. И таким образом моя разработка игры затянулась еще на год.

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

Маркетинг


Разработка игры закончилась, она активно тестировалась, и я понял, что нужно ее как-то продвигать. Я нанял сммщика, который делал посты в ВК, может и где-то ещё. Это был слив денег, я никакой пользы от этого не ощутил. Сам я рассылал блогерам письма об игре, писал в разные паблики, заказывал посты, сочинял статьи и так далее. Всё в российском сегменте. Заказал на аутсорсе то же самое, но чтобы сделали на запад - слив денег. Это просто катастрофа, было очень жалко. Всё, что было в моих силах, я сделал. К сожалению, сам лично на запад я не мог выйти, у меня не хватало ресурсов/времени/знаний, чтобы этим заниматься так же агрессивно.

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

Релиз


01.02.2018. Я выбрал эту дату, т.к. после Новогодних каникул мир начинает оживать, и все игроки возвращаются к своим компам. Я проверил, что в эту дату никакие похожие инди игры в данном жанре не выходят и никакие громкие тайтлы тоже. Но время релиза я выбрал неудачное: запад еще спал – это стало еще одним уроком для меня.


И вот, слежу я за метриками, продажами. Моя игра попадает на какие-то страницы как горячая новинка, это хорошо, но на главную страницу стима она не фичерится. И тут я вижу, что в этот же день выходит игра в том же жанре и полностью бесплатно!!! Free-to-play, сочная, 3D и так далее. Вот это был попадос!!! Эта игра выходит в топ, а моя уже никому не нужна, т.к. по графике ей уступает.

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

Те, кто добавил игру в wishlist, в день релиза ее не купили, а я рассчитывал хотя бы на 10% от их числа. В общем, игра принесла в разы меньше, чем я ожидал, даже близко не отбила свой бюджет. И я, разочарованный, ухожу на год в депрессию и не занимаюсь разработкой личных игр…

Как я решил сделать игру, вдохновившись HoMM, и потерял деньги (часть 2) Beasts Battle, Gamedev, Герои меча и магии, Steam, Деньги, Инди, Business, Видео, Длиннопост

Итог


На момент релиза я вложил в игру $15,500. И в течении года ещё её обновлял на $1,500.

За день игра продалась в 144 копий ($879)

За месяц игра продалась в 679 копий ($4,538)

За год игра продалась в 1,908 копий ($13,237)

Из них 30% Steam забирает себе, потом еще возвраты, налоги и можно делить смело сумму пополам.

$13,237/2 - $17,000 = -$10,380


Данная игра дала мне очередной огромный опыт. Дала понять, что я могу собирать команду, руководить процессом и доводить дела до конца. А вот зарабатывать деньги мне еще предстоит научиться.


В третьей части я расскажу о том, как я пытаюсь применить полученный опыт в разработке моего нового проекта - Magicians Legacy.


А если вам интересно чуть более пристально следить за жизнью инди-разработчика, то приглашаю вас в группу ВК. Заодно там можно почитать свежие новости о разработке нашей игры.


Пообщаемся!

Magicians Legacy в Steam

Показать полностью 12
221

Жизнь инди разработчицы, размером в пост

Всем привет, решила освоить новые просторы интернета, и вот, добралась сюда, к вам.

Это будет маленький длиннющий пост, на окологеймдевную тему, приготовьте ваш любимый напиток и печеньки.


Начну о себе. Учусь в школе, пол года назад начала увлекаться созданием игр, сделала два проекта для джемов, а сейчас веду несколько пабликов и активно занимаюсь разработкой своего "2д рогалика в открытом браузере".


Коротко о том, как я попала в геймдев. Нет-нет, мой юный читатель, все было не так, как ты подумал. Я сидела на уроке, и услышала, как мальчишки обсуждали, "как здорово было бы создать свою идеальную игру", и тут в мою голову закралась идея, а чем я хуже?

Жизнь инди разработчицы, размером в пост Pixel Art, Инди, Истории из жизни, Игры, Gamedev, Гифка, Длиннопост

1. Игры это интересно.

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


2. За десятью зайцами.

Нужно было с чего-то начать, но как понять, что у тебя лучше всего выходит? Правильно, пуститься во все тяжкие (злобный смех). Итак, в предвкушении своего будущего хита, я условно разбила его на три части. Сюжет, графику и музыку. Придумала цель игры, нарисовала героя, нашла в интернете пару картинок с фонами и музыку, которая должна звучать в игре. Но как быть дальше? Ведь надо это все объединить. И тут я столкнулась с непростой задачей. Найти программиста, или делать все самой? Сама я конечно сразу испугалась, изучать языки программирования и прочие штуки, необходимые для написания игровой логики, по этому решила найти единомышленников. Но увы, поиски не увенчались успехом, от слова совсем. Либо, я никому не была интересна, из-за отсутствия опыта, либо те, кто соглашались, вскоре отказывались, по той же причине.

Жизнь инди разработчицы, размером в пост Pixel Art, Инди, Истории из жизни, Игры, Gamedev, Гифка, Длиннопост

3. Фэйсконтроль.

Ничего не оставалось, как самой выбрать движок и начать делать свою игру. Снова гугл, ютуб, запросы на темы, какой движок лучше. Мой выбор сразу же пал на Юнити. О да, это то, что мне нужно, подумала я. Бесплатные ассеты, с которыми любой новичок сможет сделать свою игру и много видео-уроков в интернете. Каково же было мое удивление, когда я первый раз его скачала. Наверное, я ощутила себя самым тупым человеком на свете. Но, я не стала сразу отчаиваться, и решила спросить помощи в группе в контакте. И о чем я думала, когда решила у них спросить, какой движок лучше... Вообщем, теперь я забанена во всех группах и чатах по Юнити. Тем не менее, осталось еще несколько движков. На этот раз, я решила выбрать самый простой, и им оказался Construct 2.

Жизнь инди разработчицы, размером в пост Pixel Art, Инди, Истории из жизни, Игры, Gamedev, Гифка, Длиннопост

4. Первые шаги ошибки.

Делать игру оказалось на удивление просто, и уже за 2 недели я сделала свой первый уровень. Он, конечно был далек от идеала, но это был мой уровень, и, даже сложно передать, насколько меня тогда переполняли эмоции. Но эта эйфория длилась не долго. Я столкнулась с сотней проблем, когда начала делать новые уровни. Мне пришлось полностью переписывать всю логику, чтобы игру можно было развивать дальше. Месяц, за который я хотела закончить игру сильно растянулся.

Жизнь инди разработчицы, размером в пост Pixel Art, Инди, Истории из жизни, Игры, Gamedev, Гифка, Длиннопост

5. Я сделяль.

Спустя два месяца у меня что-то получилось. Коротенькая демка из трех уровней, проходившаяся за 10-15 минут. Она была сразу же залита на хостинг, и отдана на растерзание публике. Несмотря на различные баги и ошибки, многим она понравилась, и игроки захотели продолжения. И тут я снова столкнулась с отсутствием опыта. Для добавления в игру новых механик, мне нужно было заново все переписывать, так как вся игровая логика начинала конфликтовать друг с другом, а позже и вовсе выяснилось, что я столкнулась с проблемой которую не смогла решить. И чтобы, банально, добавить в игру новый тип оружия - лук, нужно было полностью перерисовывать все анимации героя, а на данный момент я нарисовала их уже более десятка. На этих нотках, я решила завязать с геймдевом.


6. До лучших времен.

Три месяца я не занималась ничем, что было бы связано с разработкой игр, лишь изредка заходя на форум и в паблики. Было дикое желание забыть все это как страшный сон, и я даже воевала с админами, чтобы те, удалили мою тему, но они настояли на том, что не нужно этого делать. Но, либо гордость, либо высокое ЧСВ, не давало мне покоя. Неужели, я так никогда и не закончу эту игру. И однажды, я наткнулась на пост, в котором рассказывалось о том, как один разработчик использовал баги в своей игре как фичи. И я начала искать решение давно забытой проблемы. Искать, как ее можно обойти, или найти альтернативу. Вскоре, я нашла решение, отказавшись от луков и заменив их на пистолеты. И вновь загорелась идеей, сделать интересную игру.

Жизнь инди разработчицы, размером в пост Pixel Art, Инди, Истории из жизни, Игры, Gamedev, Гифка, Длиннопост

7. Новая старая жизнь.

Заново, открыв свой проект, я увидела, насколько ужасным он был. Ну чтож, переделывать все с нуля ,я уже была научена. А к этому времени уже вовсю развивалась новая версия движка, на котором я разрабатывала игру. Чтож, если и делать игру заново, то делать ее на новом двжике, учтя все старые ошибки в структурировании проекта, разработке документации и возобновлении, когда-то созданных тем и пабликов.

Жизнь инди разработчицы, размером в пост Pixel Art, Инди, Истории из жизни, Игры, Gamedev, Гифка, Длиннопост

8. Меня лайкнули.

Наверное, мне было бы не просто, без замечательного сообщества, готового откликнуться на просьбы о помощи, а также теплой поддержки подписчиков и позитивной критики других игровых сообществ. Отдельное спасибо хотелось бы сказать форумчанам c2community и модераторам группы Flatingo, позволяющим новичкам вроде меня рассказать о себе, получить немного фитбека и поддержки. А она особенно нужна, когда приходится совмещать учебу, кружки, факультативы и разработку.

Жизнь инди разработчицы, размером в пост Pixel Art, Инди, Истории из жизни, Игры, Gamedev, Гифка, Длиннопост

9. Быть или не быть.

Мое становление как разработчицы игр начиналось со слов "если ты не готова к критике, то тебе не место в геймдеве" и возможно они были правы. Не стоит обижаться на тех, кто указывает на наши ошибки и недостатки. Постарайтесь и это принять с пользой. Например, все мои критики, теперь мои самые любимые тестеры, и их даже просить об этом не нужно. Удобно, одним словом. И если у вас есть какой-то незаконченный проект, и вы раздумываете... Просто попытайтесь найти в себе силы и вернуться к нему. Никто ведь не запрещает в нем что-то поменять.

Жизнь инди разработчицы, размером в пост Pixel Art, Инди, Истории из жизни, Игры, Gamedev, Гифка, Длиннопост

10. Надо только захотеть.

Крутой разработчицей я конечно же не стала, зато приобрела ценный опыт и познакомилась с интересными людьми, а также готовлюсь к выходу своей игры. Решила сразу не прыгать в Стим, а начать хотя бы с Итча. Кстати, это будет уже моя вторая попытка туда попасть. А если, вам понравится этот пост, то я постараюсь написать и об этом.


Не знаю, как в Пикабу относятся к ссылкам на игры и проекты в разработке, по этому не стала их прикреплять. Надеюсь, я смогла вас вдохновить на новые свершения. Всем удачных релизов!

Показать полностью 7
312

Вот это поворот!

Собрали прототип и дали паре ребят для тестов. Ребята играют, проходят, мы смотрим на то как играется. В конце я решил задать глупый вопрос: "как бы вы описали игру, она вам что-то напоминает или вы такого еще не видели?"


И тут один игрок раскрыл мне глаза. Далее часть диалога, игрок - И:

И: ну, это напоминает Portal, Talos Principle и Witness

Я: что именно напоминает Portal?

И: нужно решать головоломки ... нужно ходить ... и еще я заметил у вас есть порталы

Я: где порталы? какие порталы?

И: ну вот эти (и показывает)

Я: так это же спец.двери

И: ну какая разница, ты же проходишь через них и куда-то попадаешь...


И тут мне уже нечего было ответить:

Вот это поворот! Игры, Тестирование, Игроки, Разработка, Инди, Gamedev, Реальная история из жизни, Портал, Альфа-Тест
674

Пост про игру, которую я делаю в свободное время

Решил всем рассказать о своём маленьком проекте и может получить какой-то фидбек, в плане стоит ли его развивать вообще. Это будет игра для мобильных устройств о дрэг-рейсинге со встроенным симулятором механика. В отличии от других гоночных игр, в моей будут обычные машины, которыми владеют большинство людей, а не суперкары. В игре будет магазин, в котором игрок сможет купить запчасти и прокачать своё авто. Ну и всякие там гонки, турниры и т.д. Вот несколько скринов проекта.

Пост про игру, которую я делаю в свободное время Инди, Gamedev, Drag racing, Тазы, Длиннопост

На данный момент есть только одна моделька машины и то не вся, кузов и несколько деталей.

Пост про игру, которую я делаю в свободное время Инди, Gamedev, Drag racing, Тазы, Длиннопост

В мастерской можно осмотреть установленные детали, что-то снять или установить новое.

Пост про игру, которую я делаю в свободное время Инди, Gamedev, Drag racing, Тазы, Длиннопост

Подвеска анимирована, все рычажки двигаются. Прокачанные детали можно будет в магазине купить за внутренние деньги.

Пост про игру, которую я делаю в свободное время Инди, Gamedev, Drag racing, Тазы, Длиннопост
Пост про игру, которую я делаю в свободное время Инди, Gamedev, Drag racing, Тазы, Длиннопост
Пост про игру, которую я делаю в свободное время Инди, Gamedev, Drag racing, Тазы, Длиннопост

Отдельно двигатель можно разобрать, собрать из других деталей, будет выполнить какие-то работы по расточке и настройки деталей. Для "симуляции" винтики нужно откручивать шуруповёртом ;-)

Пост про игру, которую я делаю в свободное время Инди, Gamedev, Drag racing, Тазы, Длиннопост
Пост про игру, которую я делаю в свободное время Инди, Gamedev, Drag racing, Тазы, Длиннопост

Ну самой гонки пока нет, можно просто потестировать физику авто. Но будут разнообразные соревнования, гонки с призами в разных локациях. Интересно Ваше мнение, людям будет интересно в такое играть? Естественно, тут ещё полно работы, прям много чего ещё нет, но потихоньку всё доделаю. Вдохновлялся мобильными играми как Drag Racing уличные гонки, CSR Racing 2 и игрой на ПК Street Legal Racing.

Показать полностью 6
75

Процедурная анимация движения персонажа

Этот пост скорее всего не будет полезен профессиональным аниматорам так как они делают анимации на завтрак, обед и ужин. Думаю их этим не удивить. Так же в посте отсутствует мат.часть ибо писал не для того чтобы учить кого-то. Пост в целом для того чтобы показать обобщенное направление работы и полученный мною результат.


Возникла необходимость сделать анимацию персонажа для игры, которую делаю "на коленке".

Ссыли на наработки по игре:

https://twitter.com/CGAleksey

https://www.instagram.com/cgaleksey


Чем не угодили mocap - анимации:

1) нужно искать наиболее подходящие анимации

2) нужно много анимаций

3) визуально анимации должны сочетаться


Покопавшись в сети и немного поэкспериментировав с аниматором, пришел к тому, что для создания реалистичной анимации нужно записывать анимацию непосредственно с человека.


Можно брать готовые анимации с https://www.mixamo.com но есть НО:

1) анимации неуникальны

2) все же урезаный набор анимаций


Побираясь, как бездомный в чьем-то ведре, в поисках нужных анимаций в течении недели я собрал некого Франкенштейна. Именно Франкенштейна потому, что анимаций надыбал отовсюду. Ходил персонаж как офисный работник, крался как эльф 80-го уровня, приседал как человек-паук. Шучу, все было не так уж и ужасно, конечно, для обывателя может и пойдет, а вот меня все же неустраивало разношерстность анимаций. Хотя блендинг и прочие процедурные фишки сильно улучшали дело... Да и ноги не прилипали к земле как надо. Меня это жутко раздражает, когда анимация персонажа не на 100% соответствует тому, что он делает, ноги проходят сквозь пол, руки сквозь стены... ну вы поняли, 21-й век как никак.


Что важно для анимации персонажа: нужно передать ощущение того как персонаж передвигается с учетом физики. Короче, аимация нужна процедурная. Это крайне важно для нашего 3D паззла от первого лица.


Итак поехали. Обобщенно задача состоит в разработке системы анимации персонажа таким образом, чтобы можно было относительно гибко настраивать анимацию под свои нужды (корче, еще раз, чтобы анимация была процедурной).


Для реализации этого, нужно знать что есть инверсная кинематика и уметь ее. Погуглив и ознакомившись собрал простейшую IK, подключил пару костей. Работает. Добавили ограничения, чтобы локти не выворачивались в другие стороны и чтобы кости были похожи на кости. Сделано.


Далее, настало время для машинного обучения. Подключаем обучалку к ногам и обучаем ноги ходить, а руки крутиться. На Github был пример с какими-то бегающими человечками с разным количеством ног. Этот проект лег в основу. Далее не помню как закончил этот адский ад.


В итоге после 2-х недель возни по 12 часов со всей этой ерундой у меня на столе лежал набор как-то дергающихся тестовых конечностей. Кстати, некоторые видео сохранил. Не думал что решу писать об этом пост:

Отлично, цепляем все к боди, еще немного IK и получаем что-то типа (одно из приближений):

Внимание на лодыжку ^. C ней вечно были проблеммы. Дело в том, что наш робот сделан инженерами-конструкторами и соединения должны гнуться строго по оси и никак иначе. Хотя это далеко не последний вариант робота, но в целом все примерно так. (Спойлер: соединение ложыжки мы все же переделали. Инженеры поставили его на 3 гидропривода, что дало нужное число степеней свободы).



Далее используем наш ИИ для ноги. Не зря же нога у нас обучалась ходить сама по себе без тела XD


Подключаем ИИ к ногам и говорим им болтаться:

А теперь ногам приказываем ходить. Здесь нет отклика от пола, ноги не воспринимают коллайдер пола. Иначе роботу на самом деле пришлось бы пойти.

Ну вот все что сделано выглядит вроде и ничего, по отдельности. Когда я соединил все в одно тело, то понял: емое... Позиция ноги, руки, головы (короче, каждой части тела) должна вносить изменение в позицию всего тела и следовательно влиять на другие конечности. Иначе робот ходил как деревянный буратино. Ничего не поделаешь, видать именно так ходят "идеальные" машины лишенные уникальности (уровень робота "Вертер" достигнут!):

Повозившись еще с инверсной кинематикой и мозгами всех частей тела, все же удалось сделать анимацию более естественной.

Здесь экспериментирую с тем как робота придавливает плита. Робот должен корректно анимировать позицию своего тела:

На вторые руки не обращайте внимания. Сделал доп.пару рук чисто для себя, для сравнения того как разные алгоритмы будут обрабатывать стену.


Что хотелось бы добавить. Полностью избежать использования mocap анимации не удалось. Почему так? Дело в том, что роботу нужна индивидуальность, стиль перемещения. именно для этого ему даются наборы анимаций с которых он перенимает пластику движения и испоьзует ее при расчете процедурной анимации перемещения. Как-то так.

В тестах использовалась модель-аналог робота Федора. Извините, это неточная копия. Чертежей не было, собрали "на глаз" XD

Показать полностью 6
77

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist

Создание искусственного интеллекта в стелс-играх обычно требует уникального подхода. В отличие от большинства экшенов или шутеров, в стелс-играх значительно чаще нужно наблюдать за поведением противников со стороны, а также постоянно ими манипулировать. Хорошие игры жанра заставляют игрока не только изучать эту систему, но и влиять на нее.

В этом материале мы расскажем, как разработчики создают интересные модели восприятия у NPC — на примере Tom Clancy’s Splinter Cell: Blacklist. Для этого мы изучили статьи и лекции разработчиков (1, 2, 3, 4).

Автор: Денис Дудушкин

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Творческие задачи разработчиков

Перед разработчиками Blacklist из Ubisoft Toronto стояла непростая задача. Во-первых, студия решила сохранить созданный еще в Conviction простор для игрока и оставить опцию прохождения игры «напролом». Для этого нужно было создать комплексную систему поведения искусственного интеллекта, который бы реалистично действовал и в открытом бою, и в скрытном прохождении.


Во-вторых, по словам ведущего аниматора игры, разработчики стремились создать «самый насыщенный и большой Splinter Cell в истории». Это также вынуждало специалистов по ИИ создавать более интересные паттерны поведения противников, чтобы они не наскучили к концу игры.

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Источник


Разработчики сформировали три ключевых принципа, которым должен соответствовать каждый элемент игры: честность, постоянство обратной связи, а также иллюзия умственной активности у NPC. Несмотря на кажущуюся логичность, эти принципы нередко конфликтуют друг с другом.

Кажется, что для «справедливого» игрового процесса реакция противников должна быть универсальной, вне зависимости от контекста. Но тогда бы получались ситуации, которые выглядят нечестно с точки зрения игрока. Например, если визуальный конус противника не учитывал бы укрытия, то Сэма Фишера замечали гораздо чаще: их зона покрытия зачастую очень условна, а спрятавшегося за машиной героя на самом деле хорошо видно.

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

С иллюзией разумности NPC всё ещё сложнее. Умный противник может обойти героя или действовать неочевидным образом. Это уместно в экшенах, вынуждающих героя постоянно менять тактику — например, в The Last of Us, где обнаружение не приводит к проигрышу, а, наоборот, создаёт интересный игровой опыт. В Blacklist же одна из опций прохождения — «чистый» стелс, в котором подобные случайности, приводящие к обнаружению, неуместны.


Мартин Уолш, глава департамента AI, Ubisoft Toronto:

Противники должны демонстрировать интеллект. Если они кажутся тупыми, игрок не получит удовольствия от победы над ними. Но вот что интересно: «не быть тупым» не обязательно означает «быть умным». На самом деле, это значит «всегда быть правдоподобным».

В Blacklist восприятие противников, делится на четыре категории: визуальное, аудиальное, социальное и умение понимать особенности окружающей среды.

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Визуальное восприятие

Во время прохождения стелс-боевиков игроки чаще всего анализируют именно поле зрения противников. Как правило, разработчики реализуют его в виде примитивного конуса. С давних времён эта форма зарекомендовала себя как простая, но эффективная. Поэтому даже сегодня в большинстве игр жанра можно встретить именно конусовидное восприятие.


Но настоящее человеческое зрение людей устроено сложнее. Например, оно использует периферийное зрение, которое в стелс-играх часто игнорируется из-за того, что вершина конуса восприятия слишком узкая. Ubisoft Toronto пошла другим путём: область обнаружения в Blacklist имеет «гробовидную» форму.

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Источник


Около половины площади фигуры в центре занимает обострённое зрение. Если герой попадает в эту область, его замечают очень быстро. Всё остальное пространство занимает периферийное зрение — оно имеет почти максимальную ширину даже у самого основания. Из-за этого подкрасться к противнику сбоку становится значительно сложнее.


Также у врагов сзади есть два небольших «крыла» зрения. По словам Мартина Уолша, они имитируют «шестое чувство» противников, то есть ощущение, когда человек буквально чувствует, что кто-то крадётся у него прямо за спиной.

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Высота фигуры восприятия также выбрана неслучайно. Геймдизайнерам нужно было, чтобы Фишера не замечали, когда он находится над противниками. Эта высота всегда статична, так как она служила важной метрикой для левел-дизайнеров.


Габариты фигуры отличаются в зависимости от выбранной игроком сложности, а также от архетипа конкретного противника. Скажем, у снайпера область обострённого зрения будет значительно дальше, чем у остальных врагов.

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Важно проработать и сам процесс обнаружения. В реальном времени из глаз противника проецируется восемь лучей, которые направлены на восемь частей тела главного героя. Если луч на своем пути не сталкивается с физическим препятствием, противник замечает Фишера. Чем больше лучей одновременно подсвечивают героя, тем быстрее противник его обнаружит.


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

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Источник


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


Восприятие окружающей среды

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

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Но в Blacklist всё иначе. Здесь противникам нужно понимать, что, к примеру, у определенной комнаты есть 2 выхода, а также помнить о том, был ли включен свет в помещении. Чтобы имитировать это знание, Ubisoft Toronto использовала систему TEAS, которую придумали ещё во время разработки Conviction. Она состоит из двух элементов.


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


Второй — группа автоматически сгенерированных точек, которые делятся на две связанные категории. Позиционные выделяют конкретные места каждого отдельного участка, а точки проходов располагаются на пересечении локаций.

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Источник


Такая простая в реализации система оказалась очень эффективной: NPC могут быстро и уверенно искать Фишера в разных локациях, ориентируясь по точкам. К тому же TEAS позволяет генерировать и более интересные модели поведения. Например, если игрок загнал себя в тупик и оказался в комнате с единственным выходом, противник узнает об этом, ориентируясь на только одну точку пересечения локаций. Поэтому он сможет не штурмовать помещение, а просто перекрыть герою единственный выход из комнаты.


С интерактивными объектами ИИ работает ещё проще. Когда игрок изменяет состояние какого-либо объекта — например, открывает дверь или выключает свет, — система создаёт временное «важное» событие для интеллекта противников. Если за определённое время NPC визуально заметит изменение, он пойдёт проверять, всё ли в порядке.


Временной отрезок нужен для того, чтобы сделать поведение противников правдоподобнее. По задумке разработчиков, если объект изменил состояние совсем недавно, то это вызовет подозрение. Но если это случилось давно, то ИИ может и проигнорировать изменения, что можно объяснить забывчивостью.

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Источник


Аудиальное восприятие

Несмотря на то, что Blacklist уступает по комплексности проработки звука предыдущим частям франшизы, его восприятие всё еще играет важную роль в создании реалистичного искусственного интеллекта. Главная техническая проблема заключалась в том, чтобы построить корректный путь между источником звука и ухом противника.


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

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Оптимальным и очень простым решением стало использование всё той же TEAS. Источник звука привязывается к ближайшей позиционной точке, а затем распространяется до противников, двигаясь от одного доступного узла к другому. Так система минует физические барьеры и «узнаёт» примерное расстояние до уха противника.


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

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Но разработчики решили изменить распространение звука, ведь честность с точки зрения игрока важнее абсолютной справедливости системы. Решение вновь оказалось несложным: у противников, которые находятся не в поле зрения героя, чувствительность к звуку снизили в два раза.


Чтобы игрок лучше понимал мотивацию и цели противников, NPC проговаривают большинство своих мыслей вслух — такие реплики называются «лаем». Они помогают игроку быстрее усваивать паттерны поведения противников. «Лай» встречается в большинстве современных игр, но в Blacklist он разделён на три категории.

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

В первую попадают подробные и специфические фразы. Например: «Кажется, я слышал шаги». Во вторую категорию попадают более общие фразы, которые используются в идентичном контексте: например, «Кажется, я там кого-то слышу». Наконец, в третью входят совсем обобщённые предложения: «Кажется, там кто-то есть» или простое «Хм».


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

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост

Социальное и контекстное восприятие

В отличие от предыдущих моделей восприятия, социальная и контекстная перцепция встречаются в играх жанра довольно редко. В Splinter Cell Blacklist они несут не столько функциональный, сколько эстетический характер. Иллюзия того, что противники всегда учитывают особенности каждой отдельной локации придаёт им интеллекта в глазах игрока. Никакой полноценной системы здесь нет. Для большинства ситуаций разработчики вручную прописывали контекстные ремарки.


Скажем, в миссии на складе на улице льёт проливной дождь. Если попробовать отвлечь противника свистом или шумовой гранатой на открытой местности, то он сначала спишет всё на ливень. И лишь на второй раз он пойдет смотреть, что произошло. Более того, если в этой миссии отвлечь противников во время диалога, то они так же контекстно отреагируют на шум. Похожие детали встречаются и в других заданиях.

Как устроен ИИ в стелс-играх — на примере Splinter Cell: Blacklist Xyz, Стелс, Игры, Компьютерные игры, Искусственный интеллект, Gamedev, Длиннопост
Показать полностью 15
5078

Нейросеть Гугл.Брейн научилась создавать 3D модели достопримечательностей из тысяч фотографий туристов!

Видео без звука.

Отсюда - https://redd.it/i731rp

1754

Прокрутил фотку через Pantomime, помог Белле лучше сыграть в "Сумерках"

Увидел у @ProfessorDowlell сервис pantomime.it . Там можно загрузить фото себя, свой собаки и всех кого хочешь и заставить изображать самые популярные эмодзи. Подумал, что это точно поможет Белле из сумерек.

Прокрутил фотку через Pantomime, помог Белле лучше сыграть в "Сумерках" Сервис, Искусственный интеллект, Deepfake, Гифка, Кристен Стюарт, Эмоции, Нейронные сети, Актеры и актрисы
Прокрутил фотку через Pantomime, помог Белле лучше сыграть в "Сумерках" Сервис, Искусственный интеллект, Deepfake, Гифка, Кристен Стюарт, Эмоции, Нейронные сети, Актеры и актрисы
Прокрутил фотку через Pantomime, помог Белле лучше сыграть в "Сумерках" Сервис, Искусственный интеллект, Deepfake, Гифка, Кристен Стюарт, Эмоции, Нейронные сети, Актеры и актрисы
1326

Как работает искусственный интеллект врагов при групповом бое

Привет, меня зовут Сергей Праздничов, я — геймдизайнер, работал над Rainbow Six Siege и другими известными AAA-проектами.


Сегодня я расскажу о том, как работает логика врагов в групповых битвах. Этим мне доводилось заниматься на двух проектах; плюс параллельно с этим я исследовал другие игры, — чтобы разобраться, как в них устроена эта система.


Для интересного сражения мало просто выпустить противников на игрока — разработчики часто регулируют искусственный интеллект мобов особым образом, чтобы бои получились более захватывающими и интересными. О тонкостях настройки интеллекта врагов и пойдёт речь в этом материале.


Автор: Сергей Праздничнов


Особенности групповых сражений


В большинстве игр стараются не делать полноценный групповой бой, ограничиваясь схватками один на один или один на два. Концентрация врагов чаще всего не очень высокая: для красоты сражения создаются небольшими. Это сделано не только для кинематографичности, но и для того, чтобы было не так сложно реализовать это визуально и технически.


С точки зрения дизайна размещение противников и организация боя представляет собой трудную и интересную задачу. Бой в игре работает не так, как в реальности. Например, во многих играх мобы даже не видят друг друга, — только игрока.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Групповой бой можно разделить на два основных элемента. Первый — как мобы организуются вокруг игрока, то есть их расстановка. Второй — способы организации их атак.


Позиционирование врагов


Во многих играх есть множество слабых противников и один сильный герой, который их с лёгкостью побеждает. В этих играх враги гармонично располагаются вокруг игрока, — и не просто так. Чаще всего вокруг игрока (иногда — вокруг моба) строится область определённой формы — например, это может быть круг. В эту форму входит заданное количество точек, — обычно не очень большое.


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

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост
Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

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


Отсюда возникают сложности при организации группового боя в играх от первого лица. Взять, к примеру, Dying Light. Там довольно трудно было организовать бой с людьми так, чтобы они все размещались перед лицом игрока, — ведь угол обзора намного меньше, чем в играх от третьего лица. Ты не видишь, что находится сбоку или сзади.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Если противников в игре от третьего лица слишком много, то разработчики тоже строят массив точек, но размещают врагов уже по двум или более областям-орбитам. Тогда игрока атакуют лишь мобы с ближней орбиты.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Конечно, такой бой может получиться немного скучным: чтобы это предотвратить, враги меняются орбитами, переходя из ближней в дальнюю, или наоборот. Это увеличивает разнообразие противников в бою.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Особенно это актуально для врагов разных архетипов. Условно говоря, один противник может быть с мечом, а другой — с копьём. Если они перемещаются, то получится интересный геймплей. Но если стоят на месте, то один будет всё время ждать, когда убьют другого, — это не очень здорово. О подобном перемещении рассказывали, например, разработчики Devil May Cry.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Как AI выбирает момент для атаки?


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


Впрочем, иногда такой способ обусловлен типом игры или типом AI. Так, в Days Gone орда атакует тебя одновременно, чтобы показать, что игрок сейчас делает слишком рискованные шаги. Одновременная атака со стороны зомби работает как наказание для игрока, — это сделано специально.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

В остальных случаях, если мы хотим получить грамотно поставленный бой, то приходится прибегать к некоторым ухищрениям. Тут важную роль играет постановка, — прямо как в кино. Поскольку каждый противник имеет свой шаблон поведения, прописанный сценарий боя и паттерны атак, то часть атак может быть завязана на таймерах.


Допустим, круговую атаку враг будет применять раз в несколько секунд. И поскольку у многих противников в бою эти кулдауны банально не совпадают, то высока вероятность, что противники не будут атаковать все и сразу. То есть, можно поставить вокруг игрока пять врагов с таймерами и разнести атаки по времени. Тогда сначала ударит первый и запустит кулдаун, затем второй — и так далее. Для подобного метода врагам не нужно знать о существовании друг друга, — это самый простой вариант.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Есть способ поинтереснее — таргетлок или блокировка цели. Мобы всё ещё не видят друг друга, но кто первый атаковал, тот ставит на игрока маркер, — особую логическую отметку. Другие мобы видят, что этот маркер появился. А в логике AI прописано, что если на игроке стоит отметка, то атаковать его не нужно.


Это работает как туалет в самолёте: загорается красный — значит «занято», и при этом ты не знаешь, кто внутри. AI тоже не важно, «кто внутри», — ведь главное, что цель занята.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Сам маркер можно сделать счётчиком, не ограничивая его единицей. Тогда, скажем, если на игроке будет стоять маркер «единица», то его может атаковать ещё один враг, а если «двойка», — то никто атаковать дополнительно не будет. Классический пример — The Last of Us. В ней битвы построены в форматах «один на один» или «один на два». Во второй части есть и более масштабные битвы, но они уже больше работают на напряжение и саспенс.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Мобы видят, что маркер есть, и не атакуют. Когда атака проходит, то AI как бы снимает свой маркер. Теперь маркер может наложить кто-то другой. Сделано это для того, чтобы один и тот же враг не атаковал постоянно. Сам игрок не успевает ничего заметить, ведь маркер перманентно сменяется. Для него получается просто интересная битва.


Следующий тип — слоты вокруг игрока. Вокруг игрока задаётся некоторое количество доступных для боя слотов. Каждый противник при этом «весит» определённое количество ячеек. Например, у игрока пять слотов, а в игре есть лёгкий мечник, тяжелый враг с щитом и командир отряда. Каждый из них может занимать определённое количество слотов. Мечник — один, враг со щитом — два, командир — четыре, а босс — пять. Когда противник вступает в бой с игроком, то занимает отведённые ему слоты. И если предел, который указан на игроке, достигнут, другие мобы просто не могут атаковать.


Это удобная и гибкая система. Она настраивается как со стороны игрока, так и со стороны врагов. Можно выставить противнику его «вес», то есть обозначить важность для этого боя. Но и игроку можно настроить число доступных слотов — так появляется дополнительный способ регулировки сложности.


К примеру, Hard будет отличаться от Easy разным количеством слотов на игроке. На Easy — пять слотов для врагов, на Hard — десять. Тут нужно быть аккуратным, чтобы не перегнуть. Баланс в любом случае придёт только вместе с плейтестами.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Последний тип, который я затрону, — это файт-директор (или глобальный AI, или планировщик). На разных проектах его называют по-разному. Например, в Horizon Zero Dawn был HTN — планировщик сети иерархических задач (hierarchical task network planner). А в F.E.A.R. она так и называлась — файт-директор.


Здесь помимо логики AI есть некая глобальная система сверху, которая знает о существовании всех AI в определённой области, имеет представление об их действиях и маршрутах, отслеживает изменение ситуации на сцене. К примеру, когда игрок появился в определённой области, система считывает это как угрозу и может давать указание AI более низкого уровня. Допустим, отправив врагов в патруль, чтобы найти игрока.


Когда начинается битва, глобальный планировщик может отдавать приказы как отдельным мобам, так и группам. В той же Horizon Zero Dawn бывало, что если напасть на группу роботов, то часть из них убегала, часть вступала в битву, а оставшиеся вообще творили нечто необычное.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Такая система — самая глобальная и тяжёлая. Она показывает впечатляющий результат, но на её создание требуется очень много усилий. Ведь тут нужно учитывать логику не только каждого отдельного AI в игре, но и отслеживать более глобальные события на уровне, а уже исходя из этой информации распределять врагов.


Поэтому для игр в духе Spider-Man или серии Batman Arkham характерен «киношный» подход: когда вокруг тебя стоит и пританцовывает куча противников, а нападает максимум парочка из них. Так создаются красивые, но не слишком реалистичные боевые ситуации.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Система файт-директора для таких игр не очень актуальна, проще решить всё слотами, маркерами или таймерами. Глобальный планировщик хорош для игр с открытым миром, в которых бои — не камерные и не постановочные. Тогда планировщик позволяет создавать более реалистичные ситуации.


Итог


В итоге у нас есть четыре основных типа систем AI врагов: таймеры, маркеры над целью, слоты и планировщики.


Нужно ещё понимать, что геймдизайна в вакууме не существует. Например, возьмём игру про супергероя, — те же Batman и Spider-Man. Там враги зачастую заметно слабее игрока. Сама хореография и постановка боя созданы так, чтобы игрок мог красиво «раскидывать» мобов. А чтобы их красиво раскидывать, они должны нападать по очереди, а не всем скопом.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост

Такая система есть и в The Witcher 3, и в Assassin’s Creed, — противники активно ходят вокруг тебя, меняя положение. Я не вижу в этом проблемы. Ключевой вопрос тут — насколько хорошо это сделано. Если противник стоит на месте, ничего не делая, и игрок это замечает, то это плохой подход; а если игрок убеждён, что сражается со всей толпой одновременно — хороший.


Конечно, иногда это выглядит довольно комично. Но стоит различать реальность и игровые условности. Ведь если на тебя в реальности нападут три человека с мечами, то, скорее всего, они зарубят тебя мгновенно. Так или иначе, ты вынужден будешь навязывать им битву один на один.


А в играх допускаются условности. В конечном счёте, задача игры — красиво поддаться игроку: для этого разработчики и создают все эти системы. Главное, — чтобы игрок не почувствовал себя обманутым, и чтобы ему не показалось, что его держат за дурачка.

Как работает искусственный интеллект врагов при групповом бое Xyz, Игры, Gamedev, Бой, Искусственный интеллект, The Last of Us, Assassins Creed, Гифка, Длиннопост
Показать полностью 15
1864

Ответ на пост «Яндекс обновил голос в русском переводчике. ( голос звучания )» 

Недавно был пост про то, что синтезируемый голос уже практически не отличим от человеческого.

Вот еще несколько примеров того, какими могут быть голоса в переводчике.

91

В честь сорокалетия Pac-Man, нейронная сеть Nvidia воссоздала эту игру с нуля

В честь сорокалетнего юбилея Pac-Man, нейронная Nvidia создала клон этой игры с нуля, просто изучая 50,000 чужих игр (записи видео с экрана и нажатия игроками кнопок на клавиатуре). Речь идет не только о создании играющего интеллекта, но и самой игры целиком - включая графику, механику, и звук - без участия программистов.

Это является первой удачной попыткой применения ИИ для самостоятельной разработки движков игр. В отличии от процедурной генерации, где вручную созданный алгоритм может генерировать случайный контент, здесь не только контент, но и сам алгоритм тоже создан ИИ.


В будущем, исследователи Nvidia полагают, что подобные алгоритмы смогут помочь в разработке и более сложных игр, а так же неигровых применений, таких как симуляторы для автономного вождения.

Показать полностью 1
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: