23

Changeover: Решение быть разработчиком игр [Часть I]

Добрый день дамы и господа!


Честно признаюсь, долго думал, как более изящно подойти к нашему “достижению” в области игростроения, но решил рассказать как есть.

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

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

Changeover: Решение быть разработчиком игр [Часть I] Gamedev, Игры, Компьютерные игры, Разработка игр, Инди, Changeover, Unity, Длиннопост

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


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

Вначале было слово, и это слово - Obsended. Вдохновившись такой игрой, как IB и рядом иных произведений, созданных на платформе “RPG-maker”, моему приятелю пришла в голову мысль, почему бы не создать что-то подобное? Был придуман концепт сюжета: девушка попала в мир “между жизнью и смертью” в связи с комой. Ей необходимо пройти 5 комнат-испытаний, чтобы либо проснуться в мире живых, либо исчезнуть без следа. На прохождение каждого испытания давалось ограниченное время.

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

Changeover: Решение быть разработчиком игр [Часть I] Gamedev, Игры, Компьютерные игры, Разработка игр, Инди, Changeover, Unity, Длиннопост

Вроде бы все было хорошо... НО! Технический специалист был недоволен качеством динамических теней и освещения. Сейчас мы понимаем, что причина была в неправильном использовании слоев и положении объектов по оси Z. Но тогда это был ключевой аргумент против продолжения разработки в 2D пространстве.

Changeover: Решение быть разработчиком игр [Часть I] Gamedev, Игры, Компьютерные игры, Разработка игр, Инди, Changeover, Unity, Длиннопост

Почему именно 3D? Ответ был очевиден: там хорошо ложится свет на объекты, есть тени, а также у команды был малый, но опыт в создании 3d моделей.

Идея старая, героиня тоже (в смысле не изменилась), ничего сложного быть не должно, правда? Была смоделирована 3d комната в одной из программ. Результат был перспективным.

Changeover: Решение быть разработчиком игр [Часть I] Gamedev, Игры, Компьютерные игры, Разработка игр, Инди, Changeover, Unity, Длиннопост
Changeover: Решение быть разработчиком игр [Часть I] Gamedev, Игры, Компьютерные игры, Разработка игр, Инди, Changeover, Unity, Длиннопост

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

1. Хорошо, мы создали комнату, а где взять текстуры?

2. Ладно, у нас есть более-менее уровень, какое будет управление у игрока?

3. Вишенкой на торте был вопрос: как в 3D будет выглядеть главная героиня?


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

Changeover: Решение быть разработчиком игр [Часть I] Gamedev, Игры, Компьютерные игры, Разработка игр, Инди, Changeover, Unity, Длиннопост

Следующий пункт нашей программы был UI. Стандартные решения были отброшены сразу, так как хотелось чего-то более оригинального. И тут идею подсказала игра ГоПоТа 5 (ни разу не реклама), где большую роль выполнял  карманный девайс героя. Почему бы не скоммуниздить вдохновиться этим решением?

Changeover: Решение быть разработчиком игр [Часть I] Gamedev, Игры, Компьютерные игры, Разработка игр, Инди, Changeover, Unity, Длиннопост

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

Changeover: Решение быть разработчиком игр [Часть I] Gamedev, Игры, Компьютерные игры, Разработка игр, Инди, Changeover, Unity, Длиннопост

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

Changeover: Решение быть разработчиком игр [Часть I] Gamedev, Игры, Компьютерные игры, Разработка игр, Инди, Changeover, Unity, Длиннопост

Да шучу я! В итоге получилось вот такое чудо:

Changeover: Решение быть разработчиком игр [Часть I] Gamedev, Игры, Компьютерные игры, Разработка игр, Инди, Changeover, Unity, Длиннопост

Это лицо олицетворяло что-то среднее между “у вас золотые руки, но растут не из того места” и “лучше вернитесь в 2d”.

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


Всем спасибо за внимание!


P.S. Баянометр ругался на всякую дичь

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

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

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

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

Лучше вернитесь в 2d. Там тоже можно сделать красивые тени.

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

Уже, следующий пост как раз об этом.

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

Если честно, начало было больно читать.

'Мы не успеем пользоваться инструментом, но Нам не понравился результат'. Конечно, вы ж дичь какую-то сделали.

Посмотрим на следующие посты.

0

Первая проблема решилась стилем “ленивый хоррор” - почему бы не сделать игру черно-белой?

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

-2

В мейкере всё зависит от художника. В моём случае художник сам рисовал почти всю графику, к примеру, есть момент в трейлере - https://www.youtube.com/watch?v=bus-KTdPXSA на 2-48, вспышка молнии на кладбище вызывает на секунду тени от всего окружения - полностью кастомный эффект, выглядит очень классно.

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

Это там надо было пить водку?

-5
О чем был этот пост? Игра не случилась, причина банальнейшая в нехватке навыков. Зачем же вы потратили кучу времени, чтобы об этом писать вместо того чтобы чему-то учиться?
раскрыть ветку 1
+3
А пока мы полируем игру к релизу, я хотел бы рассказать с чего все началось.
ещё комментарии
Похожие посты
1942

Unity предоставляет три месяца бесплатного доступа к Unity Learn Premium в связи с вирусом COVID-19

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

Отличный шанс начать хоть что-то делать, если вы давно хотели начать работать с Unity.

С начала движухи прошло уже больше недели, но как показала практика, мало кто об этом знает.

Так что, вперед!

Unity предоставляет три месяца бесплатного доступа к Unity Learn Premium в связи с вирусом COVID-19 Unity, Unity3d, Gamedev, Халява, ЛучшеДома
35

Оптимизация Unity проектов

Я не являюсь гуру-профессионалом, но думаю многим начинающим пригодиться эта информация по оптимизации Unity проектов на примере моей игры Last Floor.
Оптимизация Unity проектов Gamedev, Игры, Компьютерные игры, Разработка, Оптимизация, Unity, Steam, Длиннопост

Что будем оптимизировать:


Звуковые файлы

Для звуковых эффектов нужно использовать wav файлы 44кгц, обязательно в моно формате (Или ставить галочку Force To Mono. Для музыкальных треков оставить стерео). Quality лучше всего оставить 100.


Для ускорения загрузки сцены лучше поставить галочку Load In Background, кроме звуков которые воспроизводятся сразу при старте сцены.


Материалы

Тут все просто - меньше материалов в Unity, больше статики и будет больше FPS Игры.


Свет

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


По возможности запекаем свет, на неподвижных объектах должен стоять флаг Static, в некоторых местах можно использовать реалтайм без теней.

Вообще настройка света и отражений в Юнити это тема для отдельной статьи.


Модели

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

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

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


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

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

Оптимизация Unity проектов Gamedev, Игры, Компьютерные игры, Разработка, Оптимизация, Unity, Steam, Длиннопост

Развертка

Заполнять квадрат текстуры нужно по возможности максимально плотно но при этом оставляя отступы (8-16 пикселей для текстур 2к), чтобы при меньшем размере текстуры не было артефактов.


Одинаковые элементы складывать в кучу и сдвигать на 1 пункт за пределы координат (Это позволит избежать артефактов при запекании Normal и Ambient Oclusion карт).


Текстуры

Следует избегать больщих текстур 8-4к, лучше всего разместить модель на сцене и в редакторе Юнити постепенно уменьшать размер текстуры до появления мыла.


Большинство моделей с хорошей разверткой влезают в текстуру 1-2к без мыла.

Так же нужно упаковать текстуры Metallic и Smoothness в один файл для страндартного рендера. (R-Metallic, G-Пусто, B-Пусто, A-Smoothness). Для рендера HDRP будет другая техника упаковки текстур.


Для уменьшения размера билда используем сжатие CrunchedDX1 для обычных текстур и CrunchedDX5 для текстур с альфаканалом.


Код

Избегайте операций в Update, следите за нагрузкой CPU, пишите хороший код ;)

Оптимизация Unity проектов Gamedev, Игры, Компьютерные игры, Разработка, Оптимизация, Unity, Steam, Длиннопост

Итого у меня получилось:

Размер билда: 586Мб.

Строк кода: 5219

Моделей: 321

Текстур: 512

Звуковых файлов: 122

Музыкальных треков: 5 штук общей длительностью 25 минут.

Площадь локации: 10878 м2


Надеюсь мой опыт поможет вам сделать хорошую игру.


Страница игры в Steam: https://store.steampowered.com/app/1251300/Last_Floor/

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

Как я в армии игру делал

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

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

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


- Мы тебя сейчас обучим, а ты в армию уйдёшь. Ты сначала отслужи, а потом приходи.


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

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

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


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

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

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


Гордый, но не сломленный 4 пень, и вечно орущий свинячим голосом каспер, напоминал мне о далёком детстве и о том, что воткнуть сюда Unity (движок для разработки игр) не получится. Почти смерившись с тем, что придётся служить, а не делать игры я узнал о смене командира нашей роты. С новым командиром пришел и новый ноутбук. Наконец! Удача! Правда из - за неудобного расположения ротный всегда мог палить, чем я занимаюсь за ноутбуком. Делать игру нужно было, тогда когда командира не было в роте. Таким временем была ночь, но на ночь канцелярия закрывалась (ключей мне никто не оставлял), помимо этого мне нужен был интернет, а все отобранные телефоны (включая и мой) были сложены в металлический ящик с навесным замком и пластилиновой печатью. Как герою из дешёвого боевика мне нужен был план.


Первое. Пробраться ночью в канцелярию.


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


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

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

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


Второе. Достать телефон.


Для того чтобы установить нужную софтину на ноут, требовался интернет который был заперт в металлическом ящике ( все отобранные смартфоны, убирались в этот ящик). Мне выдавали его каждое утро «Для работы», а вечером я сдавал его обратно. Ящик выглядел примерно следующим образом:

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

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

«Дешево и сердито» - как выражался наш ком. роты.


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


Третье. Софт.


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


Последнее (как говорят в армии крайнее). Непосредственно сама разработка.


Я заранее договаривался с нарядом, чтобы они будили меня около часа ночи , вскрывал ножом дневального дверь и тайком пробирался в канцелярию. Разумеется у меня не получалось проделывать это каждую ночь, из-за различный «Подрывов», боевых тревог и тд. Но так как основное время я сидел в канцелярии и все «секретные» разговоры велись при мне, я хорошо знал расписание всех «неожиданных» происшествий в нашей роте. Когда ночью планировался подъём я был в казарме, когда все было спокойно я вставал и шел делать игру.

Как я в армии игру делал Gamedev, Армия, Unity, Длиннопост

(я был так рад, что сделал фото своей руки)


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


Уже вернувшись из армии я рассказал эту историю другу на что он ответил


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

- Да... жаль, только что эта клевая история успеха без успеха.


Как-то так =)  Наверно у каждого есть своя армейская история - это моя.

Спасибо, что дочитали до конца.


Если кому интересно то вот та самая игра


Страница игры в Google Play


https://play.google.com/store/apps/details?id=com.Pryg.Movin...

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

Как сделать турбо-тоннель эффект в Unity с помощью Particle System

Я не знаю, как назвать такой эффект: дыра, пещера, турбо-тоннель, wormhole или, может, пищевод, но результат выглядит так:

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Для реализации этого эффекта подойдёт практически любой игровой движок: мой первый вариант был сделан ещё на флеше. Здесь же расскажу на примере Unity (Version 2019.2.4f1).

Я добавил такой эффект во вступительном ролике и тизере своей игры про атаку вирусов на иммунную систему «Listeria Wars».

ПОШАГОВАЯ РЕАЛИЗАЦИЯ


Создание сцены


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

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Создание материала


Для Particle System понадобится материал со спрайтом тоннеля. Я нарисовал вот такую картинку, не особо заморачиваясь, так как эффект динамичный и мало кто успеет оценить вашу невероятную детализацию. Но всё, конечно, на ваш вкус. Изначально спрайт был красный, но для динамического цвета стоит перевести его в черно-белый режим.

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Закидываем наш спрайт в папку для спрайтов в Assets и создаём новый материал Tunnel Wall (создаём папку Materials, по ней кликаем правой кнопкой мыши → Create → Material). В настройках выбираем шейдер Mobile/Particles/Alpha Blended (в старых версиях Unity Particle/Additive). Затем в Particle Texture кликаем по нашему спрайту тоннеля.

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Добавление основной Particle System


Добавляем в сцену пустой объект и называем Tunnel. В него мы будем помещать все необходимые партиклы и контроллеры. Кликаем правой кнопкой мыши и выбираем Effects → Particle System, который назовём Tunnel Wall по аналогии с именем спрайта. Начинается самое интересное! Настройка и эксперименты.


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


Renderer

* Material: Tunnel Wall;

* Sort Mode: Oldest in Front;

* Max Particle Size: 5 (для возможности увеличения спрайта на размер больше, чем на пол экрана, где 5 — это разрешение экрана * 5).


Основные (Появляются при клике на хедер настроек, если скрыты)

* Start Lifetime 2.5 (Время жизни партикла, так же определяет скорость увеличения);

* Start Speed: 0 (Скорость не нужна);

* Start Size: 100 (Зависит от размера спрайта, выбираем на глаз, регулируем вместе с Size over Lifetime);

* Start Rotation: от 0 до 360 (Выбираем Random Between Two Constants, крутим партиклы как хотим);

* Start Color: Выбираем на вкус, если спрайт Tunnel Wall чёрно-белый. Осторожно, со слегка оранжевым цветом турбо тоннель рискует превратиться в задний проход;

* Gravity modifier: 0.02 (Партиклы будут слегка падать, задаём немного динамики в движении);

* Simulation Space: World (Мы будем двигать точку создания партиклов, чтобы не перемещалась вся конструкция, ставим World);

* Max Particles: 10 (Смотрим итоговое количество партиклов в панели Particle Effect и устанавливаем столько же).


Emission: Rate over Lifetime: 4 (на вкус)


Shape (форма, которая спавнит партиклы)

* Shape: Circle;

* Radius: 0.05 (Чем меньше радиус, тем более ровными получаются стенки. Выбираем на вкус).


Color over Lifetime

* Я выставил такие настройки для плавного появления и менее плавного ухода

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Size over Lifetime

* Размер должен увеличиваться примерно по экспоненте, но не с самого нуля

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Результат на текущий момент

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Другие партиклы


По аналогии я добавил другие частицы в виде клеток и вен. Расписывать подробно не буду, так как работу я проделал примерно аналогичную — настройки отличались лишь слегка. Следует учесть, что частицы должны быть поверх стен. Для этого необходимо задать Order in Layer в Renderer. Ещё я использовал Velocity over Lifetime, с этим тоже можно поиграться. Ну и добавил виньетку. Получилось так:

Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Немного динамики


Простым перемещением объекта Tunnel мы получим нелинейный тоннель. Добавим компонент Mover к Tunnel и удивимся результату

using UnityEngine;
public class Mover: MonoBehaviour {
public float rangeX = 2;
float rangeY = 1.5f;
public float timeDelimiterX = 4f;
public float timeDelimiterY = 3f;
void Update() {
transform.position = new Vector3(
Mathf.SmoothStep(-rangeX, rangeX, Mathf.PingPong(Time.time / timeDelimiterX, 1)),
Mathf.SmoothStep(-rangeY, rangeY, Mathf.PingPong(Time.time / timeDelimiterY, 1)),
0
);
}
}
Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

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

using UnityEngine;
public class Colorizer: MonoBehaviour {
public ParticleSystem tunnelWall;
public ParticleSystem cellBig;
public ParticleSystem cellSmall;
public ParticleSystem cellVessel;
void Update() {
Color color = new Color(
Mathf.SmoothStep(1, 0.5f, Mathf.PingPong(Time.time / 10f, 1)),
Mathf.SmoothStep(0, 1, Mathf.PingPong(Time.time / 15f, 1)),
Mathf.SmoothStep(0, 1, Mathf.PingPong(Time.time / 5f, 1))
);
var tunnelWallMainSettings = tunnelWall.main;
tunnelWallMainSettings.startColor = color;
var cellBigMainSettings = cellBig.main;
cellBigMainSettings.startColor = color;
var cellSmallMainSettings = cellSmall.main;
cellSmallMainSettings.startColor = color;
var cellVesselMainSettings = cellVessel.main;
cellVesselMainSettings.startColor = color;
}
}
Как сделать турбо-тоннель эффект в Unity с помощью Particle System Unity, Туториал, Визуальные эффекты, Gamedev, Разработка, Гифка, Видео, Длиннопост

Залипательно!


Весь код и ассеты тут: Github


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


Страница игры в Steam: https://store.steampowered.com/app/1183010/Listeria_Wars/

Добавляйте игру в вишлисты!

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

Сколько я заработал в Steam за 3 месяца. Подводим итоги

Всем привет. Давно не было новостей, но я не ленился, просто хотелось подвести итоги за определенный промежуток времени. Как многие знают я разработчик-самоучка и я уверен в том, что каждый человек, если захочет, то сможет научиться создавать игры. Учитывая доступность информации в наш век, можно научиться всему имея хоть немного свободного времени и стремление двигаться к своей цели. Моя игра The Story of Henry Bishop вышла на площадке Steam в ноябре 2019. И я подведу итоги за 3 месяца продаж. Все цифры я выложить конечно не смогу, ведь  подписывая соглашение Steam я обязуюсь не разглашать информацию со страниц Steamworks. Поэтому из статистики я смогу показать только количество проданных копий. Но я думаю и так вам станет понятно что к чему.

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

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

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

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

Как вы видите почти за 3 месяца игру купили 5321 раз, из этого количества покупок следует отнять 14%  возврата. Это не большой процент учитывая то, что у многих моих знакомых разработчиков он бывает куда больше. Основные продажи были во время распродаж и скидок, так что если считать сумму то в среднем эти продажи были со скидкой 25-50% Ничего не  поделаешь, игроки любят скидки. Я сам играю и сам покупаю много чего на скидках, так что это все обычное дело.


Коллекционные карточки

Хотелось бы упомянуть, что на старте выпуска игры Steam не дает возможности выпускать коллекционные карточки, значки, фоны, смайлы. Эта возможность появляется лишь тогда, когда игра превысила определенное количество продаж и запусков игры(так указано в документации). У меня карточки одобрили когда запусков игры было чуть больше 2к, продано копий около 3к. Это на заметку разработчикам. А то я сам искал информацию о карточках и негде и не нашел сколько хоть примерно должно быть.

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

Теперь в игре есть вот такие карты, смайлы и фоны.

Часть дохода.

Небольшой отчет о пожертвованиях как и обещал в своих постах и группе в вк.

За 3 месяца удалось собрать и пожертвовать на лечение детей почти 5000$ что и является 50% от чистой прибыли за игру(после уплаты ндс, процента магазина и налогов).

Почти 4 000$ были переведены в белорусский фонд "Шанс" (очень прозрачный фонд который лично у меня вызывает только доверие)  на лечение 3-х детей. Их имена указаны в чеках. И еще 1000$ отложена на реабилитацию еще одного ребенка и будут переданы родителям в руки лично, чек будет предоставлен немного позже в группе в вк, при оплате лечения. Обращаю внимания, что оплата производилась не RUR, а BYN(белорусские рубли)

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

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


Планы на ближайшее время!!!

В следующем месяце я хочу выпустить не большую игру на Steam в виде головоломки, легкая игра для детей и взрослых с музыкальным сопровождением от DJ Andrew Clam. У меня идея этой игры возникла еще когда я только начал изучать программирования и движок. Я раньше выпускал что то подобное на мобильных платформах и игрокам очень понравилось. Я немного подробнее расскажу об этой игре на днях в новом посте, когда мне одобрят оформленную страницу, что бы сразу предоставить ссылку всем кому она будет интересна. В ней так же будет режим  2 игрока на одном пк.

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity
Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

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

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



Вот несколько скриншотов с набросками из первой локации по ходу разработки.

О данном проекте я расскажу немного позже, когда будет что показать)

Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity
Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity
Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity
Сколько я заработал в Steam за 3 месяца. Подводим итоги Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity

В конце поста хотелось бы сказать всем большое !!!СПАСИБО!!! за поддержку. Тем кто купил игру, поддержал словом или советом большое вам спасибо. Благодаря пикабу я узнал что в странах СНГ очень много хороших отзывчивых людей, некоторые мне написали что бы помочь с переводом, кто то помог исправить ошибки в тексте или баг в игре. Кто-то просто оставил хороший отзыв на странице игры в steam с пометкой что он пришел с пикабу. Спасибо вам дорогие друзья!!!


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



Steam The Story Of Henry Bishop

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

Дневник разработки II

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


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

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

Дневник разработки II Gamedev, Инди, Indiedev, Pixel Art, Длиннопост, 5map, Видео

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

Дневник разработки II Gamedev, Инди, Indiedev, Pixel Art, Длиннопост, 5map, Видео

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


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

Впереди еще масса работы, но то что получается мне невероятно нравится. Хорошего дня)

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

Делюсь архитектурным шаблоном (StarterKit) для Unity проектов

Всем привет!


Периодически я пилю тут посты, которые с переменным успехом то набирают плюсы, то набирают минусы)))


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


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

В репозитории (ссылку приведу в конце) используется как собственный код, так и сторонний (NonDrawingGraphic, UIParticleSystem).


Сейчас это шаблон с примером реализации Главного Меню (назову это "Экраном") и появляющегося окна (назову это "Диалогом").

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


Логика следующая - существует главная сцена с контроллерами/менеджерами. "Главный Игровой Контроллер" при загрузке игры (появлении этой сцены при запуске) отображает загрузочный экран (назову это "Прелоадером").

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

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


Буду очень рад вопросам, критике и советам по улучшению.
Ссылка на репозиторий: https://github.com/DL-SKY/PrototypeForIndicator

Надеюсь, кому-нибудь пригодится.

Удачи и успеха всем в геймдеве!

58

Path Of Despair, до и после

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

ДО:

Path Of Despair, до и после RPG, Инди, Low poly, Gamedev, Длиннопост
Path Of Despair, до и после RPG, Инди, Low poly, Gamedev, Длиннопост

После:

Path Of Despair, до и после RPG, Инди, Low poly, Gamedev, Длиннопост
Path Of Despair, до и после RPG, Инди, Low poly, Gamedev, Длиннопост
Path Of Despair, до и после RPG, Инди, Low poly, Gamedev, Длиннопост
Path Of Despair, до и после RPG, Инди, Low poly, Gamedev, Длиннопост
Path Of Despair, до и после RPG, Инди, Low poly, Gamedev, Длиннопост

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


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


https://vk.com/pathofdespair

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

Hammer and Hand - духовенство

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

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

Hammer and Hand - духовенство Hammer and Hand, Unity, Инди, Steam, Игры, Стратегия, Симулятор, Pixel Art, Длиннопост

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

Hammer and Hand - духовенство Hammer and Hand, Unity, Инди, Steam, Игры, Стратегия, Симулятор, Pixel Art, Длиннопост

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

Hammer and Hand - духовенство Hammer and Hand, Unity, Инди, Steam, Игры, Стратегия, Симулятор, Pixel Art, Длиннопост
Показать полностью 2
326

Iron Meat (контра с отечественным сеттингом)

Предыдущая часть:  Iron Meat (контра с отечественным сеттингом)

Привет, Пикабу! Небольшой отчёт о прогрессе за год

Iron Meat (контра с отечественным сеттингом) Инди, Indiedev, Pixel Art, Gamedev, Разработка, Гифка, Видео, Длиннопост

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

(На момент написания предыдущего поста у меня было крайне плохое финансовое положение, так что издатель нашёлся ОЧЕНЬ вовремя)


Так же я начал сотрудничать с Борисом Грохом,  работы которого вдохновили меня на общий стиль игры, которым игра и интригует. Я обзавёлся первыми фанами в ВК именно благодаря его репостам, за что ему большое спасибо. Именно его постер к игре является главной "заманухой" на данный момент.

Музыкой всё так же занимается Darkman007 (и держит марку)

Iron Meat (контра с отечественным сеттингом) Инди, Indiedev, Pixel Art, Gamedev, Разработка, Гифка, Видео, Длиннопост

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

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

Iron Meat (контра с отечественным сеттингом) Инди, Indiedev, Pixel Art, Gamedev, Разработка, Гифка, Видео, Длиннопост

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

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

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

Iron Meat (контра с отечественным сеттингом) Инди, Indiedev, Pixel Art, Gamedev, Разработка, Гифка, Видео, Длиннопост
Iron Meat (контра с отечественным сеттингом) Инди, Indiedev, Pixel Art, Gamedev, Разработка, Гифка, Видео, Длиннопост

При этом отдельным пунктом стоит задача НЕ сделать головоломку в стиле "Silent Hill" - а-ля "а что ж в итоге там произошло то?" К концу игры всё должно стать ясно в теории

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

Iron Meat (контра с отечественным сеттингом) Инди, Indiedev, Pixel Art, Gamedev, Разработка, Гифка, Видео, Длиннопост

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


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

Iron Meat (контра с отечественным сеттингом) Инди, Indiedev, Pixel Art, Gamedev, Разработка, Гифка, Видео, Длиннопост

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

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

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

Iron Meat (контра с отечественным сеттингом) Инди, Indiedev, Pixel Art, Gamedev, Разработка, Гифка, Видео, Длиннопост
Iron Meat (контра с отечественным сеттингом) Инди, Indiedev, Pixel Art, Gamedev, Разработка, Гифка, Видео, Длиннопост

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

Так что в целом этот год был удачным. Я даже не надеялся на такой итог. Надеюсь, что следующий будет не хуже. Чего и вам желаю! С наступающим!


Отдельное спасибо друзьям и "Качалочке" (Рома и Денис просили отдельное), за то что верят в меня больше чем я сам и морально поддерживают


З.Ы. Извините за "тяжёлые" гифки


Видео с прохождением первого уровня:

https://youtu.be/3CT4bJmN51Y

Ссылки:

Демо: https://ironmeat.itch.io/iron-meat

ВК: https://vk.com/iron_meat_game

Твиттер: https://twitter.com/IvanMeat

Страница в STEAM должна скоро появиться


Борис Грох: https://vk.com/borisgrohart

Darkman007: https://vk.com/darkman007_club

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

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

Новая старая игра 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
30

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

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

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

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

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

The Thing  (Компьютерная Инди-игра)

Приветствую. Это мой первый пост на Пикабу.

С 2016 года занимаюсь любительской разработкой инди-игр на конструкторах RPG Maker. Как это не странно, мое творчество нашло своих игроков и пользуется определённой популярностью в русскоязычном RPG-maker сообществе.

Я хочу познакомить вас с моими играми.


The Thing - первая из них

The Thing  (Компьютерная Инди-игра) Игры, Rpgmaker, Инди, Нечто, Thing, Gamedev, Indi, Длиннопост

Автор: PanzerCat,

Платформа: RPG-Maker VX ace

Жанр: Хоррор-квест.

Возрастные ограничение: 16+

Вес: 260мб

Продолжительность игры: от 4 до 8 часов

>>>>>Группа ВК<<<<<


---------------------------------------------- Описание -----------------------------------------------------

По мотивам культового фильма «The Thing» Джона Карпентера и повести «Who Goes There?»

Антарктика, 1982 г. Команда спасателей вылетает на сигнал SOS с дальней станции №31.

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


------------------------------------- Достоинства/Особенности --------------------------------------

- Ручная рисовка локаций

- Видеозаставки

- Головоломки разных типов и степени сложности

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

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


---------------------------------- Недостатки ---------------------------------------------------

- Возможны тормоза.  У меня выдает в среднем 40-30 ФПС.  Что будет у вас, не знаю - – все индивидуально. Движок RPG-Maker не совсем расчитан на подобное использование

- возможны проблемы с проигрышем видеороликов. Может быть из за недостатка кодеков. Для решения проблемы нажимайте F5 и F6 чтобы изменить разрешение должно помогать.

- орфография. К сожалению, не особо грамотно пишу.


-------------------------------- ВАЖНОЕ!!! ----------------------------------------------

1. На кнопку Esc вызывается меню:

-инвентарь

-документы

-досье спасательной группы

-сохранение

-загрузка

-выход

2. Найденные записки/документы/карты сохраняются во вкладке "документы". Не пренебрегайте их прочтением: они полезны для поддержания атмосферы и понимания происходящего

3. Полноэкранный режим F5 (F6 – переключение с большого экрана на маленький), Shift – бег

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


---------------------------------- Скриншоты -------------------------------------

The Thing  (Компьютерная Инди-игра) Игры, Rpgmaker, Инди, Нечто, Thing, Gamedev, Indi, Длиннопост
The Thing  (Компьютерная Инди-игра) Игры, Rpgmaker, Инди, Нечто, Thing, Gamedev, Indi, Длиннопост
The Thing  (Компьютерная Инди-игра) Игры, Rpgmaker, Инди, Нечто, Thing, Gamedev, Indi, Длиннопост

--------------------------------------- СКАЧАТЬ ---------------------------------------

Яндекс-диск 

Mediafire 


Играйте, пишите своей мнение и отзывы, подписывайтесь на мою группу ВК. Через неделю выйдет новая игра!

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

Potata, ползком до релиза — что мешает на пути к финалу

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост

У нас совсем недавно произошло радостное событие-мы выпустили нашу игру в Steam. Это было не просто. Мы два раза переносили дату релиза, но в третий раз все таки игра вышла в назначенное время. И теперь я хотела бы рассказать свои впечатления о периоде перед выходом и о том, что вообще мешает довести проект до релиза.


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


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


1. Игра не идеальна - смирись

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

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост

2. Баги были, баги есть, баги будутБаг - страшное слово для любого разработчика. Последние пара тройка месяцев у нас состояла из исправления багов почти на 100 процентов. Но этот зверь бывает неуловим. На старте баги будут - этого почти невозможно избежать, особенно маленькой инди команде. Вопрос только в серьезности этих багов. Мы поставили себе конечную дату(в третий раз) и решили, что исправим максимум сколько сможем к этому числу и выпускаем игру. Иначе можно опять же вернуться к дате релиза «никогда». Само собой сырой продукт это плохо и ата-та, но вернёмся к пункту №1 этой статьи. Неидеальность своей работы в определенной мере нужно принимать.


3. Неуловимые мстители

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


4. Приоритеты задач

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


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


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


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

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост

5. Волков бояться — в лес не ходить

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


6. Рост как специалиста. Долгая разработка.

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


7. Знать все на свете не реально, но я, мечту свою лелея…

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


8. Выгорание

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост

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


9. Усталость и новые идеи.

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


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

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост

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


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


Главное правило для меня перед релизом: «лучше сделать с недочетами сейчас, чем идеально никогда».


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


Страница игры в steam: https://store.steampowered.com/app/1044020/Potata_fairy_flower/

Potata, ползком до релиза — что мешает на пути к финалу Gamedev, Инди, Unity, Гифка, Длиннопост
Показать полностью 5
332

Жертвы ради Nintendo Switch

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

Когда-то я мог только мечтать о релизе игры на консоли. Даже Steam казался далекой целью — я работал в индустрии звукозаписи, но новость, что мощный игровой движок Unreal Engine 4 стал условно бесплатным и игры может делать любой желающий, заставила меня стряхнуть пыль с незаконченного высшего режиссерского образования и приняться за разработку кинематографичного хоррора о девочке, болеющей астмой.


Спустя 4 года работы моя игра Never Again вышла в Steam. Это был май 2019, а уже 30 января 2020 года состоится ее релиз на Nintendo Switch. Учитывая, что я никогда не планировал релиз на этой консоли, портирование принесло немало трудностей.

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

Скриншот из порта игры Never Again для Nintendo Switch

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


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


Целью было добиться на гибриде стабильных 30 fps. Чтобы оценить, насколько трудной станет эта задача, я запустил Never Again на девките вообще без какого-либо вмешательства в структуру игры. Пусть она поработает, словно бы это ПК.

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

Как же это было долго…

Если не брать в расчет две бесконечности: сборку движка и компиляцию шейдеров под весь проект, запустить игру на консоли удалось с первого раза. Запущенное приложение встретило меня изумительными… 0 fps. По ощущениям картинка менялась раз в час, а по факту на CPU было 6000мс. Оптмизация предстала передо мной в виде хитрого ребуса, разгадать который оказалось той еще задачей. Но по истечению двух недель, которые я занимался портированием 24/7, этот первый этап перестал казаться чем-то сокрушительным и неразрешимым.


Если вы столкнетесь с такой же проблемой, вот первый совет:

Важный совет №1. Полностью отключаем симуляцию физики одежды Apex Cloth.

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

Чтобы это понять и запрофайлить игру на Switch, пришлось накрутить такие костыли, что об этом мне не позволяет рассказывать NDA. В целом, это наконец заставило меня глубже разобраться с профайлингом в Unreal Engine 4.

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

Прощай, красивое платьишко.


Ура! Never Again полноценно запускается на Switch, и можно даже пройти игру, но все еще с большим трудом — вилка fps была от 10 до 15. Идей, что с этим делать, у меня было не так уж и много…


Я отключил тяжелые постпроцессы (Depth of field, Motion Blur (не понимаю, кому вообще нравится этот эффект ;)), Ambient Occlusion и т.д. За последний я очень боролся и не хотел выключать, т.к. картинка очень сильно менялась не в лучшую сторону. Но ради оптимизации придется потерпеть.


Затем пришло время сказать "до свидания" и сглаживанию. Отключил. Но его отсутствие я решил немного компенсировать понижением Resolution Scale в ручном режиме до 66.66%, а в консольном — до 80%.


Далее я настраивал разрешение экрана для консольного режима, установив 1920х1080 (меньше — не круто), а для портативного режима ограничился 1280х720. С разрешением у меня возник казус, полностью перевернувший мое представление о портировании. Но об этом — в конце.


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

Настало время убивать графику


Первое, что пришло в голову — отключить траву. Начальная локация в Never Again — освещенная детская комната, через окно которой видно улицу. А там, в свою очередь, уже куча источников света, порождающих огромное количество теней. Я не мог их запечь в силу обстоятельств, о которых можно написать целую отдельную статью. Освещение должно было оставаться стационарное (полу динамическое). Больше нигде в игре травы нет, так что жалеть ее я не стал.

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

Эх, с травой красиво было…

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

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

На скриншотах можно заметить, что последняя картинка какая-то зернистая. Нет, это не низкое разрешение скриншота, это Dithering (Дитеринг).


Важный совет №2. Забываем о режиме Translucent. Прозрачные материалы делаем с помощью режима Masked + Dither.

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

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

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

В консольном режиме такое стекло выглядит на удивление хорошо.

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

Очень качественный порт

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


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


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


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


Первым делом под руку попались физические объекты.


В Never Again много физики, что для Nintendo Switch — не очень хорошая новость, т.к. любая физика — серьезная нагрузка на процессор. В целом, физические объекты были достаточно оптимизированы еще для ПК: когда они валялись без дела, то погружались в сон и тем самым переставали нагружать процессор. К таким объектам можно отнести куски от кукол в пещере, которыми я завалил весь пол. Число таких объектов пришлось сократить, чтобы уменьшить количество их столкновений друг с другом.

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

Наверное, я — больной ублюдок, раз решил вообще в эту игру физику вставить…


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


Важный совет №3. Используйте физику в играх разумно, а лучше — вообще от нее откажитесь.


Вот мы и дошли до логики.


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


За 4 года разработки накопилось очень много фундаментальных ошибок, исправление которых, особенно в квестах и катсценах, могло сделать игру непроходимой. Пару лет Never Again была в Раннем Доступе, и все это время я упорно возводил шаткую башню из костылей. И если в Steam при обнаружении пользователем бага я мог моментально перезалить билд и все исправить, то со Switch такое бы не прокатывает: каждое обновление тщательно проверяется, и это занимает немало времени. Поэтому переписывать код было опасно. Проще отрезать функционал, который не влиял на геймплей.


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


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


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


Стоило мне убрать IK, как сразу высвободилось 7 мс с CPU, и игра стала изредка выдавать желанные 30 fps.


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


Что это значит? Помните, в начале статьи я говорил, что боролся за близкий моему сердцу пост процесс Ambient Occlusion? Дело в том, что Forward Rendering был придуман для VR игр. Он отключает некоторые тяжелые визуальные эффекты и тем самым в разы уменьшает нагрузку как на GPU, так и на CPU. Ambient Occlusion, соответственно, тоже был отключен.


Сразу бросилось в глаза, что вместе с Ambient Occlusion перестали отображаться декали. Я заменил декали на плейны с текстурой, и это было нетрудно. По Ambient Occlusion я горевал до тех пор, пока первый раз не зашоукейсил игру на Nintendo Switch. Игроки ничего странного в визуале не увидели и в целом охарактеризовали порт как "красивый".


Помните, я упомянул про казус с разрешением экрана? Я долго не мог понять, почему в проекте после перехода на Forward Rendering fps поднялся до небес, а в консоли все также оставалось от 25 до 30 fps. Проблема оказалась в Device Profiles: я неправильно указал смену разрешений для ручного режима и консольного. После исправления я почувствовал великое облегчение, статистика показала эпичные 55 fps в меню, вместо стабильных 30, за которые я боролся две недели.

Жертвы ради Nintendo Switch Gamedev, Инди, Unreal Engine, Разработка, Гифка, Видео, Длиннопост

Да, записал гифку с видоса записанного на телефон, что такого?

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


Важный совет №5. Уменьшаем размер текстур.


Крупные текстуры — распространенная ошибка, которой мне удалось избежать по причине особенности стиля игры и слабого компьютера. Но, тем не менее, многих эта ошибка может коснуться. Я поставил себе ограничение, что размер текстур не должен превышать 1024х1024, а чаще всего использовал вообще 512х512. Помните: размер памяти у Nintendo Switch — не безграничный.


Важный совет №6. Пользуйтесь Blueprint Interfaces.


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


В целом, это все. Можно было бы еще рассказать про прохождение всех проверок билда компанией Nintendo, но это совсем другая история, и прячется она под NDA. Все обладатели Switch смогут увидеть плод моей боли, пота и слез в Nintendo eShop уже 30 января 2020.


https://www.nintendo.ru/-/-Nintendo-Switch/Never-Again-16979...

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

Hold my beer! Расширяем механику игры. Часть 11. Подземелья

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

Мне предложили много классных вариантов, но я выбрал другое название. Именно "hold my beer!" произнесет главный герой перед началом всего приключения.

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

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

Ну и кисонька в конце

Hold my beer! Расширяем механику игры. Часть 11. Подземелья Unity, Gamedev, Инди, Мобильные игры, Разработка, Видео, Длиннопост
Показать полностью 1
123

Arktrum: комната с зеркалами.

Приветствую всех!

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

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

303

Слешер с ужасной системой подбора лута

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

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

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

Ну и котик в конце

Слешер с ужасной системой подбора лута Unity, Мобильные игры, Gamedev, Indiedev, Инди, Видео, Длиннопост
Показать полностью 1
2469

Может ли тракторист стать разработчикам игр? Сегодня релиз моей игры в Steam.

Всем привет.

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

Немного отступления:

Тем кто не знаком с моими постами на пикабу вкратце расскажу. Меня зовут Николай, я из Беларуси, по образованию слесарь по сельскохозяйственной техники и как дополнение тракторист(никогда не работал по профессии, максимум что умею это поменять колесо и свечи и то при условии что все легко открутится). Зачем пошел учиться в такую профессию? Да потому что мало кто в 17 лет сильно думает о будущем, тем более с моим аттестатом могли и туда не взять. Старшие классы школы это постоянные прогулы и зависание в компьютерных клубах играя в warcraft, CS и т.п.

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

Может ли тракторист стать разработчикам игр? Сегодня релиз моей игры в Steam. Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity, Программист, Разработка
Может ли тракторист стать разработчикам игр? Сегодня релиз моей игры в Steam. Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity, Программист, Разработка

История Генри Бишопа — это мистический триллер в котором герой может использовать предметы, решать загадки, не только прятаться, но и убивать врагов. На игру я потратил 3 года разработки, делал её в гордом одиночестве, откладывая деньги с зарплат, покупая недостающие модели, озвучку, переводы. Игра в данный момент озвучена на 2‑х языках — английский и русский, так же переведена на 8 языков(субтитры).

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

Может ли тракторист стать разработчикам игр? Сегодня релиз моей игры в Steam. Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity, Программист, Разработка
Может ли тракторист стать разработчикам игр? Сегодня релиз моей игры в Steam. Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity, Программист, Разработка

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

P.S.

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

Группа игры в ВК

Страница игры в STEAM

Может ли тракторист стать разработчикам игр? Сегодня релиз моей игры в Steam. Steam, Gamedev, Длиннопост, Ужасы, Инди, Видео, Трейлер, Unity, Программист, Разработка
Показать полностью 5
91

Расширяем механику игры. Часть 10. Мини-боссы. Придумываем название

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

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

Я ума не приложу как назвать этот проект, если у вас есть идеи, то пишите в комменты свои названия, как скажете, так и назовём :)


P. S. Если вы мне писали, а я не ответил, то напишите ещё раз, прошу прощения что пропал на несколько недель


Ну и котик в конце

Расширяем механику игры. Часть 10. Мини-боссы. Придумываем название Игры, Unity, Gamedev, Мобильные игры, Инди, Видео
Показать полностью 1
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: