186

Как НЕ нужно делать игры

Да собственно говоря как мы не нужно делать =)


Предыстория такая.

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


Понимая что без опыта в gamedev ничего сложного начинать не надо, мы, вдохновившись Ori,

Как НЕ нужно делать игры Gamedev, Platformer, Совет, Мобильные игры, Видео, Длиннопост

решили сделать платформер с элементами RPG и логическими квестами, но для мобильных.


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


Далее мы начали делать игру.


И это была вторая и самая главная ошибка. Мы делали то что нравилось нам, не оценив ни целевую аудиторию ни экономическую составляющую.

Как НЕ нужно делать игры Gamedev, Platformer, Совет, Мобильные игры, Видео, Длиннопост

Мы сделали упор на проработанные 3d модели в 2,5д мире

Как НЕ нужно делать игры Gamedev, Platformer, Совет, Мобильные игры, Видео, Длиннопост

Сделали множество различных сеттингов и механик.

Как НЕ нужно делать игры Gamedev, Platformer, Совет, Мобильные игры, Видео, Длиннопост

Продумали сценарий и мотивации персонажей

Как НЕ нужно делать игры Gamedev, Platformer, Совет, Мобильные игры, Видео, Длиннопост

И нам хватило упорства и трудолюбия на то чтобы закончить игру.


Вот что у нас получилось:

Но закончив игру мы обратились к издателям и получили от них фидбэк с самым главным вопросом: Для кого эта игра?


И на этот вопрос мы ответить не смогли. Для казуальщиков слишком тяжело и много лишних деталей. Для хардкорщиков маловато РПГ крови и мяса и слишком всё "няшное".


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


Ну а я выделю основные наши ошибки\советы

1) Первым делом продумайте для кого ваша игра

2) Нарисуйте план хотя бы на бумажке и посмотрите аналоги

3) Просмотрели аналоги? Продумайте ещё раз для кого ваша игра

4) Проанализируйте сколько времени займёт её производство и стоит ли оно того.

5) Получите фидбэк от издателей на ранней стадии производства.


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


И будем рады любым советам от пикабушников и пикабушниц.

Найдены возможные дубликаты

Отредактировал PinkPanther 1 год назад
+34

Ошибка #6:

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

раскрыть ветку 1
+2
Если мужик будет орать влево, то многие подумают, что это просто копия какой-то игры
+14
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку 3
+2
Где тут кнопка Save?
;)
раскрыть ветку 2
+1
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку 1
+51

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

Надо перепахивать проект...

но блин, вы собралИсь и СДЕЛАЛИ игру, когда 90% не могут жопу от дивана оторвать


п.с. - анимация хромает сильно, и звук без изюминки

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

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

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

В тех играх, в которые я реально играл на смартфоне, я всегда делал звук погромче и цеплял наушники. Звуки это важно. Одна из этих игр - Limbo - как раз платформер

0

на самом деле можно на ori посмотреть и немного приблизить формат, не так много перепахивать надо.

+4

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

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

По-моему, неплохо получилось касательно графики. Довольно хорошо выглядит. Яб поиграл, когда выйдет.

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

Навскидку - графон весьма годный получился, но вот анимация совсем уж деревянная.

+11
Так если вы всегда мечтали делать игры, разве проект не должен, в первую очередь, приносить удовольствие вам? Не подстраиваясь, вы тем самым вкладываете душу в игру, а не создаете то, что хотят другие. Этим и отличаются инди от ААА.
раскрыть ветку 6
+9

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

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

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

В любом случае удачи вам, потенциал есть, как минимум это не 3 в ряд и не раннего про донат.

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

Привет! Проделана очень хорошая работа, вы молодцы! Но с камерой нужно что-то сделать, как мне кажется...к примеру делать пенальти после того, как отпустил кнопку влево-вправо и камера догоняет персонажа, не на одинаковое расстояние, как у Вас, а на это расстояние * коэффициент, который зависит от скорости бега или длительности нажатия на кнопку ходьбы(влево-вправо), или пройденной дистанции. А то по трейлеру чуток подходишь, а камера отлетает в ту сторону, а потом быстро возвращается обратно. При частом подходе на один-два шага - это будет карусель. Опять же, сугубо личное мнение) в целом вы молодцы, удачи и успехов!)

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

спасибо, подумаем, с камерой это отдельная песня уже 10 раз переделывалась )

+4

Уровень графики, совершенно не вяжется с уровнем анимации. Как будто сидели рисовали несколько недель, а потом за день на коленке анимировали глав персонажа.

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

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

+6

между казуалом и хардкором есть мидкор аудитория, если что :)

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

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

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

а у вас премиальная или планируете чисто с рекламы зарабатывать (если конечно нет внутриигровых донатов)?

+3
Я бы подбегал, но если честно, немного не хватает анимации персонажа. Например уши когда он бежит почти не шевелятся и при получении дамага тоже я не заметил анимации
раскрыть ветку 2
0

Уже сидим анимируем уши =) по изначальной задумке он у нас на них планировать должен был, но не сложилось )

раскрыть ветку 1
+2
Когда только увидел скриншот, тоже подумал, чтоонна них планирует.
+3

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


ну а про анимацию перса уже сказали...


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

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

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

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

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

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

Зайдёт ваша игра, сейчас тренд на неоклассику, а ваш платформер как раз получился в духе классики приставок 95ых - 00ых. Издавайтесь смело, закачки будут. И не слушайте никого, как работник гейм дэва вам говорю :)

+2

Да, анимация не очень, у ГГ особенно, физика ГГ тоже не очень(2-ой прыжок особенно выделяется), музыка\звуки хромают, fx эффекты тоже не очень, надо динамичнее.
Визуальная часть норм, для мобилки даже очень норм.

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

Это была первая ошибка, платформер это как раз таки сложно!
Да, это правда. Если это не понять в начале, обязательно споткнешься в середине пути.

раскрыть ветку 3
+2
А вы делайте для тех кто не залипает сутками в играх. Что бы в перерыве на кофе можно было поиграть. Что бы игра не требовала постоянного контроля и присутствия.
раскрыть ветку 2
+1

Ну я вот такую и делаю, тс так же =)
Только не в "тренде" такие игры. Хотя у тс графика хороша как для мобилки.
Или вы имеете ввиду матч3(3 в ряд)?

раскрыть ветку 1
+2
Я бы поиграла в такое.
раскрыть ветку 1
+1

ура! )

+2

Не люблю платформеры, но рисунки прикольные, антагонист из заставки напомнил мне что-то между Fran Bow и Edna & Harvey.

+6

Ерунду, батенька, вы пишете.

Форменную ерунду.


Игра — конфетка. Очень хороша.

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

Но основа — роскошная.


Издатели? Издатели подарили нам «Андромеду» и кучу подобных шедевров.

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

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


Но если портировать на пека и просто выложить в Стим -- людям точно понравится.

Может, вам стоит в первую очередь задуматься о портировании.

Может, и на приставки тоже. Она очень приставочная (в хорошем смысле этого слова).

Видимо, придется перепиливать графику (если она не рассчитана на большие мониторы). Но это дело техники. Главное, что основа очень хороша.


Да, работы предстоит еще много -- но главное уже сделано.

Остается только допилить напильником. Анимацию, да, надо доработать.


А связываться с издателем в наши дни -- такое себе.

На первых порах вроде бы хорошо, а потом можно сильно пожалеть.

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

Большое спасибо за положительный отзыв и дополнительную мотивацию,

На ПК игра в основном и тестировалась поэтому после запуска на мобильных платформах обязательно будем куда-то выкладывать ПК версию,


Для консолей у нас конечно текстуры не очень подходят но и об этом надеюсь когда нибудь задумаемся.

+2

в случае мобилок - издатель весьма полезен. Маркетинг из собственного кармана делать?

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

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

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

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

Оставьте всё как есть, выпускайте без издателей - может хоть что-то оригинальное появится. А версию 2 пилите по "канонам маркетелогов"

+1

В плане графония не увязываются несколько славные рисованные бэкграунды и модельки с унылыми серыми тенями. Извините. :(

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

Это уже поправили ))

+1

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

Все сугубо моё мнение.

И ещё после видео должно быть желание её скачать, а не пожалеть о потраченном времени.

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

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

Спасибо за отзыв.
у гг проблема со светом и анимациями первое уже поправили второе правим.


Про видео вы правы, исправим

+1

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

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

Если будет следующий проект можем попробывать )

+1

Как дилетанту-игроману игра понравилась, вполне может занять нишу, которую ещё никто не занял. Надо видеть положительное.

+1
Современные проблемы геймдева... Жаль, очень жаль. А ведь раньше именно так и создавались шедевры. Разработчикам было глубоко насрать на то, кто будет в это играть, они делали игру в первую очередь ДЛЯ СЕБЯ, такую игру, в которую они сами бы с удовольствием сыграли. Куда катится мир... В пропасть капитализма. А потом удивляемся, почему нет действительно хороших игр на мобилках. Да всё потому, что подобные действительно классные игры тонут среди тонн маркетингового говна.
+1

Игра на смарты с хорошей графикой и сюжеткой? Надеюсь, я доживу до релиза...


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

+1

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


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

+1

Про анимацию гг уже все сказали. думаю это даст сразу +100 к качеству картинки в целом, потому что на гг смотришь постоянно. Еще можно придраться к этим всплывающим цифрам урона, на фоне 3д выглядят просто и дешево, может просто всплывающие цифры?

Насчет того, что это и не для хардкорщиков и не для казуалов... имхо "милый" стиль совершенно не перечит хардкорности. Ори милый и сложный, hollow knight тоже, rain world это вообще ад хотя топ 1 по милоте.

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

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

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

в эту же тему - насколько оправдан этот "замах мечом"? тобишь время между нажатием удара и собственно уроном. Не припомню такого ни в одно платформере. Только в salt and sanctuary был выбор между медленным и дамажным оружием и быстрым и слабым. а если здесь оружие одно, то почти мгновенный урон дает ощущение более приятного управления персонажем.

ну и да - большущий респект за доделанную игру

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

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


У нас по сложности действительно получилось что то среднее т.к. я например фанат DarkSouls но под давлением коллег игру в разу упростили =)


Конкурентов мы внимателньо изучили просто изученными были Ori, и 3 топ платформера из апстора. На ваши теперь тоже обратим внимание, у меня теперь задача на выходные их пройти ))


По скорости не поверите но всё было в 1,5 раза быстрее, но на телефоне было уж очень хардкорно, пришлось замедлять.


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

+1

а на каком движке разрабатывали, если не секрет?

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

Unity

+1

Неплохо. Язык поменять и играл бы.

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

персонально обещаю русский язык )

+1

Игра хороша, исправить анимации и готово как по мне)

+1

А игра в стиле метроидвании что-ли? Тогда можете посмотреть механику hollow knight или salt and sanctuary очень годные проекты


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

И что дают донатные кристаллы? Это богомерзкий предмет =)

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

метроидванию не играл (( не знаю

проекты глянем, спасибо.

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


И да их можно докупить по задумке в магазике посколько хотим F2P и без рекламы.

Впрочем при должной сноровке пройти можно и без этого.

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

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

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

На свича её предложите, там любят индюшатину

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

Что за свич подскажите )

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

Nintendo Switch. Она туда просто просится

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

Делался ли прототип, показывался ли он группе тестеров, собирали фидбек?

раскрыть ветку 8
+3
показывался ли он группе тестеров

В жестком инди, кто эти люди?

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

В инди группой тестеров выступают посетители этого сообщества, или любого другого места, где можно выложить свое творение, со словами "оцените".

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

Группой тестеров выступали наши друзья =) и конечно всё что мы от них услышали учли и исправили. Но как понимаете выборка не очень большая.

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

Ага, а главное, друзья не скажут в лицо то, что вам потом будут писать другие игроки)

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


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

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

При определенных условиях могу помочь допилить юзабилити, управление и анимации. Skype: normalsetsu. А вообще в любом случае напишите, что-нибудь придумаем.

0

Надо было делать как остальные хйню с непонятным управлением, названием war kingdom slash magic dead King rise of sword spear battle nation и мужиком, орущим вправо.

На самом деле годных мобильных игр крайне мало, прям очень мало.

Могу выделить эволюцию битва за утопию и этерниум, но в первой проблема со сложностью, а во второй с разнообразием.

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

0
Можно ссылку?
раскрыть ветку 1
-1

Эээм на игру? Она пока не опубликована. Как только опубликуем в апсторе и плеймаркете обязательно запилю пост.

0

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

Тут писали про анимации, тоже верно, но имхо что важнее отсутствие импакта. Из-за этого выглядит как Флеш игра из 2000х.

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

Кстати советую обратить внимание на игру blade of xolan. Отчасти похож концепт и боевкой можно вдохновиться оттуда.

0

Какую часть вашей команды составляют представительницы прекрасного пола?

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

Примерно 0% )) С нами начинала одна девочка но достаточно быстро слилась.

0

До ори конечно как до Китая пешком, но все равно неплохо. Анимации только топорные совсем.

0

Бекграунд арт на троечку.

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

А подскажите какой именно их там 6 в видео

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

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

-5

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

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

Живу действительно не в России, а в Беларуси :)
есть версия и на русском просто ролики и основной билд делались для иностранных издателей.

+2

что за фигню ты пишешь? рынок англии+сша гораздо больше и богаче, чем рынок рф. Написал ты какую-то дичь, наверняка не особо понимая, о чем говоришь.

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

На этот рынок ещё пробиться надо , одна из ведущих компаний России Nival ( поклонником чьих игр я являюсь уже много лет ) начинала на русском и уже раскрутившись открывала серверы в Европе и США , впрочем я играю только в онлайн игры , как обстоят дела с оффлайн я не знаю .

раскрыть ветку 3
ещё комментарии
Похожие посты
47

Попытка в геймдев

Вступление

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


Ресурсы что я использовал для обучения

С# https://metanit.com/sharp/tutorial/

Unity официальные уроки + куча видосов на ютубе

Канал DTF очень интересные видео по геймдизайну

Книга Шелл Джесси “Геймдизайн”


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


Концепт

Из всех жанров был выбран платформер в котором персонаж сам бежит. Основным вдохновителем стала Geometry Dash. Платформа IOS и Android

Первые наброски

Попытка в геймдев Gamedev, Игры, Мобильные игры, Разработка, Unity, Длиннопост
Попытка в геймдев Gamedev, Игры, Мобильные игры, Разработка, Unity, Длиннопост
Попытка в геймдев Gamedev, Игры, Мобильные игры, Разработка, Unity, Длиннопост

Рисовать я не умею, денег на графику нету. Бесплатные ресурсы нашёл тут.

https://craftpix.net/ - графика

https://opengameart.org/ - всё сразу

https://freesound.org/ - звуки

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

Всё что я использовал распространяется по лицензии CC0 1.0 Universal (CC01.0)

https://creativecommons.org/publicdomain/zero/1.0/


Геймплей

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

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


Механики

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

Попытка в геймдев Gamedev, Игры, Мобильные игры, Разработка, Unity, Длиннопост

Джампер просто подбрасывает персонажа вверх

Попытка в геймдев Gamedev, Игры, Мобильные игры, Разработка, Unity, Длиннопост

Красных гриб накладывает эффект полёта на персонажа

Попытка в геймдев Gamedev, Игры, Мобильные игры, Разработка, Unity, Длиннопост

Фиолетовый гриб ускоряет персонажа в 1.6 раз

Попытка в геймдев Gamedev, Игры, Мобильные игры, Разработка, Unity, Длиннопост

Зелёный гриб переворачивает экран

Попытка в геймдев Gamedev, Игры, Мобильные игры, Разработка, Unity, Длиннопост

Чаша снимает все эффекты с персонажа

Попытка в геймдев Gamedev, Игры, Мобильные игры, Разработка, Unity, Длиннопост

Рычаг и дверь тапаешь на рычаг, дверь открывается не успел = умер

Попытка в геймдев Gamedev, Игры, Мобильные игры, Разработка, Unity, Длиннопост

Все уровни сделаны с помощью Tile Map

Ground Tilemap на ней размещена только земля по которой бежит персонаж

Environment Tillemap на ней размещены все объекты с которыми взаимодействует персонаж

DeathCollider Tilemap невидимые колайдеры которые убиваю персонажа

Для создания тайлов с префаба был использован плагин unity 2d-extras

https://github.com/Unity-Technologies/2d-extras


Название игры

Как говорится «Как корабль назовешь, так он и поплывет»

Первоначальный вариант был Dungeon Run но из за обилия таких названий в магазинах, решил придумать что то более уникальное. Захотелось больше оживить персонажа по этому я придумал ему имя. Моделька персонажа это ангел по этому я перевёл его на другие языки и выбрал на японском 天使 что звучит как Tenshi. Игра вышла сложная а персонаж по задумке искатель сокровищ который ищет приключений и вышло у меня Tenshi Impossible Adventure


Что я усвоил

Если тебе самому не интересна игра ты не сделаешь хорошо.

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

Сначала подумай, потом делай

После прихода с работы и пару часов разработки игры я чувствовал себя лучше чем после того как отдыхал.

Лучше потратить деньги на что то для игры чем купить себе какую то

фигню.

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

Поэтому не бойтесь показывать свое творчество даже если оно не соответствует высоким стандартным.

Лучше сделать что то и даже провалится чем не делать ничего.


Зачем я это написал? Столько лет читаю пикабу и тут у меня появилось что написать поэтому я решил почему бы и нет. Может всё недостаточно красочно описано и не хватает деталей но пока что умею только так. Ну и конечно же для того чтобы немного прорекламить свой проект, собрать фидбек, потому что мне хочется улучшать свой первый более менее нормальный продукт, и хочется чтобы в неё играли. И я заметил что свой проект не всегда выходить оценить объективно поэтому жду ваши отзывы/советы. Спасибо всем кто дочитал.

Конец

Показать полностью 10
63

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

Совсем небольшой глитч

Если есть желание попробовать, игра доступна в Google Play
https://play.google.com/store/apps/details?id=com.arcadepth....

28

Gladiatorial Massacre

Всем привет, Господа, показываю Вам инди игру, дневник разработки и тд)


Gladiatorial Massacre *(Ну это пока что так)*


Не судите строго, это мой первый проект =) И я вообще не разбираюсь в программировании)

И сразу предупреждаю, что вы УЖЕ можете попробовать макет)

Gladiatorial Massacre Гладиатор, Драка, Файтинг, Разработка, Игры, Gamedev, Кровь, Спартак: кровь и песок, Инди игра, Инди, Одиночка, Компьютерные игры, Мобильные игры, Видео, Длиннопост

Это лишь показательная демка, бой против болванчиков ради оттачивания механик, анимаций.

Далеко не готовая версия игры, но в скором времени, при должной поддержке, все постепенно доделается.



Нуу, я так думаю, по крайней мере)) Делаю один.

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


НУ это далеко идущие планы, к которым будем стремиться по мере возможностей - а может вообще, откажусь от некоторых механик из за ненадобности)) посмотрим)


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


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

Gladiatorial Massacre Гладиатор, Драка, Файтинг, Разработка, Игры, Gamedev, Кровь, Спартак: кровь и песок, Инди игра, Инди, Одиночка, Компьютерные игры, Мобильные игры, Видео, Длиннопост

И цензуры тоже не планируется, это же арена, никакой пощады! =D

Gladiatorial Massacre Гладиатор, Драка, Файтинг, Разработка, Игры, Gamedev, Кровь, Спартак: кровь и песок, Инди игра, Инди, Одиночка, Компьютерные игры, Мобильные игры, Видео, Длиннопост

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


PSS А вообще, можно было бы и перса выбрать из 4 имеющихся , вместо одного - Просто я не знаю, как правильно сделать меню выбора персонажа =D НУ ничего))


- - - - - - - - - - - - - - - - - - -


Уже сделано, буквально 19.08.2020 -


1. Боевая система со стаминой, блоками, пинками, прыжками, перекатами


2. Сделаны 4 бойца - Секутор с щитом, Секутор без щита, Боец с трезубцем, или же Ретиарий (хоть он и без сетки, но уже лишь своими выпадами усложняет процесс заметно)


3. Уже сделан макет боевой системы, со стаминой, с блоками, пинками и дальше допиливается)


4. Так же макет ИИ сделан, правда глупенький пока что, но с Ретиарием я постарался))


- - - - - - - - - - - - - - - - -


PS. Дорисую еще пару персонажей, и сделаю прям несколько локаций для первой играбельной версии - от Вас мне нужна лишь поддержка комментариями и лайками!) Прямо сейчас делаю Димахера



Возможно, я делаю контент прямо сейчас и дзыньк от уведомления даст мне сил =D



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


Стандартное управление

WASD

Shift - Block

Space - Kick

LMB - Light Attack

RMB - Heavy Attack

R - рестарт, если вы вдруг захотели перезапустить игру (но работает, только пока игрок жив)



Кто понимает, что это еще настолько сыро, что еще бегает от повара, НО уже хочет "пощупать" боевку - прошу любить и жаловать)


https://lunarecst.itch.io/gladiator



ЗЫ. И кстати, если челики не появляются, ударь по лежачему ))!!!!

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

Мы с друзьями решили делать игры, а не вот это вот всё

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


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

Мы с друзьями решили делать игры, а не вот это вот всё Gamedev, Мобильные игры, Арт, Компьютерные игры, Коллеги, Перемены, 2020, Длиннопост

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

Вдохновлялись мы проектами Papers, Please и Peace, Death!, но игра обросла своими фишками и стала меньше похожа на референсы.

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

Мы с друзьями решили делать игры, а не вот это вот всё Gamedev, Мобильные игры, Арт, Компьютерные игры, Коллеги, Перемены, 2020, Длиннопост

Иногда сходимся во мнениях. Например, по части визуального стиля игры. Он офигенный.

Мы с друзьями решили делать игры, а не вот это вот всё Gamedev, Мобильные игры, Арт, Компьютерные игры, Коллеги, Перемены, 2020, Длиннопост
Мы с друзьями решили делать игры, а не вот это вот всё Gamedev, Мобильные игры, Арт, Компьютерные игры, Коллеги, Перемены, 2020, Длиннопост
Мы с друзьями решили делать игры, а не вот это вот всё Gamedev, Мобильные игры, Арт, Компьютерные игры, Коллеги, Перемены, 2020, Длиннопост

Впереди еще много работы. Релиз мы планируем на начало сентября, то есть осталось меньше двух недель. Учимся ценить отдых.

Мы с друзьями решили делать игры, а не вот это вот всё Gamedev, Мобильные игры, Арт, Компьютерные игры, Коллеги, Перемены, 2020, Длиннопост

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


Следующий пост уже завтра.

Мы с друзьями решили делать игры, а не вот это вот всё Gamedev, Мобильные игры, Арт, Компьютерные игры, Коллеги, Перемены, 2020, Длиннопост

А как пандемия повлияла на вашу карьеру?

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

Space Turret: Defense Point - История разработки, часть 1

Всем привет!

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

Игру пишу с другом из Германии, оба очень любим разрабатывать игры. Работаем айтишниками, в свободные вечера работаем над игрой на платформе Unity.

Зарождение

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

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

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


Геймплей, который мы себе представляли на тот момент

От идеи к реализации

После обсуждения базовых механик приступили к реализации.

Достаточно долго думали над управлением камерой. В итоге сделали два варианта:

1. Фискированное управление. Поворот камеры напрямую зависит от положения курсора на экране. Например, если курсор находится в самой левой части экрана, то камера повернута влево на 90 градусов. и наоборот.

Пример такой работы как раз на видео ниже, с кубиком.

2. Свободное управление. Камера может свободно вращаться во все стороны. Скорость вращения будет зависеть от положения курсора на экране. Чем ближе курсор к краю экрана, тем сильнее скорость поворота в эту сторону. Пример управления в первом ролике. В дальнейшем был выбран именно этот вариант.


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

Для того, чтобы заставить турель целиться туда, куда указывает курсор на экране, пришлось применить хитрость :)

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

В итоге наткнулись на такой ролик с обалденным эффектом варпа! (качество не айс, зато оригинал)

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

В итоге, получилось воспроизвести похожий эффект!

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


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


Пример тестирования производительности графики и наведения турели на цель.

Space Turret: Defense Point - История разработки, часть 1 Мобильные игры, Gamedev, Игры на Android, Шутер, Онлайн-Шутер, Видео, Длиннопост

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

Курсоры и наведение на цель

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

Space Turret: Defense Point - История разработки, часть 1 Мобильные игры, Gamedev, Игры на Android, Шутер, Онлайн-Шутер, Видео, Длиннопост

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

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


Пример со смещенной точкой наведения

Space Turret: Defense Point - История разработки, часть 1 Мобильные игры, Gamedev, Игры на Android, Шутер, Онлайн-Шутер, Видео, Длиннопост

Пример желаемого расположения точки наведения

Space Turret: Defense Point - История разработки, часть 1 Мобильные игры, Gamedev, Игры на Android, Шутер, Онлайн-Шутер, Видео, Длиннопост

После нескольких дней анализа кода, вывода кучи отладочной информации на экран и серфинга интернета, была найдена причина такого поведения! Имя ей - камера!

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


Схематическое изображение смещения прицела

Space Turret: Defense Point - История разработки, часть 1 Мобильные игры, Gamedev, Игры на Android, Шутер, Онлайн-Шутер, Видео, Длиннопост

При этом, если смотреть на цель как бы из ствола турели - то всё было хорошо.

Но вид то у нас от третьего лица! И если смотреть из другой точки, то это смещение становилось сразу заметным.

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

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

Да, на этот расчет тратятся ресурсы процессора, но когда на экране рассчитывается 50 точек пересечения, +- несколько дополнительных точек погоды не сделают :)


На этом первая часть статьи заканчивается, спасибо, что дочитали до конца!


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


P.S.

Если у Вас есть какие-либо вопросы, пишите, с радостью отвечу :)

Первый релиз игры состоялся в начале декабря 2019 года. На разработку первой версии ушло 4 месяца.

Ссылка игры в Google Play: Space Turret: Defense Point

Показать полностью 5 3
119

Разработка искусственного интеллекта из искусственного идиота в пошаговой тактической игре

В тактических играх ИИ очень важен. Если ИИ видится как «искусственный идиот», то игру может спасти потрясающий мультиплеер, сюжет, атмосфера и графика (это неточно). Решение очевидное: делай хороший ИИ, в чём тут могут быть проблемы?

Разработка искусственного интеллекта из искусственного идиота в пошаговой тактической игре Игры, Компьютерные игры, Разработка, Искусственный интеллект, Gamedev, Мобильные игры, Браузерные игры, Гифка, Видео, Длиннопост

В деталях. Ниже описаны мои шаги по конструированию сильного ИИ с характером. Не супер сильного [1], но способного быстро отработать локально в прожорливом браузере любого средне-слабого ПК. Мною применён подход экспертных систем с использованием набора эвристик и мутаций. Описаны 15 шагов постепенного преображения ИИ, каждый из шагов можно пощупать.

Краткое описание


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


Например, генерируются три стратегии:


1. Бежать оголтело всем вперед и атаковать всех, кто подвернётся под руку. Очки итогового состояния: 37000 баллов.

2. Атаковать лучниками с безопасного расстояния, а остальные прячутся по углам. 45000 баллов.

3. Всем отступить, сгруппироваться и попрятаться от врагов. Если можно при этом ранить какого-нибудь врага с безопасного расстояния, то атаковать. 18000 баллов.

В этом случае будет выбрана 2-я стратегия.

Разработка искусственного интеллекта из искусственного идиота в пошаговой тактической игре Игры, Компьютерные игры, Разработка, Искусственный интеллект, Gamedev, Мобильные игры, Браузерные игры, Гифка, Видео, Длиннопост

Ну вроде всё стандартно. Не совсем.


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


Правила игры


У игрока и у ИИ изначально по углам выдаются по 6 одинаковых юнитов. Каждая команда ходит по очереди всеми юнитами сразу. Варианты хода каждого юнита:

- пропустить ход;

- передвинуться и пропустить;

- передвинуться и атаковать (можно и иногда нужно атаковать своих).


Игровое поле и состав команды генерируется процедурно (то есть случайно, но с проверками на проходимость и приемлемую «тактичность»). Типы юнитов:

1. Боец F, юнит ближнего боя с самой большой живучестью, уроном и мобильностью. Эдакий танк+дамагер.

2. Лучник A, самый низкий урон, зато атака на расстоянии 1-7 по прямой линии.

3. Колдун W, умирает с одного удара бойца, зато атака на расстоянии 1-5 по прямой линии насквозь по всем юнитам.


Игровое поле всегда размером 10*10.


Возможные поля на карте:

- Земля — не накладывает никаких ограничений.

- Стена — через неё нельзя ни прострелить, ни пройти.

- Вода — через неё нельзя пройти, но через неё может стрелять лучник (огненный маг не может).

Разработка искусственного интеллекта из искусственного идиота в пошаговой тактической игре Игры, Компьютерные игры, Разработка, Искусственный интеллект, Gamedev, Мобильные игры, Браузерные игры, Гифка, Видео, Длиннопост

Игра полностью детерминирована, то есть в ней нет элемента случайности (шанс попадания 100%, никаких критических уронов и т.п.). Также это игра с полной информацией, то есть соперники всё знают о состоянии войск друг друга в любой момент времени. Как в шашках.


ИИ сильнее мясного игрока, но у последнего на первом уровне есть фора в виде одного юнита. На 3-ем у игрока наоборот хандикап в одного юнита и победить гораздо сложнее (у меня около 15% побед на этом этапе). Затем идёт более рандомная версия Игра+.


Изначально был разработан другой план игры в виде «качелей» как в турнирной таблице, но в конце разработки я отказался от него, как от слабомотивирующего. Смысл был в том, что если какая-то команда проигрывает, то на следующей карте ей даётся +1 юнит, и так максимум до 10 против 6. Если и потом команда умудрялась проиграть, то её юнитам увеличивались характеристики.


Игра разработана на нативном javascript: на div-ах и css-стилях, и это было самое неудачное решение из возможных [2]. Это браузерная игра. Движок не использовался. Единственная цель проекта — создать сильного компьютерного игрока «с характером» и возможностью изменения этого характера (расчетливые киборги, агрессивные орки, коварные эльфы, глупые зомби).


Для уменьшения «компьютерного стиля» у противника были применены некоторые хитрости:

- Игрок после своего хода не ждёт, пока ИИ подумает над своим ходом. Враг «сразу» начинает делать свои передвижения (в действительности это иллюзия).

- Компьютерный игрок управляет юнитами тоже с помощью своего курсора (и это тоже иллюзия, курсор просто летает одновременно с анимациями юнитов).

- ИИ умеет использовать коварные приманки, чтобы навязать бой (тут всё по-честному).


И что тут сложного?


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

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


Во-первых, т.к. на каждом ходу юниты команды ходят все сразу, то возможна разная их очередность. А при 6 юнитах в команде таких комбинаций становится 720 (1*2*3*4*5*6). Если юнитов будет больше, то комбинаций будет вообще огромное количество (при 7 — 5040, при 8 — 40320...). Если не учитывать максимального исхода, то игрок рискует распробовать удовольствие в ожидании очередного хода на 5-10 минут (а если он упорный, то задержка дорастёт и до миллионов лет, не каждый вытерпит). Именно из-за этой характеристики мой ИИ в начале боя менее эффективен, чем в конце. Ведь ближе к концу половина команды уже погибла.

Разработка искусственного интеллекта из искусственного идиота в пошаговой тактической игре Игры, Компьютерные игры, Разработка, Искусственный интеллект, Gamedev, Мобильные игры, Браузерные игры, Гифка, Видео, Длиннопост

Во-вторых, каждый юнит может передвинуться в разные точки карты. Бойцы с дальностью передвижения 4 могут походить на 1-41 разных позиций. У магов и лучников с их передвижением в 3 возможное число ходов равно 1-25. Например, состав команды может быть: 4 бойца, 1 маг и 1 лучник. Итого разных комбинаций ходов по данному пункту мы получаем: 41*41*41*41*25*25 = 1766100625. В действительности из-за взаимных пересечений и непроходимой местности комбинаций будет меньше, но в редкой ситуации «разбегания по карте» число комбинаций будет приближаться к этому числу.


В-третьих, каждый юнит после передвижения может пропустить ход или атаковать в одном из 4 направлений. То есть имеем по 5 возможных завершающих действий на юнита. Всего комбинаций: 5^6 = 15625.


Итого комбинаций: 720 * 1766100625 * 15625 = 19868632031250000.

Разработка искусственного интеллекта из искусственного идиота в пошаговой тактической игре Игры, Компьютерные игры, Разработка, Искусственный интеллект, Gamedev, Мобильные игры, Браузерные игры, Гифка, Видео, Длиннопост

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


Как же сделано?


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

1. Сгенерировать разные сценарии на основе заранее прописанных стратегий (~20 штук).

2. Пока есть время, проводить мутации сценариев, оставляя наиболее выгодные.

3. В конце выбрать сценарий с наибольшей оценкой.

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

5. Повторить для оставшихся юнитов с пункта 1.


Эвристический метод — это метод, который может сработать (по Макконнеллу [4]). Подробнее и строже в Википедии [5].


Ключевые моменты в этом алгоритме: генерация сценариев, мутации и правильная оценка выгодности состояния. В каждом из этих пунктов используются свои собственные локальные эвристики. Тем не менее, там где можно, использовались алгоритмы с гарантированным оптимальным результатом, например, А* для поиска пути [6].


Использованный мною эволюционный подход нельзя назвать полноценным генетическим [7], т.к. от него я использовал только мутации и выживание «сильнейшего», а коэффициенты влияния отдельных эвристик настраивал вручную. Алгоритмов формирования популяций и скрещиваний не применялось. После мутации выживает только один: либо мутант, либо родитель.

Разработка искусственного интеллекта из искусственного идиота в пошаговой тактической игре Игры, Компьютерные игры, Разработка, Искусственный интеллект, Gamedev, Мобильные игры, Браузерные игры, Гифка, Видео, Длиннопост

Нейронные сети [8] мною не использовались из-за особенностей задачи. Во-первых, из-за сложности их успешной реализации в условиях постоянно меняющейся среды (появление новых механик, навыков, способностей). Во-вторых, из-за сложности в их контролируемой персонализации (если захочется сделать два поведения: стремительного Суворова и осторожного Кутузова [9]).


Эволюция искусственного идиота в искусственный интеллект


0) Сначала у ИИ были введены только 3 стратегии со случайными ходами. {Сложность игры #0}. Оценка состояния была просто случайным числом. И так как ИИ не единственный элемент разработки, мне пришлось довольно долгое время мириться с поведением сумасшедших рыбок.


1) Затем в расчёты оценки стратегии были добавлены проверки оставшихся юнитов и их жизней у ИИ и у игрока. {Сложность игры #10}. За мертвого юнита команде начислялось 0 баллов. За полностью здорового Х баллов (например, 100 000 за бойца F, 70 000 за лучника A, 85 000 за колдуна W). За раненого начислялись 50% от основной ценности, а оставшиеся 50% пропорционально оставшимся жизням от максимальных. Благодаря этому ИИ было выгоднее добивать врагов, а если он мог только ранить, то он выбирал противников с меньшим числом жизней — более уязвимых.


Случайные ходы стали более осмысленными — ИИ иногда давал сдачи.


2) Затем была добавлена более осмысленная стартовая стратегия:

max_agro — все солдаты бежали максимально ближе к врагам и старались нанести как можно больше урона. {Сложность игры #20}. Одна стратегия использовала изначальный порядок ходов юнита, вторая ходила ими в обратном порядке.


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


Именно на это похоже поведение ИИ в провальной игре Master of Monsters – Disciples of Gaia, из-за чего в неё банально скучно играть [10].

Разработка искусственного интеллекта из искусственного идиота в пошаговой тактической игре Игры, Компьютерные игры, Разработка, Искусственный интеллект, Gamedev, Мобильные игры, Браузерные игры, Гифка, Видео, Длиннопост

3) Дальше были добавлены стратегии, учитывающие возможный урон от врагов при передвижениях, и выбирающие те ходы, которые приводили к наименьшей опасности — желательно нулевой. {Сложность игры #30}. И ИИ сразу же стал сверх трусливым, избегающим любой близости с противником — лучше уж сбежать, чем атаковать и ранить, ведь противник может дать большей сдачи!


Поэтому в оценке состояний стал тоже учитываться возможный урон врагу. Штрафные баллы от потенциального урона от врагов стали вычисляться с уменьшающим коэффициентом 0.20 (коэффициент постоянно перенастраивался). Это заставляло ИИ при выборе между атакой или бегством избирать агрессивный вариант, поскольку он приносил в 5 раз больше баллов, чем бегство. Но ИИ всё равно надолго остался трусливым, ведь чтобы попасть в такую ситуацию выбора, враг уже должен быть в досягаемости, а сам ИИ при таких оценках никогда не подставит себя первым под удар. То есть не пойдёт на сближение. Конечно, игрок будет чувствовать себя обманутым, ведь у ИИ бесконечный запас терпения и он может убегать от опасности вечно, вынуждая игрока к агрессии.


Следует отметить, что подобные вычисления возможного урона очень длительны без использования кэша. Один полный просчёт стратегии без оптимизаций изначально занимал 700 миллисекунд. А у меня ведь ограничение на весь ход одним юнитом ~4000 мс! После оптимизаций и отработавших кэшей это время уменьшается до 20 миллисекунд при очень похожих стратегиях (к сожалению кэш невозможно просчитать весь заранее из-за эффекта комбинаторного взрыва, поэтому 20 мс достигаются не всегда).


Поэтому когда я внедрял технологию расчета с прогнозированием на несколько ходов вперёд, то время расчетов для глубины только в 2 хода (врага и ИИ) занимало уже +700 миллисекунд. В этом случае применяют оптимизацию с отсечением «слабых» веток. Если для этого пользоваться хоты бы примитивной стратегией max_agro, то увеличение времени было +30 миллисекунд и кэширование эту разницу почти не уменьшало (т.к. позиция на карте была совершенно новой).


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


4) Следующие стратегии были направлены на расширение изначального разнообразия стратегий:

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


close_group_flee — юниты отступают подальше от боя и группируются как можно ближе друг к другу. Если можно при этом безопасно атаковать врага — атаковать.

{Сложность игры #40}.


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


5) Затем настало время мутаций. {Сложность игры #50}.

Алгоритм мутаций был очень простой:

- при переборе выбранных стратегий создавалась одна копия стратегии;

- в этой копии производилась мутация хода;

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

- вычислялись баллы мутировавшей стратегии;

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


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


Сначала был реализован самый примитивный тип мутации: от 1 до 3 движений заменялись на случайные, порядок ходов оставался прежним. За одну итерацию расчетов в среднем на каждую стратегию создавалось ~5-15 мутаций. При этом в среднем каждая пятая мутация была более выгодной и заменяла стратегию родителя.


6) Эвристика приманки. {Сложность игры #60}.

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


Для этого в функции вычисления баллов за состояние стратегии проверяется, соответствует ли текущее состояние ситуации приманки:

- Только один солдат ИИ может быть атакован;

- Только один враг может атаковать вылезшего юнита;

- Юнит компьютерного игрока после этой атаки обязательно должен выжить;

- Как минимум двое юнитов компьютера смогут атаковать в ответ. Чем больше таких наказывающих юнитов, тем больше баллов за эвристику.


Эффект оказался отличным: игроку становится легче начинать бой самому. При этом чаще всего игроку всё равно выгоднее «повестись» на эту приманку, так как после ответной атаки он сможет навалиться на ИИ всем своим отрядом (это если он разумно сгруппируется предварительно). А там уже всё решат грамотные локальные тактические решения.

Разработка искусственного интеллекта из искусственного идиота в пошаговой тактической игре Игры, Компьютерные игры, Разработка, Искусственный интеллект, Gamedev, Мобильные игры, Браузерные игры, Гифка, Видео, Длиннопост

7) Потом мне стало бросаться в глаза, что бойцы ИИ постоянно разбегаются как тараканы. {Сложность игры #70}. Также солдаты могли забиться в угол или зайти в тесные тоннели, в которых ИИ сильно терял в своей эффективности перебора возможных атак.

Поэтому в оценочную функцию были добавлены эвристики оценки расстояний между юнитами и рельефа карты со следующими предположениями:


- Чем ближе союзники друг к другу «в среднем» — тем лучше (юниты реже стали разбегаться по разным частям карты).

- Чем ближе солдаты ИИ к в солдатам врага «в среднем» — тем лучше (мне нужен был наступательный ИИ).

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

- Если солдат ИИ не может добежать и атаковать врага как минимум за 2 хода, то его надо штрафовать (это заставляет его наступать, но не подставляться самому под атаку).

- Если в радиусе 2 шага от солдата слишком много блокирующих позиций, то штрафовать его (реже стали забегать в тоннели).

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


8) Затем пришло время расширения стратегий. {Сложность игры #80}. Я не мог добавить полный перебор возможного порядка ходов юнитов, но я мог сделать перебор их ходов по типам: боец, лучник, колдун. Поэтому появились стратегии последовательности ходов, вида W_A_F: сначала ходят все колдуны, потом все лучники, потом все бойцы.


Таким образом добавилось 6 новых стратегий: W_A_F, W_F_A, A_W_F, A_F_W, F_A_W, F_W_A. Они не решили всех проблем, но заметно улучшили качество игры.


9) У меня были мутации, но толку от них было мало. {Сложность игры #90}. В основном они улучшали слабые стратегии, а удачные улучшались редко. Поэтому мутации были доработаны и каждый раз срабатывал один из случайных типов мутации:

- От 1 до 3 движений заменялись на случайные, порядок ходов оставался прежним (старый способ);

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

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


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


10) Затем были добавлены еще полуслучайные стратегии. {Сложность игры #100}. Порядок ходов генерировался случайно, а сами ходы выбирались по следующим принципам (по уменьшению их важности):

- нанести максимальный урон;

- получить как можно меньший урон в ответ;

- стать как можно ближе к врагам.


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


11) Мне надоели вопиющие ошибки ИИ, когда он при атаке своим колдуном сильно задевал моих солдат, но при этом ранил своих союзников. {Сложность игры #110}. Хотя перед этим он вообще-то мог походить ими и убрать их с линии огня. Поэтому была создана жёстко сгенерированная стратегия с ручными проверками:


- если есть колдун, то найти место, откуда он нанесет максимальный урон;

- если в этом месте или по пути удара есть союзники — запомнить их;

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

- ходит колдун;

- ходят оставшиеся юниты.


Стратегия легко описывается на словах, но заморочно для её программирования.


12) Иногда юниты "убегали в кусты" прямо перед началом боевых действий. {Сложность игры #120}. В результате этого, когда начинался обмен атаками, то один или даже два юнита могли оказаться слишком далеко от военных действий и не помогали союзникам. Если это случалось, то я почти гарантированно выигрывал у ИИ. Если не случалось, то я чаще проигрывал. Избавлялся от этого я вводом новой эвристики по оценке результирующих баллов у стратегии. Для каждого юнита проводилась проверка:


1. Если юнит в этот ход атаковал, то он получал +1500 баллов.

2. Если не атаковал, то подсчитывались позиции, с которых враги смогут наносить урон союзникам. Продолжать подсчет, если таких позиций будет больше 0 (N > 0).

2.1. Если юнит не может достать и ударить ни по одной позиции (n = 0), то он получает штраф -1000 баллов.

2.2. Если юнит может достать до всех позиций, то он получает +1200 баллов.

2.3. Если юнит может атаковать до некоторых позиций, то он получает +(n/N)*1000 баллов.


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


IF ("у ИИ меньше юнитов, чем у противника" AND "у ИИ не больше 3 юнитов")
THEN "за каждого дезертира начислить сценарию штрафные баллы"

13) Под конец ввода стратегий их набралось уже под 25 штук. {Сложность игры #130}.


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


14) Примерно в начале была ещё интересная доработка. Изначально оценка ценности сценария вычислялась как разница сумм баллов:


Итоговые_баллы = Баллы_ИИ - Баллы_игрока

Но спустя несколько улучшений я вспомнил, что это не самое лучшее решение, т.к. тогда для ИИ будут одинаковыми ситуации «2 солдата против 1 одного солдата» и «4 солдата против 3 солдат». Поэтому баллы стали вычисляться как отношение:


Итоговые_баллы = Баллы_ИИ / Баллы_игрока

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


Хочу отметить, что все эти доработки вводились постепенно хоть и в указанном порядке, но многие из них улучшались, перерабатывались и исправлялись от багов в более хаотическом порядке. Реальных итераций было больше 100 штук.


Вот как играет финальный ИИ {Сложность игры #9999}:

ИИ ходит сразу, а не тратит время на раздумья


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


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


- вычисления хода первого юнита начинаются сразу же после хода игрока, пока еще вылетает окошко, что сейчас начнётся ход противника. А это целых 4 секунды, которые игроком не воспринимаются пустым ожиданием;

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

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

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


Чтобы всё это не лагало в браузере и работало с достаточно стабильным FPS, расчёты производятся асинхронно воркером (Web workers) [11].


Этим я хотел избавиться от раздражающего окошка ожидания «Компьютер ходит». Такая неприятная плашка есть во многих хороших играх, например, в Xenonauts [12]. Я считаю, что мне удалось справиться с этой проблемой.

Разработка искусственного интеллекта из искусственного идиота в пошаговой тактической игре Игры, Компьютерные игры, Разработка, Искусственный интеллект, Gamedev, Мобильные игры, Браузерные игры, Гифка, Видео, Длиннопост

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

Каков результат и в чём недостатки


Таким образом, получившийся компьютерный противник умеет достойно сражаться и хорошо пользуется любыми оплошностями игрока, а своих делает не слишком много. Тем не менее, я, зная все особенности его работы, хоть и с напряжением, но побеждаю его почти всегда (при равных условиях). А хотелось бы наоборот: чтобы даже зная о его особенностях, почти всегда ему проигрывать. ИИ далёк от идеала, поскольку используемый мною набор эвристик приводит к синергетическому наложению «ошибок моего восприятия» друг на друга. Вот эти ошибки:


1. Несовершенство и неполнота моей собственной стратегии, я не знаю всех наилучших стратегий, и поэтому не могу их обозначить и внедрить в игру.

2. Потеря эффективности (которая итак не идеальна) выработанных рабочих эвристик при переносе их на программный код. Например, моя человеческая эвристика «Юниты держатся рядом, но не слишком близко, чтобы избегать двойного урона от магов и не застрять в узких проходах». Эта эвристика помогает мне побеждать ИИ, но при обучении ею моего компьютерного оппонента, мне приходится качественное описание переводить в алгоритмическое с количественными оценками, и тут возможна потеря данных.

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

4. Жесткие временные ограничения и пошаговые улучшения выбранных стратегий приводят к тому, что первый ход всегда будет менее продуман. Это значит, что один неудачный первый ход может заблокировать очевидные более эффективные ходы остальных юнитов команды. Это выражается в том, что первый боец F вместо отхода может криво атаковать противника и потом его союзнику волшебнику W придётся ранить своего, чтобы добить противника.


Полноценные генетические алгоритмы вместо «подбора на глазок» скорее всего позволили бы подобрать более оптимальные коэффициенты в эвристиках. Но это уже задача для будущих полноценных проектов — не хочется надолго застревать с прототипом. Текущим ИИ я вполне доволен: он расчётливый, немного коварный, достаточно агрессивный и не позволит игроку победить себя в сухую (в действительности чрезвычайно редко позволит).


Дополнительные возможности


Подобный способ реализации позволяет добиться дополнительных бонусов в игровой разработке (во многом с точки зрения разработчика и его горящих сроков):


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

2. Действительно интеллектуальные уровни сложности. Сейчас в основном уровень сложности определяет то, какие бонусы компьютерный игрок получит в качестве ресурсов (больше золота на старте или бонус в добыче) или как сильно его солдаты будут бить (+50% к урону). Это работает, но можно ведь сделать ИИ чуть менее умным просто постепенным отключением некоторых эвристик по мере уменьшения сложности.

3. В продолжении 2-го пункта можно создавать и разные расы/фракции компьютерных противников: у орков работают только агрессивные стратегии; у толп зомби только примитивные «бежать вперед и атаковать»; а у киборгов использовать всю мощь ИИ. Благодаря этому игроку перед нападением придётся оценивать не только числа у противников, но и их интеллектуальность.


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


Где пощупать


Вы можете протестировать силу этого ИИ в браузерке «AI tactical rumble. Test subject» бесплатно на площадках типа itch.io [13]. GET параметр ai (значения от 0 до 140 с шагом 10) позволит снизить сложность ИИ.


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


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


Список литературы


1. DeepMind — статьи на Хабре.

2. HTML5 games: Canvas vs. SVG vs. div на stackoverflow.

3. Комбинаторный взрыв — Википедия.

4. Совершенный код Стива Макконнелла — Хабр.

5. Эвристические методы — Википедия.

6. A* — Red Blob Games.

7. Генетический алгоритм. Просто о сложном — Хабр.

8. Восемь потрясающих игр с искусственным интеллектом от компании Google — Хабр.

9. Очень кратко о Суворове и Кутузове.

10. Master of Monsters – Disciples of Gaia — обзор на IGN.

11. A Detailed Explanation of JavaScript Game Loops and Timing.

12. Xenonauts и долгий экран ожидания ИИ.

13. AI tactical rumble. Test subject — на itch.io.

Показать полностью 8 1
541

Новая старая игра

Новая старая игра Gamedev, Platformer, Инди, Компьютерные игры, Разработка, Threejs, Видео, Длиннопост

Однажды я поиграл в самого первого «Принца Персии» 1989 года и мне понравилась концепция. Настолько, что я решил создать собственный платформер. В моей игре «Перси Ланскастер 3D», как можно понять из ее названия, присутствует уже не 2D, а 3D графика. Также в ней есть динамическое освещение и скроллинг во время движения.


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


Я, конечно, не стал изобретать полностью свой движок: на это ушло бы слишком много времени. Хотя, есть такая задумка на будущее. А пока я воспользоваться библиотекой Three.js, функция которой заключается в том, просто отображать 3D сцену. Анимации, физику, графику и все остальное я делаю сам. Мне кажется, это придает игре индивидуальность. Правда, я не 3D моделер и графика мне дается с трудом.

Новая старая игра Gamedev, Platformer, Инди, Компьютерные игры, Разработка, Threejs, Видео, Длиннопост

Three.js - это скриптовая библиотека, и вся игра вообще написана на JavaScript. То есть, она может работать в браузере. Но это в будущем. А сейчас я пока разместил в Стиме демоверсию в виде сборки на Webkit. Позже я запущу и браузерную версию для всех популярных браузеров под Windows, Android, iOs, MacOS, Linux. Игра поддерживает геймпад и тач-скрин и адаптируется под размер окна браузера, если нажать Y.


Вт короткое видео, демонстрирующее возможности:

Пока я работаю над игрой, как вы понимаете, один. Но это очень интересно. Я нашел опытным путем и оптимизировал для себя процессы создания уровней, внедрения анимации, управления, движения камеры. Например, уровни создаются таким образом. Сначала в обычном графическом редакторе я составляю схему. Затем обрабатываю ее написанным мной скриптом: это дает список блоков и их координаты, которые потом используются в игре в качестве коллайдеров. Затем в 3D редакторе я строю уровень по схеме. Запекаю тени. И сохраняю все это в формате json. А в игре при движении игрока определяются столкновения с этими блоками.

Новая старая игра Gamedev, Platformer, Инди, Компьютерные игры, Разработка, Threejs, Видео, Длиннопост

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

Новая старая игра Gamedev, Platformer, Инди, Компьютерные игры, Разработка, Threejs, Видео, Длиннопост

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

Мне еще предстоит создать врагов и боевую систему и усовершенствовать графику. Я пытаюсь продвигать игру в Твиттере, где я набрал 400 подписчиков, и на Патреоне. А также в Steam, Itch и indiexpo. Кроме того, к несчастью, Indiegogo больше не работает с Россией. По крайней мере, в службе поддержки мне ответили, что запустить мой проект из мой страны нельзя. Я создал его где-то летом, и, судя по всему, тогда же, чуть позже, и прекратилась работа с Россией. Жаль, я возлагал на этот сервис некие надежды. Идти на краудфандинг через посредников я не хочу. Тогда я решил пойти на Патреон, где предложил всем подписчикам игру бесплатно, когда она будет готова. По сути, можно быть подписчиком 1 месяц и получить игру за $1. Но пока там получается на очень, потому что Патреон не продвигает ничего сам, туда надо еще нагнать трафика. А что вы думаете об этой площадке?


А сюжет игры таков.


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


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


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


Поиграть можно на Steam или скачать с Itch. Хочу отметить, что там только прототип первого, подземного, уровня. В дальнейшем графика и анимация будут улучшаться

Страница игры в Steam: ССЫЛКА

Новая старая игра Gamedev, Platformer, Инди, Компьютерные игры, Разработка, Threejs, Видео, Длиннопост
Показать полностью 4 2
31

Hold my beer! Часть 13. Новая стартовая локация и ее жители

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

Осталась самая сложная часть работы - квесты :(

Ну и кисонька, а то как же

Hold my beer! Часть 13. Новая стартовая локация и ее жители Unity, Gamedev, Indiedev, Игры, Мобильные игры, Видео
Показать полностью 1
43

Kingdom Shell - пиксельная метроидвания

Всем привет.

Прошёл целый год с прошлого поста. Да и разработка игры не стояла на месте. Kingdom Shell - пиксельная метроидвания про полудемона Элиаса, создаётся одним человеком, т.е. мной)

Скорлупа, чья магия защищала Королевство от внешней угрозы, разбита. Скверна, хлынувшая из реальности кошмаров, заполнила каждый уголок. Братство, которое веками стояло на страже Королевства, не справляется с угрозой. Они вынуждены обратиться за помощью к преступнику. Элиас - полукровка, в чьих жилах течёт кровь демона, может быть единственной надеждой на спасение.

Игра всё ещё в разработке. Недавно совсем руки дошли до создания трейлера.

За судьбой игры можно следить здесь - https://vk.com/cupofpixels

Также можно поиграть в демо вот здесь - https://cup-of-pixels.itch.io/kingdom-shell

83

10 инсайдерских советов для художников, которые хотят попасть в игровую индустрию

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


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

10 инсайдерских советов для художников, которые хотят попасть в игровую индустрию Gamedev, Game Art, Artstation, Перевод, Совет, Гифка, Видео, Длиннопост

Попытки устроится на работы выглядят как..


Почти в обязательном порядке 2-3 раза в месяц появляется пост на Polycount, либо же на других игровых ресурсах на эту тему. Одни просят советы, другие жалуются на отсутствие результатов, которые рассчитывали получать на пути в индустрию. И всегда есть несколько общих тем, которые объединяют эти посты воедино: путаница, разочарование, депрессия. С другой стороны, есть и посты, где люди, празднуя получение первой работы, наполнены благодарностью и волнением от того, что ожидает их впереди.


Суть этой статьи - дать знания, которые будут актуальны независимо от того, прошли ли вы курсы, выучились сами, либо уже работаете в индустрии. Надеюсь, вы обратите внимание на эти советы и будете их применять, возможно, появится больше людей, которые напишут "Я ПОЛУЧИЛ СВОЮ ПЕРВУЮ РАБОТУ!!!11!!".
Давайте начнем!

Как бы я хотел, что бы всё было так просто, как у этих подростков из видео...


1. Ваше портфолио игрового разработчика должно соответствовать своему названию


Это очевидно, я знаю.


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


Кучи непонятно чего слепленного в ZBrush, наполовину готовые фигуры персонажей, высоко полигональные машины и оружие с рендерами, в лучшем случае, из KeyShot. Повсюду прикольные рендеры шариков с материалами из substance designer, выкрученным displacement и 8к качеством. И среди всего этого нет ни одного актуального для игровой разработки ассета.


Если вы хотите работать в игровой студии, вам нужно продемонстрировать знания всего рабочего процесса, с которым связана разработка. Для работодателя это будет значить, что вы сможете доводить свои задачи до конца. Покажите, что можете сделать блокаут, разбить всё на модули и довести свой ассет до финала. Покажите, что можете создать персонажа начиная с болванки, заканчивая хорошо запеченными текстурами и правильной топологией, которую будет удобно использовать для анимации и тд.. Покажите, что знаете, как работают текстуры и материалы в игровом движке, как использовать vertex color/alpha, как правильно и оптимально создавать UV развертку. Если же вы думаете, что можете накрутить displacement и всё будет классно, то подумайте еще раз.


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


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

Это очень важно.

10 инсайдерских советов для художников, которые хотят попасть в игровую индустрию Gamedev, Game Art, Artstation, Перевод, Совет, Гифка, Видео, Длиннопост

Автор работы выше

10 инсайдерских советов для художников, которые хотят попасть в игровую индустрию Gamedev, Game Art, Artstation, Перевод, Совет, Гифка, Видео, Длиннопост

Автор работы выше


2. Контекст - это самое главное


Чем больше вы даете нужной информации людям, которые берут вас на работу, тем лучше. Дайте им все кусочки пазла, который они пытаются собрать. Вы хотите работу художника по окружению с портфолио, которое переполнено коллекцией пропсов и непонятными сценами? Это вряд ли поможет получить желаемую должность. Отвечая на вакансию от Blizzard и при этом прислав им портфолио с фотореалистичными ассетами, вы поставите в тупик людей, которые его посмотрят. Также, устраиваясь на работу над Call of Duty присылать портфолио, которое наполнено стилизованными рисунками, будет довольно плохой идеей, и тут не имеет значения насколько они качественные. Качество - это огромный фактор до того момента, пока оно имеет контекст.


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

10 инсайдерских советов для художников, которые хотят попасть в игровую индустрию Gamedev, Game Art, Artstation, Перевод, Совет, Гифка, Видео, Длиннопост

Нужны очень разные навыки для того, что бы работать на этих проектах.


3. Молчание - это форма обратной связи


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


Рекрутеры не могут отвечать всем желающим, они получают больше сотни писем в день, начиная от “Джо - мастер идей”, до людей с отсутствием подходящего опыта и портфолио. Если они будут отвечать всем - у них не останется времени для их основной работы.


В случае, если вам не ответили, примите это за “НЕТ”. Я шокирован количеством постов, где люди спрашивают про это и просят фидбек на их портфолио.. как будто бы простенькое форматирование - это то, что отделяет их от работы своей мечты. А может быть их заявка потерялась в системе??!.. Сейчас 2018 год, почта работает отлично, заявки не проваливаются в трещины. Думать так, это как распечатывать мейл, передавать его по факсу и звонить, чтобы узнать получили они его или нет. А потом ещё посылать почтового голубя, чтобы тот за всем следил.


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

10 инсайдерских советов для художников, которые хотят попасть в игровую индустрию Gamedev, Game Art, Artstation, Перевод, Совет, Гифка, Видео, Длиннопост

4. То что вы закончили художественную школу не гарантирует работу


Очень большое количество студентов пишут, что они не понимают, почему их не берут на работу после того, как они выпустились. Некоторые университеты накручивают себе статистику, мол у них 80% выпустивших получают работу, чтобы соблазнить людей выбрасывать кучу денег на оплату обучения, даже не учитывая того, что под трудоустройством они считают работу в игровом отделе Best Buy и Gamestop в роли обслуживающего персонала.


Это довольно ужасно и, безусловно, может расстроить студентов, которые ожидают, что они будут готовы работать в индустрии, как только закончат обучение. Они хвастаются своим дипломами в разделе “обо мне”, но их портфолио… ужасное.


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

10 инсайдерских советов для художников, которые хотят попасть в игровую индустрию Gamedev, Game Art, Artstation, Перевод, Совет, Гифка, Видео, Длиннопост

Арт лид читает про ваш диплом в разделе "Обо мне"


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


Сложно сделать что-то идеально, когда делаешь это впервые, верно? Так зачем же выкладывать это в портфолио?


Если в вакансии говорится о том, что вы должны быть знакомы с highpoly и lowpoly, то это на самом деле означает, что у вас должен быть опыт и вы не раз это делали. То, что вы запечете карты для sci-fi панели или гуманоидного персонажа в процессе обучения, не означает что вам нужно показать это в своем портфолио. Помните что упоминалось выше о том, что стоит выкладывать, а что нет. И это подводит к следующему пункту.


5. Ваша работа должна быть ААА качества


Не имеет значение, хотели бы вы работать в огромной triple-A студии или в небольшой инди команде. Вы должны быть в состоянии показать работу, уровня недавно выпущенной игры и между ними не должно быть большой разницы по качеству. Ваши главные конкуренты - это не ваши сокурсники, а люди, которые уже работают в индустрии. Опыт ценится больше, чем образование. Если у вас есть достаточно навыков, то работа уровня начинающих, требующая 1-2 года опыта, вполне может быть для вас посильна. Если вы выставите работу уровня ААА, люди это заметят. Работы высокого качества привлекают внимание зрителей, и как только они у вас появятся, вы будете на пути к тому, чтобы получить работу.


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

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


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


С таким большим количеством информации, доступной в интернете, вы легко сможете найти скриншоты или примеры из текущего проекта студии, в которой вы хотите работать. Сравните свою работу с этими примерами и спросите себя честно, насколько велика между вами пропасть. А теперь вернитесь к своим работам и внесите нужные изменения, или, если всё хорошо - нажмите кнопку “отправить” с полной уверенностью в себе. Стремитесь к качеству, а не к количеству и забудьте про любую старую работу, в которой вы не уверены. Будьте жесткими и субъективными. Не допускайте романтику по отношению к своей работе.. люди, которые захотят вас нанять, точно не будут. Три классные работы дадут вам больше шансов на выигрыш, чем шесть плохих, которые лежат там только для того, чтобы заполнить пространство в портфолио.

10 инсайдерских советов для художников, которые хотят попасть в игровую индустрию Gamedev, Game Art, Artstation, Перевод, Совет, Гифка, Видео, Длиннопост

Уничтожайте старые работы!


6. Если вам отказали шесть месяцев назад, не обращайтесь повторно без значимых обновлений в портфолио


За всю карьеру я принимал участие во многих проектах и имел возможность ознакомится с широким спектром портфолио и кандидатов. Первые впечатления действительно важны. Есть много портфолио, которые всплывают несколько раз, и есть такой момент “а… я помню этого”. И эта фраза используется не в самом хорошем смысле.


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


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


7. По возможности атакуйте со стороны!


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

10 инсайдерских советов для художников, которые хотят попасть в игровую индустрию Gamedev, Game Art, Artstation, Перевод, Совет, Гифка, Видео, Длиннопост

Умная девочка


Итак, как же вы получите это волшебное преимущество? Как только ваше портфолио достигнет высокого уровня, начните уделять больше времени нетворкингу. Это означает, что вы должны зарегистрироваться на artstation, twitter, instagram, facebook, посетить местные сходки людей из индустрии и медленно выстраивать отношения с другими художниками.


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


8. Если вы художник, ваше портфолио должно быть на ArtStation


ArtStation, без сомнения, место где должно находится ваше портфолио. Безумное количество людей просматривает этот сайт ежедневно. Чем больше просмотров вашей работы, тем больше возможность подняться. Наличие вашего портфолио на случайном URL-адресе, который никто не помнит, вряд ли сильно поможет. Gavin Goulden написал очень хорошую статью на эту тему, обязательно ознакомьтесь с ней.


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

10 инсайдерских советов для художников, которые хотят попасть в игровую индустрию Gamedev, Game Art, Artstation, Перевод, Совет, Гифка, Видео, Длиннопост

Ваше портфолио должно быть на ArtStation.


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


Вы знаете поговорку “Не дели шкуру неубитого медведя”. Это определенно относиться к игровой индустрии. Я сбился со счета, сколько раз я видел как люди говорили, что они имеют высокие шансы на работу и не слышали ответа больше месяца. Тем не менее, они сидят без дела, ожидая что компания вспомнит о них. Обычно, если через пару недель нету ответа… ОСТОРОЖНО СПОЙЛЕР: вы не получите работу. Некоторые студии отправят имейл/позвонят, но некоторые не будут этого делать, не принимайте на личный счет и двигайтесь вперед. Будьте активными, сидя со скрещенными пальцами вы не решите вашу проблему.


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


10. Наберитесь немного терпения


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


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


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


Почти конец


Во-первых, спасибо Тиму за эту полезную статью. Он, как и я, очень надеется на то, что она вам помогла. У него за плечами больше 10 лет опыта в индустрии, так что он знает о чем говорит.

Во-вторых, я бы хотел услышать ваше мнение про этот перевод и статью в целом.


Перевод был подготовлен в рамках проекта CgTranslate.

Отправляйте статьи, которые бы вы хотели видеть на русском и свои пожелания на почту tredestudio@gmail.com или в Telegram @denisnik

Также подписывайтесь на Telegram канал, переводы будут выходить там раньше чем где либо ещё: https://t.me/CGTranslate

Спасибо за внимание и удачи!

Показать полностью 8
51

ASCIIDENT - добыча ресурсов

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

31

Советы для начинающих разработчиков настольных игр

Советы для начинающих разработчиков настольных игр Настольные игры, Gamedev, Совет, Игры, Авторские настольные игры, Граникон, Самостоятельное издание, Длиннопост

Привет, Пикабу)


Я начинающий автор настольных игр и уже запилил об этом пару постов.


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


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


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

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


Ну поехали)


Найди свой подход


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

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


От идеи до прототипа - один шаг


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

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

Советы для начинающих разработчиков настольных игр Настольные игры, Gamedev, Совет, Игры, Авторские настольные игры, Граникон, Самостоятельное издание, Длиннопост

Буквально пару дней назад мне пришла в голову идея довольно простой игры под названием “Тук-тук”. Это должна была быть игра про наемных убийц, которые приезжают в небольшой американский городок (ну знаете, городки из пин-ап плакатов 50-х) и ищут троих жертв, которые приехали в городок по программе защиты свидетелей. Они стучат в двери,общаются с местными жителями и ищут “новичков”, о которых никто ничего не знает.

Я более менее сформулировал геймплей игры и начал ваять прототип. Искать атмосферные фотографии 50-х годов, придумывать имена и т.д. И т.д.

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


Хорошие игры растут на костях плохих


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

Я очень долго пытался сделать игру про ограбление банков. Не в стиле друзей Оушена, а что-то пожестче, вроде “Города воров”. Получалось довольно скучно и я отложил эту идею до лучших времен. Где-то через полгода мне довелось поиграть в НРИ “Blades in the Dark”. Бросая горсть кубиков я подумал, что большое количество азарта и рандома это именно то, что нужно игре про парней, которые выносят банки. Я вооружился новой идеей и мы сделали новый прототип.

Советы для начинающих разработчиков настольных игр Настольные игры, Gamedev, Совет, Игры, Авторские настольные игры, Граникон, Самостоятельное издание, Длиннопост

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


Относись к критике с осторожностью


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

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

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


Организуй свою работу


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

Заведите себе google drive и делайте все ПнП в приложении google slides (местный поверпоинт). Это нереально удобно, особенно, если вы не любите быть привязаны к одному ПК или делаете игру в соавторстве.


Скажу честно, подсмотрел этот совет в одной лекции на ютуб и с тех пор только так и работаю.

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


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

Советы для начинающих разработчиков настольных игр Настольные игры, Gamedev, Совет, Игры, Авторские настольные игры, Граникон, Самостоятельное издание, Длиннопост

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


Поддерживайте связь с комьюнити


Несмотря на то,что разработка настолок не самое популярное хобби, в Москве, Питере и других крупных (и не очень) городах есть ячейки гильдии разработчиков ГРАНИ. Смело тащите к ним своего кадавра на испытания.

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

Советы для начинающих разработчиков настольных игр Настольные игры, Gamedev, Совет, Игры, Авторские настольные игры, Граникон, Самостоятельное издание, Длиннопост

Юрий Ямщиков и Герман Тихомиров рассказывают о балансе в настольных играх. Одни из лучших лекторов Граникона.


Не бойтесь общаться с издателем


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

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

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


Письма лучше всего (ну так говорят) отправлять во вторник часиков в 10-11. Говорят, что это самое оптимальное время для того, чтобы твою идею заметили. Пункт сомнительный, но я им довольно суеверно пользуюсь.


Большое спасибо за внимание)


P.S. У меня скопилось уже 50 подписчиков из сообщества “Настольные игры”, чему я несказанно рад. Для всех остальных я прикреплю ссылки на другие мои посты ниже. Вдруг вам станет интересно.

Вот пост, с которого все началось

https://pikabu.ru/story/kak_myi_delaem_svoyu_nastolnuyu_igru...

Вот пост о нашей первой игре про работу полицейского департамента “Прослушка”

https://pikabu.ru/story/kak_myi_delaem_svoyu_nastolnuyu_igru...

Кстати, вот ПнП и правила “Прослушки”

https://yadi.sk/d/p5OGNfap3UgaW6

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

Ад в твоем холодильнике - Разработка игры за 16 дней

Ад в твоем холодильнике - Разработка игры за 16 дней Gamedev, Pixel Art, Platformer, Платформер, Hell in Your Fridge, Моё, Тихий Фил, Длиннопост, Гифка

Данный материал несет за собой цель не столько проинформировать пользователей pikabu об очередном инди проекте (да и не проект это вовсе - просто игра на двухнедельный джем), сколько помочь советами другим начинающим разработчикам игр, рассказать парочку "кухонных" историй, да и просто весело провести время в обсуждении чего-либо. Например тех же платформеров. Ведь именно данный жанр я выбрал в качестве основного при разработке своей игры на небольшой конкурс форума HellRoom. Тема джема - "Смертные грехи".

Ад в твоем холодильнике - Разработка игры за 16 дней Gamedev, Pixel Art, Platformer, Платформер, Hell in Your Fridge, Моё, Тихий Фил, Длиннопост, Гифка

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


Инструмент разработки не имеет особого значения в свете нашего разговора, но на всякий случай отмечу, что игру я делал на GameMaker Studio 1.4.

Итак, начнем. А с чего, собственно, я обычно начинаю? Обычно с дизайн документа, да, но в этот раз решил обойтись без него (к чему это привело читайте далее по тексту :D ). Сперва я открыл свой любимый Graphics Gale и начал придумывать дизайн главного героя.


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


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

Ад в твоем холодильнике - Разработка игры за 16 дней Gamedev, Pixel Art, Platformer, Платформер, Hell in Your Fridge, Моё, Тихий Фил, Длиннопост, Гифка

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

Ад в твоем холодильнике - Разработка игры за 16 дней Gamedev, Pixel Art, Platformer, Платформер, Hell in Your Fridge, Моё, Тихий Фил, Длиннопост, Гифка

Хм, а получился какой-то горбун из Нотр-Дама, но это нормально. Это поправимо. Зато я увидел главное - этот горбун похож на женщину! (посмотрите на эту великолепную грудь в три пикселя) И это можно использовать. Разумеется после перерисовки. Дело в том, что ранее женщины не фигурировали в моих играх в качестве главных героев (героинь). Пришло время это исправлять.

Ад в твоем холодильнике - Разработка игры за 16 дней Gamedev, Pixel Art, Platformer, Платформер, Hell in Your Fridge, Моё, Тихий Фил, Длиннопост, Гифка

Далее последовала череда мучительных выборов цвета и фасона одежды героини. В итоге свет сошелся клином на правой нижней цветовой схеме.

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

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

Ад в твоем холодильнике - Разработка игры за 16 дней Gamedev, Pixel Art, Platformer, Платформер, Hell in Your Fridge, Моё, Тихий Фил, Длиннопост, Гифка
Ад в твоем холодильнике - Разработка игры за 16 дней Gamedev, Pixel Art, Platformer, Платформер, Hell in Your Fridge, Моё, Тихий Фил, Длиннопост, Гифка

Не уверен, что я справился на все 100%, но этот результат меня хотя бы устроил.

Образ героини полностью сформировался в моем мозгу - пришло время пилить анимации для миньки.

Ад в твоем холодильнике - Разработка игры за 16 дней Gamedev, Pixel Art, Platformer, Платформер, Hell in Your Fridge, Моё, Тихий Фил, Длиннопост, Гифка
Ад в твоем холодильнике - Разработка игры за 16 дней Gamedev, Pixel Art, Platformer, Платформер, Hell in Your Fridge, Моё, Тихий Фил, Длиннопост, Гифка

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

Ад в твоем холодильнике - Разработка игры за 16 дней Gamedev, Pixel Art, Platformer, Платформер, Hell in Your Fridge, Моё, Тихий Фил, Длиннопост, Гифка

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


Два неполных дня разработки подошли к концу. Впереди еще 13 дней.


P.S.

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


Игра, кстати, закончена. Скачать вы ее можете по ссылке ниже.

Ссылка на игру: https://www.dropbox.com/s/37mfmgkv53qa0wk/HellinYourFridge.e...

Показать полностью 8
39

Советы новичкам Unity (разработка игр)

Все ниже описанное является моим личным опытом геймдева и осваивания движка Unity и не обязательно к применению. Однако вполне может стать своего рода Best Practice для новичков (а может и другим пригодится). 

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

1) Update ()


Метод Update показан чуть ли не во всех официальных уроках по Unity. Однако в скором времени вы поймете, что не стоит пихать его во все скрипты. Альтернативой является применение необходимых изменений путем вызова их из другого объекта (сценария) по событию.

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

Пример: чтобы обновлять полоску жизни персонажа, не обязательно на слайдер вешать Update() который будет постоянно брать нужное ему значение и присваивать слайдеру. Достаточно вызвать событие изменения жизней персонажа которое и изменит полоску жизни. 

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

Почему так: если у вас будет 1 монетка которая в методе Update() проверяет не подобрали ли ее, то посмотрите на производительность игры если у вас на экране будет 1000 таких монет. Про большое количество объектов расскажу ниже.


2) Стандартные ассеты

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

Смело импортируйте в свой проект стандартные ассеты и шерстите их. Там очень много всего полезного. Вот почему:


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


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


Другая история касательно этого же – перерыл весь интернет и написал свой контролер для камеры. Камера следовала за персонажем, но плавно, и не двигалась в случае небольших движений игрока или его прыжков, а также не выходила за рамки уровня. А потом нашел скрипт в стандартных ассетах который делал тоже самое… (CameraFollow)

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

3) Частицы


Частицы — это не только дым, взрывы, мех и один, а то и два килограмма диетического мяса :)


В некоторых уроках я видел, как пули/ракеты/фаерболы делали путем инициализации (клонирования из префаба) объекта, который сам по себе двигался.


Т.е. на деле это так: GameObject игрока генерирует другие GameObject’ы которые имеют свой коллайдер и кучу скриптов на них. А теперь представьте сколько GameObject’ов будет у вас если игрок будет стрелять этими ракетами из пулемета? В общем заменяйте по возможности любые подобные объекты на частицы (а если вы стреляете – то лучше RayCast’ы). В версии Unity 5.3.1 (вроде бы) появились 2D коллизии частиц.

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

4) Кнопки и интерфейс


Стандартные компоненты GUI очень удобны в использовании – используйте их, и нечего тут говорить больше.

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост
Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

4) Плагины, примочки к Unity, стороннее ПО


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


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



5) Сначала прототипы, потом красота


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

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

6) Вибрация мобильного устройства, акселерометр, индикаторы и т.д.


Все гораздо проще чем вы думаете, в справке по Unity все это хорошо описано. Ищите HandHeld, Input.acceleration

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

7) Обязательно смотрите официальные Best Practice по Unity


Например, от туда я узнал много интересных способов упрощения анимации персонажей, а так же про кнопку «back» на Android устройствах (в приложениях она распознается как Input.GetKeyDown(KeyCode.Escape) )



8) События в анимациях


В менеджере анимаций есть кнопка

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

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

Советы новичкам Unity (разработка игр) Unity, Gamedev, Инди, Best practice, Совет, Программирование, Игры, Гифка, Длиннопост

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


P.S. Сразу извиняюсь, если что то сказал не верно или не понятно – я не так давно знаком с Unity. Я скорее больше просто программист. Цель была помочь новичкам 


P.P.S Если нужно про что то более подробно расписать – то смело спрашивайте, расскажу в следующем посте. В этом посте не стал все подробно расписывать потому что получился бы очень длинный пост.

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