Вторая игра на ЯИ

Вторая игра на ЯИ Gamedev, Unity, Разработка, Инди игра, Minecraft, Длиннопост


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

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

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

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

Вторая игра на ЯИ Gamedev, Unity, Разработка, Инди игра, Minecraft, Длиннопост

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

Тут я узнал, что в Юнити есть "штука" через которую можно менять некоторые параметры материала не разбивая его на уникальные. Называется это "MaterialPropertyBlock" и использовать нужно так:

Вторая игра на ЯИ Gamedev, Unity, Разработка, Инди игра, Minecraft, Длиннопост

Но и даже так все равно некоторые кубики находящиеся дальше всех от камеры не хотели батчится.

Сам тип кубика я генерировал случайно из таблички с шансами и через PerlinNoise. Наверно в Майнкрафте тоже как-то так делают.

Вторая игра на ЯИ Gamedev, Unity, Разработка, Инди игра, Minecraft, Длиннопост
Вторая игра на ЯИ Gamedev, Unity, Разработка, Инди игра, Minecraft, Длиннопост


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

Вторая игра на ЯИ Gamedev, Unity, Разработка, Инди игра, Minecraft, Длиннопост
Вторая игра на ЯИ Gamedev, Unity, Разработка, Инди игра, Minecraft, Длиннопост

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

Вторая игра на ЯИ Gamedev, Unity, Разработка, Инди игра, Minecraft, Длиннопост

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

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

Вторая игра на ЯИ Gamedev, Unity, Разработка, Инди игра, Minecraft, Длиннопост

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

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

Вторая игра на ЯИ Gamedev, Unity, Разработка, Инди игра, Minecraft, Длиннопост

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

Причина неудачи.
Успеха у этой игры было больше на 1к игроков ведь это тема с 100% успехом (ха-ха), но на деле так же в районе 500р и минимальной реакции со стороны игроков.
Опять же проблема что весь контент перед игроком и ничего нельзя покупать. Еще как писал вначале много игроков ожидали плавное движение с разворотами, а не движение по клеткам.

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

Но точной уверенности в успехе этого нет и делается это не быстро. Для инди разработчика наверно самое обидное это много времени делать бессмысленную фичу. Хотелось бы в комментариях услышать ваши советы и так же критику что нужно, что не нужно. Ссылка на игру чтобы посмотреть: https://yandex.ru/games/app/193056

Лига Разработчиков Видеоигр

6.8K поста22.2K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

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

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

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


О РАЗМЕЩЕНИИ ССЫЛОК:

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

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"