9

История разработки Purfekkt U. Часть 2.

Привет всем!

Часть 1 тут.

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

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

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

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

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

История разработки Purfekkt U. Часть 2. Gamedev, Отечественный gamedev, Домашний геймдев, Indiedev, Мобильные игры, Инди, Длиннопост

Вдохновившись и расписав механику, я принялся кодить, моделить, текстурить)))

Решил сильно не запариваться, хоть и внутренний перфекционист очень сильно сопротивлялся!

Сеттинг решил сделать следующим: Космический мотылек летит в космосе на "скорости света" и собирает космическую звездную пыльцу! Навстречу ему попадаются злобные и абстрактные космические существа из разных других миров. Задача - собрать как можно больше пыльцы и не столкнуться с врагом. Чем больше собрано пыльцы - тем выше скорость полета и больше препятствий на пути! Кажется, все просто и понятно. Это конечно кардинально отличалось от изначальной идеи, которую я пытался реализовать еще на UDK.

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

Пришлось столкнуться с некоторыми трудностями интеграции социальных систем, таких как Google Play Services и рекламных медиаторов - они никак не хотели работать вместе и компилироваться в финальную Apk'шку. В итоге с горем пополам, все получилось. Вообще это очень забавный факт: компилировать и тестить на андроиде легче(начальные прототипы), а заставить все адекватно работать - сложно. На iOS все наоборот, интеграция сервисов и функционала простая, а вот скомпилировать и поиграть на устройстве - сложнее.


Спустя 2,5 месяца игра была выпущена в AppStore и GooglePlay под названием Purfekkt Universe.

История разработки Purfekkt U. Часть 2. Gamedev, Отечественный gamedev, Домашний геймдев, Indiedev, Мобильные игры, Инди, Длиннопост

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

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


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

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

История разработки Purfekkt U. Часть 2. Gamedev, Отечественный gamedev, Домашний геймдев, Indiedev, Мобильные игры, Инди, Длиннопост

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

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

Пару месяцев назад узнал про обзоры от Apple, написал им и спустя несколько недель я попал в  AppStore Daily. Это принесло первые 6.000 загрузок и на них, я заработал первые 70$. Да, этой мелочи не хватит особо ни на что, уж точно не покроет затраты. На андроиде аудиторию я так и не смог набрать. Конечно, при лучшем раскладе и большей аудитории можно хорошо пассивно зарабатывать, но мне с этим проектом, видимо, не особо повезло. Но как первый полноценно-выпущенный блин - вполне)

Найти игру можно по ссылкам ниже:

iPhone/iPad

ANDROID

Трейлер здесь. Вставить сюда не могу - не хватает Пикабу баллов.

Друзья, буду рад всем, кто поиграет и оценит её в сторе)


Сейчас 2018 год и я пишу новую, более творческую музыкальную игру. Узнать о ней больше вы можете в моем блоге разработки VK. Так же блог дублируется в Instagram, Facebook и Twitter - выбирайте на любой вкус :) Подписывайтесь, ставьте лайки, комментируйте, буду рад каждому!

В следующей части, я расскажу о ней и как я к ней пришел.

Всем спасибо за внимание, буду рад обсуждению и вопросам)

История разработки Purfekkt U. Часть 2. Gamedev, Отечественный gamedev, Домашний геймдев, Indiedev, Мобильные игры, Инди, Длиннопост

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

Похожие посты
74

Как я решил делать рогалик на Unity. Часть 4

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

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

Глобальная погода обновляется 24 раза за игровой день, который длиться соответственно 24 минуты. Примерно вот так выглядит глобальная карта с погодой:

Как я решил делать рогалик на Unity. Часть 4 Gamedev, Unity, Рогалик, Инди, Игры, Разработка, Гифка, Длиннопост

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

Чтобы погода менялась с течением времени есть фронты (зелёные стрелочки) и циклоны. Фронты меняют температуру и образуют дожди. А циклоны создают зоны с повышенным/пониженным давлением.

Вот как это работает в динамике:

Как я решил делать рогалик на Unity. Часть 4 Gamedev, Unity, Рогалик, Инди, Игры, Разработка, Гифка, Длиннопост


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

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

Вот так проходит в игре ночь:

Как я решил делать рогалик на Unity. Часть 4 Gamedev, Unity, Рогалик, Инди, Игры, Разработка, Гифка, Длиннопост


Помимо "статических" облаков есть и динамические через систему частиц:

Как я решил делать рогалик на Unity. Часть 4 Gamedev, Unity, Рогалик, Инди, Игры, Разработка, Гифка, Длиннопост


И как следствие облаков, эффект дождя:

Как я решил делать рогалик на Unity. Часть 4 Gamedev, Unity, Рогалик, Инди, Игры, Разработка, Гифка, Длиннопост


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

И бонус в комментариях

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

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

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


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


<<Для начала в игре существует только одна core-механика. И для ее реализации, поверьте, придется уйти в работу с головой. Создавать нексолько механик = создавать несколько разных игр. А это равносильно усложнению своей жизни. Вместо шлифовки одной механики вы должны распылиться на 10, а потом оставить из них только одну, а остальные выкинуть. Печально выкидывать результаты работы, правда?>>


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


Вот рассмотрим очень простой пример такой механики на мобильной игре.

Допустим у нас есть персонаж в мобильной игре и наша задача управлять им. Мы видим персонажа сверху (2D). Как бы в сделали его управление?

Это очень щепетильный вопрос. Управление - это задача задач, которую решают в процессе разработки.

(1) Если вы будете приказывать персонажу идти за пальцем, когда он опущен на экран, то ваша рука будет перекрывать экран и вы будете смотреть на свою руку;

(2) А если персонаж будет идти в противоположную о пальца сторону, то будет ли удобно такое интвертирование управления?

(3) Если персонаж будет идти в точку, которую вы кликнули, то сможет ли он увернуться от летящей ракеты? Не перекроется ли экран рукой, когда вы смените направляение движения персонажа? Это управление точно удобно?

(4) А если просто... Джойстик и все тут! Не перекроет ли джойстик экран? Сколько экранного пространства он занимает (допустимо ли это)? Удобен ли он? Функционален? Позволяет ли он погрузиться в атмосферу игры?


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

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


Оптыный дизайнер (опытный кладоискатель) способен быстро оценить все "за" и "против" каждого из пунктов [1-4]. Новичок же, очень вероятно, будет экспериментировать и постигать тайны управления с нуля :)



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


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


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


//===


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



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


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


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

Мы справились с этой задачей, сбоку это выглядит так (скрины специально не содержат текстур, дабы не наспойлерить):

Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост

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


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


Получилось весьма недурно :)



Руки.

C руками, как и со всем остальным, отдельная история. И она длинная.

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


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

Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост
Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост

Подключенные первые варианты рук/манипуляторов выглядел примерно так:

Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост

Здесь один из вариантов ранних анимаций. Главное не внешний вид, а принцип работы:

Пробовали такие варианты:

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

Как мы разрабатывали части персонажа. Персонаж : правдоподобие против удобства управления Анимация, 3D анимация, Процедурная анимация, Gamedev, Руки, Робот, Дрон, Модели, Скетч, Инди, Инди игра, Видеоигра, Игры, Программирование, Дизайн, Game Art, Создание персонажа, Компьютерные игры, Дневник разработки, Cgi VFX, Видео, Длиннопост

Тесты инверсной кинематики. Чисто математика:

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

Инверсная кинематика  в чистом виде (IK):

Еще немного инверсной кинематики для тех кому понравились видео:

Здесь эксперименты того как смотрится перемещение обьекта манипуляторами (как манипуляторы ведут себя при перемещении аюстрактного куба):

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

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


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

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


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


Некоторые скетчи из процесса разработки игры выкладываю здесь:

https://twitter.com/CGAleksey

https://www.instagram.com/cgaleksey/



--

Надеюсь статья понравилась и вы почерпнули из нее что-то новое.

На сегодня у меня все.

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

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

Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа

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

Кто-то в одном из предыдущих постов отметил: "Я никогда не понимал этих скетчей, ранних дизайнов и арт-буков. Уж извините. Давайте готовый проект".



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

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



Наброски, скетчи, технические рисунки и все что рисуется "быстро" и в основном "для себя".

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

Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост
Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост
Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост

Или такое:

Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост
Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост
Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост

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


Ранние дизайны. Арт-буки.

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


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


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


На текущий момент удалось вот что набросать по персонажу. Здесь один из вариантов персонажа.

Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост

Здесь вариант персонажа и разные варианты его головы:

Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост
Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост

Еще один вариант песронажа. Кого-то он мне напоминает:

Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост

Варианты рук:

Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост
Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост

Варианты кисти. Немного экспериментировал с соединениями/суставами :)

Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост
Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост
Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост
Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост
Зачем нужны скетчи, арт-буки, ранние дизайны. Скетчи персонажа Скетч, Создание персонажа, Gamedev, Инди, Инди игра, Видеоигра, Игры, Дизайн, Дневник разработки, Компьютерные игры, Артбук, Персонажи, Научная фантастика, Робот, Дрон, Набросок, Длиннопост

Больше скетчей из процесса разработки выкладываю здесь:

https://twitter.com/CGAleksey

https://www.instagram.com/cgaleksey



На сегодня все, спасибо за внимание!

Всем хороших выходных.

Показать полностью 16
27

ТЬМА ПОГЛОТИЛА ВАС - переделываем мобильный платформер под PC

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

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

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

ТЬМА ПОГЛОТИЛА ВАС - переделываем мобильный платформер под PC Gamedev, Разработка, Инди, Игры, Компьютерные игры, Unity, Unity3d, История создания, История создания игры, Видео, Длиннопост

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

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

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

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

Сделать данный эффект в своем проекте достаточно просто, так как он входит в стандартный пакет PostFX эффектов для Unity и имеет простую документацию.Если это вас заинтересовало, то вы можете установить его в самом Unity->Window->PackageManager->PostProcessing.

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

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

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

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

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

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

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

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

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

Статья о том как художник/дизайнер бодался с системой рисования линий для игры и сделал ее :)

Кому будет интересна статья? Наверно всем, но не бывалым прогерам так как тут ничего нового для них нет. Читателя ждет МНОООГО видео, картинок и обьяснений "на пальцах".

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

Как артист делал систему рисования линий для своей игры Gamedev, Компьютерная графика, Cgi VFX, Игры, Инди, Арт, Видеоигра, Линейная алгебра, Видео, Длиннопост

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

Итак, поехали. Нужно было сделать систему рисования линий для игры. Линия должна рисоваться от лазерного луча на любой поверхности. Стал делать свою систему потому, что на AssetStore ничего такого нет. Есть одна система, но она:
1) рисование на каждом обьекте (static/dynamic) приводит к тому, что обьект вырывается из батчинга и создает +1 drawCall.
2) система рисует только точки. Ну типа как в Splatoon. Можно рисовать пятна, но не линии.
Очевидно, это мне не подходит, так что go делать что-то свое.

Это далеко неконечный вариант так как линии здесь не рисуются, рисуются "точки". За счет медленного движения мышки кисть рисуется часто и след выглядит как линия:

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

Требования к системе такие:
- линии должны рисоваться на статических обьектах, но не всех. Динамические обьекты должны не давать рисовать линию на полигонах, которые ЗА ними.
- работает максимально быстро
- работает на любом железе на котором работает Unity
- число линий неограничего
- число цветов линий - неограничено
- рисовать можно не только линии

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

Ну вот, для наглядности:

Как артист делал систему рисования линий для своей игры Gamedev, Компьютерная графика, Cgi VFX, Игры, Инди, Арт, Видеоигра, Линейная алгебра, Видео, Длиннопост

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

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

Вот фото работы этого алгоритма:

Как артист делал систему рисования линий для своей игры Gamedev, Компьютерная графика, Cgi VFX, Игры, Инди, Арт, Видеоигра, Линейная алгебра, Видео, Длиннопост

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

Здесь просто тесты алгоритма, смотрел как работает:

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

Здесь видно (подсвечиваю) полигоны на модели и какие полигоны секутся лучем (рисуют линию):

Здесь наглядно видно как работает рисование линий:

Удалось сечь обьект и рисовать на нем линию. Здорово!
Осталось сделат самую малость: найти обьекты, которые будут рисовать на себе линии.Вот водишь ты лучем в пространстве и нужно знать с чем луч пересечется. Для этого есть Оctree & BVH. Первый хорош для статики, второй для динамических обьектов. Спасибо GameDev.ru (а именно крутым парням foxes и kkolyan за подсказки).

Внедряем деревянные структуры, печем, запускаем. Работает!
Это не конечный вариант, но все же. Вот как смотрится след в действии:

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

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

https://twitter.com/CGAleksey
https://www.instagram.com/cgaleksey/

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

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

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


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

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

https://twitter.com/CGAleksey

https://www.instagram.com/cgaleksey


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

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

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

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


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


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

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

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


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


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


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


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


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


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

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

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



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


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

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

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

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

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

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


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

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

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

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
566

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2)

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

Первая часть: Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1)

Мы используем ортографическую камеру в игре. Объекты на любом расстояние одинакового размера. Но это означает, что у такой камеры нет «настоящего» параллакса.

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Значение Z может быть отрицательным, чтобы создавать иллюзию объектов, находящихся ближе к камере. Они ездят в противоположное от камеры направление.

После того как камера остановилась, группы с параллаксом слегка смещаются так, чтоб зазор между ними и артом переднего плана был кратен одному пикселю. Пытаются казаться пиксель-пёрфект. Не на 100% точно, но тем не менее…

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

Ну, на самом деле могли, но тогда дальние объекты должны быть огромными

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

У главного героя около 840 уникальных кадров анимаций. У девочки — 510, у рыцаря — 600.

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Unity подхватывает их и импортирует в движок на лету, создавая .anim-файлы с базовой структурой и расставленными новыми спрайтами, и по необходимости вставляет анимации в нужные аниматоры. Остаётся только выставить тайминги.

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

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

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

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

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

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

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост
Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

На следующий год мы повторили шутку, но написали, что делаем официальный ремейк Dangerous Dave. Джон Кармак лайкнул эту гифку в твиттере. Я был невероятно счастлив.

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

Новогодняя гифка. Я называю её «бабушку давно не навещали».

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

И на этом у меня всё! Надеюсь, было интересно!

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

Игра вышла сегодня на Steam, GoG, Humble и на Nintendo Switch. И я очень надеюсь, что результат наших трудов вам понравится.

https://store.steampowered.com/app/938560/INMOST/
https://www.gog.com/game/inmost
https://www.humblebundle.com/store/inmost
https://www.nintendo.co.uk/Games/Nintendo-Switch-download-so...

https://www.nintendo.com/games/detail/inmost-switch/

Спасибо.

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1)

Я начал делать первые наброски по игре 4 года, 2 месяца и 20 дней назад. Изначально я это делал просто потому, что страшно устал рисовать цветастые матч-3, и чтобы справиться с депрессией. Только спустя год мы начали делать первый прототип.

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

Изначально, названием игры было «Murray and the Demons». Соответственно, имя главного персонажа было Мюррей. Мы позже сменили его на Адам.

Я выбрал имя Мюррей потому что я большой фанат «Клиники» и в одном из эпизодов персонаж Мэтью Пэрри говорит Джей-Ди, что у него имя старика. Мюррей. А мне как раз было нужно имя для старика.

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

Позднее все враги стали слизнеобразными в большей или меньшей степени

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

Кривые цветокоррекции очень мощный инструмент для создания настроения

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

Концепты и наброски были очень важной частью разработки на всем её протяжении. Не только на первых этапах.

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Иногда приходится чем-то жертвовать, даже если очень не хочется этого делать.

Интересный факт— на блокноте с набросками есть следы зубов. В некоторые моменты разработка была достаточно стрессовой. Мягко говоря.

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

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

Я сделал в Procreate (приложение на iPad) фон, симулирующий тетрадный листик, и начал перерисовывать наброски в него. Рисование руками в блокноте очень хорошо для быстрых набросков и создания общей концепции, но в какой-то момент ты должен начать думать критериями вроде высоты и расстояния прыжка персонажа — и тут тетрадные клеточки незаменимы.Эти схемы перерисовывались и исправлялись после плейтестов множество раз.

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

В какой-то момент я решил полностью отказаться от использования тайлов. Каждая локация нарисована вручную.

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

В игре около 10 типов подобных триггеров.

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

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

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть1) Inmost, Gamedev, Pixel Art, Инди, Гифка, Видео, Длиннопост

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

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

Спасибо, что дочитали! Пост получается действительно большим, поэтому продолжение во второй части!

Inmost — как игра менялась за три с лишним года разработки и как устроена сейчас (часть2)

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Всем привет!

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

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

Зарождение

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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


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


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


P.S.

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

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

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

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

Фонтанчик обмазочка

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

Фонтанчик обмазочка 3D, Game Art, 3D графика, Casual, Indiedev, Мобильные игры, Длиннопост
Фонтанчик обмазочка 3D, Game Art, 3D графика, Casual, Indiedev, Мобильные игры, Длиннопост
Фонтанчик обмазочка 3D, Game Art, 3D графика, Casual, Indiedev, Мобильные игры, Длиннопост
Фонтанчик обмазочка 3D, Game Art, 3D графика, Casual, Indiedev, Мобильные игры, Длиннопост
Показать полностью 2
448

Another Way - Инди Action/RPG год спустя

Another Way - Инди Action/RPG год спустя Длиннопост, RPG, Indiedev, Unreal Engine 4, Инди, Another Way, Gamedev, Видео

С начала истории под названием “Через тернии к игре мечты” или разработка своей action/rpg буквально на коленке прошел без малого год. Самое время отвлечься от разработки и рассказать о том, что же у нас получилось за это время. Для тех, кто не понимает о чем речь предлагаю ознакомиться с началом истории - “Через тернии к игре мечты”, а в профиле можно прочесть остальные части.

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

Another Way - Инди Action/RPG год спустя Длиннопост, RPG, Indiedev, Unreal Engine 4, Инди, Another Way, Gamedev, Видео

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

Another Way - Инди Action/RPG год спустя Длиннопост, RPG, Indiedev, Unreal Engine 4, Инди, Another Way, Gamedev, Видео

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

Another Way - Инди Action/RPG год спустя Длиннопост, RPG, Indiedev, Unreal Engine 4, Инди, Another Way, Gamedev, Видео

Мы были весьма рады слышать что конкурс разработчиков на Unreal Engine 4 будет вновь проводиться в этом году. Ведь именно с него началась история Another Way в том виде, в котором мы можем наблюдать этот проект сейчас. В этом году мы решили собрать часть имеющихся механик в одно целое и продемонстрировать все это в виде игрового тизера. А что из этого получилось можно посмотреть ниже

Если проект кажется вам интересным, то будем рады ответить на ваши вопросы, подискутировать над идеями и миром в комментариях. Также всегда рады любым предложениям и помощи. В нашей группе Вконтаке мы постим художественные описания и истории существ, местности, королевств из нашей вселенной. Поэтому для всех кто хочет узнать больше о лоре Another Way, да и в целом узнавать все новости первыми, милости просим в группу Вконтакте
Another Way - Инди Action/RPG год спустя Длиннопост, RPG, Indiedev, Unreal Engine 4, Инди, Another Way, Gamedev, Видео
Показать полностью 3 1
78

Долгий тернистый путь. Разработка Star Souls

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

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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


Возможно, кто-то вынашивал идею годами, а у нас все началось за один вечер. Случилось страшное: муж (это который Dmitriy Leonovich) решил пилить игру.

Мысли на полях: девочки, ваши мужчины должны быть заняты на 110%, иначе рано или поздно они могут начать ПИЛИТЬ ИГРУ. Пусть лучше у них будет любовница, секта, друзья, пусть они ходят в казино, прыгают с парашютом, пьют на гаражах, но делать игры не разрешайте! Подойдет любая активность: можно заставить выбивать ковры, ходить в качалку, в бильярд, заниматься необузданным развратом, чем угодно!!! А если вы не уследили (САМА ВИНОВАТА, ДУРА!), и игра сама собой начала ПИЛИТЬСЯ, то никогда, вы слышите, никогда не позволяйте себя втянуть в разработку! У вас лапки, маникюр, вы тупы, как пробка.

Он накатал несколько листов, гордо назвал это «Умирающий космос» (уже тогда я должна была заподозрить неладное), и потопали мы на конференцию, где ребята показывали презентации с идеей игры, а потом все желающие могли обменяться контактами. К нам подошел наш будущий композитор Антось и программист Кирилл, и заверте…

Сейчас я пыталась допросить Диму: а почему именно такая игра? Тактика с микроменеджментом, да еще и квазирогалик? Ответ исчерпывающий: «А мне нравится». Такой вот и плюс и минус инди разработки: делаешь то, что нравится именно тебе, но мало думаешь о тех, кто это потом купит. В планах было сделать ЗА ГОД (за год, ахахах…) простенькую игру про космические корабли, которые весело перестреливаются под красивую музыку Антося на шикарных Диминых фонах. Меня тоже привлекли писать мини, просто микро текстовые события, вроде «Вы встретили злых инопланетян, что будете делать? Стрелять или бежать?»

Мысли на полях: если вы оцениваете время и деньги, которые потратите на игру, сразу смело умножайте их на 3, а то и на 4. Требующиеся от вас усилия и нервы умножайте на 10. Минусуйте отношения с родными, которых вы будете теперь видеть КРАЙНЕ РЕДКО, досуг (у вас на него теперь не будет ни времени, ни денег), работу, которую вы теперь будете выбирать не по душе, а исходя из текущих потребностей. А теперь думайте: а оно мне надо?

Естественно, за год удалось сделать процентов двадцать? тридцать? Даже сложно оценить. Стало немного тревожно. (Это я сейчас могу так корректно писать, а тогда мы редко засыпали раньше трех ночи от не самых хороших мыслей). Заканчивались деньги на разработку. Нашу недоделанную лялечку стали возить на всякие выставки, толку от которых было даже не ноль, а толк этот выражался в отрицательной величине. Конференции тянули деньги и время, а инвесторы и издатели никак не хотели строиться в очередь, размахивая контрактами о сотрудничестве. И вроде сделали мы все, как в статьях на хабре пишут: маечки и визиточки напечатали, растяжечку сделали, Диме отрезали длинные волосы и напялили на него пиджак. К нам даже люди подходили на работу проситься.

Мысли на полях: на одной из конференций ко мне подошел достаточно возрастной для геймдева дядечка лет сорока с видом безумного отшельника, поймал за пуговицу и начал говорить очень искренне: «Поймите, тут куча людей, но им важны только их собственные игры, а играми других они не интересуются». Сейчас я понимаю, насколько он был прав. Инди сообщество, по крайней мере в СНГ – это что-то вроде инертного газа. Помните, что это такое? Атомы инертного газа как бы сами по себе и не взаимодействуют ни с чем, в том числе сами с собой. Делайте вывод сами)

Довольно удачной, впрочем, оказалась поездка на Digital Dragons. Там нам удалось собрать действительно полезный фидбэк, критика от посетителей была на удивление корректная и конструктивная.

Решили разыграть туз из рукава. Туз назывался модным словом КРАУДФАНДИНГ. Как вспомню, сколько труда было вложено в нашу кампанию на indiegogo.com, хочется одновременно выть, скрипеть зубами и рвать на себе волосы. Но тогда мы были полны сил и надежд, нас вдохновлял относительно легко полученный Гринлайт на Стиме (да, когда мы начинали, он еще был). Но есть большая разница – заставить человека отдать хотя бы несколько баксов и просто нажать на кнопочку. Первое сложнее на порядок. И опять все делали по правилам, но…

Не получилось. Фиаско потерпели мы.

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


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


Квесты были скучные. Написать 200+ квестов типа «Вы на планете-пустыне, вас атакуют, вы в опасносте» было задачей не из легких. Сколько таких обезличенных, рандомных и, главное, интересных ситуаций можно придумать? Сюжета у нас не могло быть, потому что квесты выпадали случайно. Потому что у нас типарогалик.

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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

Я придумала героев. Тогда скандалов с дайверсити еще не было, поэтому нет у нас ярких представителей нац- и сексменьшинств. А еще я не знала, как о них писать, особенно, чтобы никого ненароком не обидеть. С другой стороны, какие тут претензии к маленькой инди игре, правда? Дима нарисовал портреты, по нескольку для каждого героя (злится, улыбается, нейтральный). Я стала что-то писать, потребовались враги, инопланетяне, мирные жители, пилоты, боссы, компьютеры, и даже зверушки… Любовница нашего главного героя любит зверушек. Количество портретов разрослось аж до 62.

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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

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

Герои стали жить своей жизнью, и я им была больше не хозяйка. Исключением стал капитан. Поскольку квесты предполагали вариативность, какой-то цельный характер я не стремилась прописать. Могла только продумать историю: родился и вырос где-то на задворках галактики, невысокого происхождения. По поводу внешности неоднократно упоминается, что у него «странный вид» из-за мутаций, свойственным жителям его родной планеты. Капитан вдовец, не дурак поразвлечься.

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


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


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

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

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


Это один "обычный" квест, ноды...

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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


Взрывы кораблей и астороидов - Pre Alpha:

Взрывы кораблей и астороидов - релиз:

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

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


Как выглядит сетка поля в Unity (желтые клетки это путь летающих астероидов):

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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


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


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


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


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

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

Единственным правильным решением был поиск native speaker’а, что и было сделано, к сожалению, уже после релиза. Думаю, мы могли бы по итогу обойтись и без переводчика, так как перевести текст я могла и сама, пусть и посредственно.


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


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


Потом пришло время самого нудного: тестирования и поиска опечаток.


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


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


3 марта 2020 состоялся релиз игры. В этот же день я впервые взяла на руки своего сына.

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


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


На злобу дня:

Долгий тернистый путь. Разработка Star Souls Indiedev, Roguelike, Компьютерные игры, Starsouls, Разработка, Игры, Gamedev, Видео, Длиннопост

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


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

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


Читайте в следующей части – звук, музыка/озвучка, ролики, темные тайны кода и юридические делишки.

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

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена

Привет, разработчики! Меня вы можете знать(узнать) по серии постов про мою первую игру и первый неуспешный неуспех, вот последний:
"Пикабу-эффект". Слитые 300$ на мотивированные скачивания и App Removed после пары часов в топе.


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

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3d, Инди, Indiedev, Игры на Android, Игры на IOS, Игры, Гифка, Длиннопост

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




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

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3d, Инди, Indiedev, Игры на Android, Игры на IOS, Игры, Гифка, Длиннопост

После небольшого перерыва, взялся кодить дальше. Юнити осваивал по видеоурокам, начал с этого: https://www.youtube.com/watch?v=14g8mA4lVQs. И по кусочкам разбирался с другими темами с разных каналов, покажу, какие нашел.



Англоязычные:

- https://www.youtube.com/user/Brackeys - безусловно Brackeys.

- https://www.youtube.com/channel/UC9Z1XWw1kmnvOOFsj6Bzy2g - оооочень много интересной и полезно инфы и опыта.

- https://www.youtube.com/channel/UCIabPXjvT5BVTxRDPCBBOOQ - развлекательно-информационный канал про геймдев.
https://www.youtube.com/user/SykooTV - еще один.



Из русскоязычных я бы выделил вот эти:

- https://www.youtube.com/user/HuaweiSonicHelp

- https://www.youtube.com/user/4GameFree

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


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

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3d, Инди, Indiedev, Игры на Android, Игры на IOS, Игры, Гифка, Длиннопост

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


Идею игры придумывал еще неделю. В прошлой игре я занял самую слабую по всем показателям нишу викторин, поэтому в этот раз решил взять самый популярный сейчас жанр гиперкэж. Ну и буду честен дальше, пошел на SensonTower и начал искать популярные игры с высоким показателями Revenue, чтобы сделать что-то похожее на них. Нашел, Ball Blast от вуду, и самому понравилось, и топ ревенюе у неё тогда был(90к $ в месяц). Платформу выбрал iOS и android.




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

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3d, Инди, Indiedev, Игры на Android, Игры на IOS, Игры, Гифка, Длиннопост

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


1) Ооооочень с неожиданной стороны подкрался подводный камень. Регистрация аккаунта разработчика в App Store. У Apple с осени 2019 года появилась проблема во внутреннем эквайринге, и оплату за аккаунт просто не снимает с карточки(с любой, совсем с любой). Подробнее можно почитать тут: https://vc.ru/dev/101224-apple-developer-program-problemy-s-.... 
Проблема есть до сих пор, и многие с ней сталкиваются, я тоже столкнулся и застрял на этом этапе на 2 недели(мне еще мало, некоторые по 2-3 месяца мучаются). Решение - писать и общаться с суппортом, проблему действительно решают, но придется поговорить письмами. Советую сразу описывать проблему и просить перевести на Senior Adviser-а. А у него уже просить либо Wire Transfer(банковский перевод) либо чтобы они вручную сняли с вашей карты оплату. Я решил вторым вариантом.
Поэтому, советую начинать регистрировать аккаунт в dev.Apple раньше.




2) Снова Apple, застрял надолго. Если при попытке загрузки билда в App Store вас автоматически реджектит и приходит письмо что вы используете устаревший UIWebView в проекте, а вы его не используете - то просто обновите юнити, и все пройдет)). Это же касается и «очень странных проблем», касающихся не конкретно вашего кода, а поведения JDK, NDK и разных SDK. 




3) Снова Apple, на этот раз попался в самом конце, уже когда игра попала в релиз, встроеные покупки. Внутренняя система в App Store Connect довольно запутанная и необычная, для того, кто имеет с ней дело в первый раз. Да, в интернете есть множество гайдов и туторов, даже официальный неплохой. Но как раз из-за запутанности порядка правильных действий, какой-то можно упустить + некоторые моменты вообще не описаны и неинтуитивно понятны, и ответы приходится искать на stackoverflow и черпать из ответом людей.


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


К слову сказать, при отправке иcправленной версии, я воспользовался функцией ускоренной проверки в App Store, вот ссылка на форму, которую не так просто найти самостоятельно: https://developer.apple.com/contact/app-store/?topic=expedit...


Эта штука работает, и работает отлично, я указал причину critical bug-fix и версию проверили за пол дня, отреджектили, я внёс исправления, снова отправил, и версии получила статус Approved уже через час! То есть баг был исправлен и залит в магазин в течении одного дня, прекрасный результат!


4) Скачайте себе asset в Unity на автосейв. Почему-то сам движок в такое не умеет. Сами понимаете после чего я установил его себе..




5) В юнити есть прекрасный Unity Collaborate, с которым очень просто и удобно(и бесплатно) работать с разных рабочих мест или с кем-то. 




6) Большое количество Rigidbody сильно тормозит сцену, особенно заметно на слабых устройствах. Если вы управляете объектом через Translate, то в Rigidbody ставьте ему body type - kinematic, иначе для них будет продолжать высчитываться физика и грузить процессор. 




7) Отключайте Raycast Target у элементов UI, которые не должны реагировать на нажатия. При каждом нажатии на экран, движок будет пробегаться по всем всем элементам UI которые есть на сцене и у которых включен Raycast. Мне это неплохо помогло.


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




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

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3d, Инди, Indiedev, Игры на Android, Игры на IOS, Игры, Гифка, Длиннопост
LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3d, Инди, Indiedev, Игры на Android, Игры на IOS, Игры, Гифка, Длиннопост
LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3d, Инди, Indiedev, Игры на Android, Игры на IOS, Игры, Гифка, Длиннопост

Еще хотелось бы рассказать небольшую историю про графику в игре. Абсолютно всё графику, пушки, юай и фоны и иконку нарисовала моя 15-летняя сестра в Adobe Illustrator. Она всегда любила рисовать, на бумаге, а я подкинул ей идею изучить адоуб. Сестра попробовала, и у неё все получилось, и очень сильно превзошло мои ожидания. Мы отлично сработалоись, я получил очень простую в организации работу с художником, а Катя получила первый практический опыт в деле, которое ей нравится, который так трудно получить в школах и универах. Получила огромное количества интереса и первые честно заработанные деньги)). Это событие стало очень неожиданным и крайне важным для меня и для неё, укрепило наши немного слабые отношения и многому обоих научило. И я очень счастлив по этому поводу!

Друзья, на этом пока что всё. Задавайте вопросы, буду отвечать.




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




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


ссылка в Google Play: https://play.google.com/store/apps/details?id=com.PsilosoftG...


ссылка в App Store:

https://apps.apple.com/us/app/ball-blast-reborn/id1512992991...


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

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3d, Инди, Indiedev, Игры на Android, Игры на IOS, Игры, Гифка, Длиннопост
Показать полностью 6
46

Модельки

Строитель

Модельки 3D моделирование, Игры, Компьютерные игры, Инди, Инди игра, Gamedev, Indiedev, Картинки, Длиннопост

Харвестер

Модельки 3D моделирование, Игры, Компьютерные игры, Инди, Инди игра, Gamedev, Indiedev, Картинки, Длиннопост

Истребитель

Модельки 3D моделирование, Игры, Компьютерные игры, Инди, Инди игра, Gamedev, Indiedev, Картинки, Длиннопост

Торпедоносец

Модельки 3D моделирование, Игры, Компьютерные игры, Инди, Инди игра, Gamedev, Indiedev, Картинки, Длиннопост

Дрон

Модельки 3D моделирование, Игры, Компьютерные игры, Инди, Инди игра, Gamedev, Indiedev, Картинки, Длиннопост

Фрегат

Модельки 3D моделирование, Игры, Компьютерные игры, Инди, Инди игра, Gamedev, Indiedev, Картинки, Длиннопост

Каракатица

Модельки 3D моделирование, Игры, Компьютерные игры, Инди, Инди игра, Gamedev, Indiedev, Картинки, Длиннопост

Ссылка на сообщество:
https://vk.com/dangerous_depth

(Информацию по кораблям можно узнать по ссылке в сообществе)

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

Свежие скриншоты SpellMaster: The Saga - отечественной RPG от фанатов Gothic 2: Ночь Ворона

Привет любителям классических ролевых игр!

Мы обновили SpellMaster, теперь она и выглядит, и играется ещё лучше!
Будем рады узнать, что вы думаете о приложенных ниже свежайших скриншотах игры - что нравится, что не нравится :)

Также было бы интересно услышать, в какие игры фанаты Готики играют в ожидании ремейка Gothic и какие 3-person action RPG вам в целом больше всего нравятся, особенно в плане управления.

P.S. если кому-то хочется лично опробовать игру прямо сейчас, не дожидаясь выхода в ранний доступ, то теперь это могут сделать те, кто предзаказал игру у нас на сайте. Либо можно добавить её в свой вишлист туть: https://store.steampowered.com/app/1247100/SpellMaster_The_S...

Свежие скриншоты SpellMaster: The Saga - отечественной RPG от фанатов Gothic 2: Ночь Ворона RPG, Компьютерные игры, Ролевые игры, Gothic, Indiedev, Gamedev, Разработка, Открытый мир, Длиннопост
Свежие скриншоты SpellMaster: The Saga - отечественной RPG от фанатов Gothic 2: Ночь Ворона RPG, Компьютерные игры, Ролевые игры, Gothic, Indiedev, Gamedev, Разработка, Открытый мир, Длиннопост
Свежие скриншоты SpellMaster: The Saga - отечественной RPG от фанатов Gothic 2: Ночь Ворона RPG, Компьютерные игры, Ролевые игры, Gothic, Indiedev, Gamedev, Разработка, Открытый мир, Длиннопост
Свежие скриншоты SpellMaster: The Saga - отечественной RPG от фанатов Gothic 2: Ночь Ворона RPG, Компьютерные игры, Ролевые игры, Gothic, Indiedev, Gamedev, Разработка, Открытый мир, Длиннопост
Показать полностью 2
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: