55

Panzer Conflict. Дневник разработки 0

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

Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост

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

Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост

В качестве движка был Blender Game Engine, ни а каком Unity тогда еще никто не знал. Ух были времена... Как видите я был сильно вдохновлен Red Alert.

Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост

Даже в Winampe играет музыка из C&C

В общем это был далекий 2009 год, понятное дело дальше первого кривого уровня дело не пошло. Что было дальше? Я вернулся к разработке спустя 4 года.

Я давно обещал вернуться к разработке проекта про танчики, когда у меня будет новый комп и вот оно у меня новый комп, и я вернулся. Я не стал продолжать делать те танчики, а начал разработку с нуля, теперь танки более брутальные и реалистичные. Следующие ключевые особенности будут включенны в игру:
1) Реализм, т.е. баллистика и реальные характеристики танков.
2) Скажи "нет" тормозам и скажи "да" хорошой графике
3) Огромная карта 400 квадратных километров
Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост

Что же послужило такому резкому смене основ игры? Во-первых, Battlefield 3)) Во-вторых, в тот момент как раз брат отслужил в танковых войсках, и я вдохновляясь его рассказами решил сделать такой поворот. Но тут я сделал одну очень грубую ошибку, из-за которой поплатился - я все также пилил игру на Blender Game Engine. Я не хочу сказать что он настолько плох, он был хорош и интересен для своего времени, но к сожалению это время прошло.

Было это как-то так(На моем ютуб канале все еще сохранились видосы с этой версии):

Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост
Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост
Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост
Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост

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

Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост
Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост
Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост
Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост
Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост

2016 год, в игре есть полноценный мультиплеер, игра гоняет по выставкам, появляется все больше и больше техники, фишек. Звучит круто, не так ли? Но что же пошло не так? Много чего. Во-первых, отсутствие опыта, просто прыгнули делать крупный проект без какого-то понимания как делаются проекты таких масштабов; Во-вторых, отсутствие какой-либо архитектуры проекта, что следует из первого. Так как игра разрабатывалась с первых часов после запуска Unity, то я думаю не надо говорить о том, что творилось под капотом у игры; В-третьих, выход Unity 5. Игра делалась на 4 версии, перенос на 5 не был возможен, что конечно сильно отбросило нас назад; В-четвертых, огромное количество украденного контента из других игр, модели, текстуры, звуки и т.д. Понятное дело ни о каком релизе или продаже в таком случае думать нельзя. И пятое, последнее. На вершине успеха игры, мы показали нашу игру шишкам рынка, те в свою очередь поделились своим мнением и аналитикой. Думаю вы и так понимаете что они сказали... Ничего хорошего они не сказали и пророчили игре крах.

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

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

Фухх... Теперь перейдем к тому, о чем вообще проект. Panzer Conflict - наследник идеи игры Panzer Front. В игре будут присутствовать элементы реализма, такие как: прицелы, характеристики, параметры снарядов и частично физика. Игра не собирается конкурировать не с World Of Tanks, не с War Thunder, но занять свою нишу среди игроков. В игре планируется много техники, при чем не только танки, но и БМП, БТР, колесная техника и артиллерия. Игра не будет сильно отличаться от своего прошлого варианта на Unity, но будет лучше, красивее и оптимизированнее.

Panzer Conflict. Дневник разработки 0 Unity, Gamedev, Indie, Танки, Инди, Видео, Длиннопост

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

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

+4

Armored Warfare: Проект Армата от маилцев на движе unreal, уже как бы так неплохо раскручен, и БМП, и БТРы там в достатке.

раскрыть ветку 4
+1
AW неплох, хотя мне и не понравился. По сути ВоТ в современности, с точно такими же унылыми(это мое мнение, оно может не совпадать с вашим) механиками, например засветы, когда танк противника просто исчезает из твоего прицела и снаряд проходит сквозь него.
раскрыть ветку 3
+1

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

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

Пикабу ругался на ссылки на форум по старым версиям игры, поэтому кину сюда(точки только надо поставить).
Первая версия - http://blender3d org ua/forum/game/42.html

Вторая - http://blender3d org ua/forum/game/407.html

Всем салют с того сайта!

0

Киров на первом фото узнается с первого взгляда.

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

Учитывая, что "тема" была упомянута в посте и то, что я забыл о  чем там было первое фото, я пролистал вверх в поисках

Иллюстрация к комментарию
0
Ну я просто пазик искал) По мне обычный фон Российских городов. Сам я с Ижевска
0

Доброго дня! Офигенно получается. Есть парочка вопросов, можем пообщаться в вк?

0

Что-то в этих танках есть, вот бы динамику от wot, а урон и пробитие, повреждения от тундры, было бы круто)

0
Как так вышло, что с 4 на 5 переход невозможен?
раскрыть ветку 1
0
Много причин. 1) Новое освещение, у нас были свои шейдеры, которые "имитировали" пбр, и они совсем не работали с пбр в 5 юнити, тем более модели не поддерживали пбр, пришлось бы делать ретекстур. 2) Только не пинайте, некоторые скрипты были на С#, а другие на JS. Не спрашивайте почему) Это было самым глупым решением в моей жизни. 3) У нас была своя система со звуком, а в 5 появился аудио миксер, из-за чего пришлось бы опять много переделывать. 4) Физика, там обновили PhysX и старые настройки WheelCollider абсолютно не работали. В общем, много чего пришлось бы переделать и тогда мы решили что проще будет на базе старых делать новые на 5 юньке и мы даже начали, но потом дядьки сказали что мы дураки и ничего не понимаем, проект гавно и т.д., что покасило и так нашу пошатанную веру в проект и мы сдались.
Похожие посты
45

Как я сделал систему обработки столкновений в игре на Unity - Тьма поглотила вас

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


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

1.Персонаж может стоять на земле

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

3.Персонаж может находиться в воздухе после падения

4.Персонаж может толкать ящик

5.Персонаж может стоять на ящике как на обычной земле.

Как я сделал систему обработки столкновений в игре на Unity - Тьма поглотила вас Gamedev, Разработка, Инди, Игры, Unity, Видеоигра, Платформер, Видео, Длиннопост

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

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

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

Как я сделал систему обработки столкновений в игре на Unity - Тьма поглотила вас Gamedev, Разработка, Инди, Игры, Unity, Видеоигра, Платформер, Видео, Длиннопост

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

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

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

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

Как я сделал систему обработки столкновений в игре на Unity - Тьма поглотила вас Gamedev, Разработка, Инди, Игры, Unity, Видеоигра, Платформер, Видео, Длиннопост

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

Как я сделал систему обработки столкновений в игре на Unity - Тьма поглотила вас Gamedev, Разработка, Инди, Игры, Unity, Видеоигра, Платформер, Видео, Длиннопост

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

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

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

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

Вступление

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


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

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

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

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

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


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


Концепт

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

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

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

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

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

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

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

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

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

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


Геймплей

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

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


Механики

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


Что я усвоил

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

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

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

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

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

фигню.

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

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

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


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

Конец

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

Как я решил делать рогалик на 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
43

Романтика разработки RTS Часть 2 (Новая графика)

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


Все про игру есть в ВК - https://vk.com/abksgn
Ссылка на GooglePlay - SiegeUp!

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

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

Почему же я решил менять графику? Причин несколько:

1. Игра выглядела блекло и не выделялась, выглядела второсортно

2. Графика далека от трендов мобильного рынка

3. Трудно найти ассеты, попадающие в стиль


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


В конце 2018 года мы с женой переехали в Минск, для работы. Я устроился в Wargaming программистом движка WoT Blitz. И на какое-то время забросил свою игру, погрузившись с головой в новую работу.


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

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

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

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

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

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

Тут у нас используется Standard PBR шейдер и стандартный террайн, до релиза еще 1 год и 3 месяца. Оптимизации нет, на телефоне около. 20 FPS вообще без юнитов на сцене.


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


Важным прорывом был переход от enum к использованию guid префабов для сохранения и загрузки юнитов. Этот же механизм позволил привязывать иконки к любым префабам игровых объектов и автоматически рендерить иконки.

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

К лету 2019 ситуация следующая:

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

2. Все иконки юнитов и домов генерируются автоматически

3. Я не смог найти надежной информации, но на сколько я помню, туториал тоже появился где-то весной 2019 года


Этот скриншот долго украшал группу ВК, так как выглядел наиболее прилично

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

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

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

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

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

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

На тот момент удалось добиться стабильного FPS при ~300 юнитах на телефоне. После дальнейших оптимизаций, сейчас лимит около 600 юнитов. Однако, я не собираюсь останавливаться на достигнутом, миллионы юнитов на экране в Казаках и толпы мобов в Diplomacy is Not An Option не оставляют меня в покое ... Я планирую завезти Animation Instancing и Brust со временем, использовать Jobs для поиска столкновений.


Я продолжил заниматься графикой.

Эффектов в игре не много:
1. Мультяшные тени

2. Пенка у воды

3. Облака


На облака меня вдохновили две игры, Civilization V и Egypt: Old Kingdom. У меня облака это просто Шум Перлина с небольшим скроллингом, ничего особого.

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

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

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

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

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

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


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

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

Примерно с ноября 2019 года я начал делать первые 5 демонстрационных уровней. Эти уровни должны были отобразить прогресс игрока с самого начала до самого конца. Т.е. последний уровень - был последним в игре. Сейчас в игре 20 уровней. Всего планируется 25.

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

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

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

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

Романтика разработки RTS Часть 2 (Новая графика) Android, Unity, Unity3d, RTS, Gamedev, Game Art, Видео, Длиннопост, Компьютерные игры

Игра появилась в GooglePlay 31 мая 2020 года. Однако, на релизе работа не закончилась, я продолжаю делать обновления каждые пару недель и исправлять ошибки. Когда все миссии будут готовы, планирую релиз на iOS. Надеюсь, там игроки тоже оценят игру.


Я собираюсь сделать еще одну часть, про фичи, которые были добавлены с релиза. Когда ее ждать даже сам не знаю. Может скоро, может нет. :)


Буду рад критике и фидбеку! Спасибо! :)

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

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

Разработчики находятся в достаточно трудной ситуации. С одной стороны начальство требует дойную корову, которая стабильно работает как автомат калащникова и приносит денежку. 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
114

Моя первая игра

Всем привет!

Сегодня я хотел бы поделиться с вами своей первой законченной игрой, своим первым проектом, сделанным на Unity - "In the deep, deep Cave".

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

В этом посте я хотел бы рассказать, как она создавалась.

Мне хотелось сделать игру, в которую я стал бы играть сам. Было решено сделать платформер с графикой 8-bit.


https://www.youtube.com/watch?v=DEZmFDVxvlk&t=2s


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


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

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

И я задался целью сделать качественную игру за максимально короткий срок.

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

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

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

Так же неожиданная неприятность пришла оттуда, откуда не ждали...

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

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

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

В общем и целом разработка игры заняла у меня месяц. Выпуск игры в Google Play занял 2 недели.

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

P.S. Засиживаться на месте не хочется, но для следующего проекта я бы хотел найти 2D художника. Если у кого-нибудь возникнет желание сделать со мной следующий проект, пишите в Telegram: @gfxcvgds

Показать полностью
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
567

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
855

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
71

Как я сделал свою первую игру

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


Вступление.

Полтора года назад я понял, что просто играть в видеоигры для меня недостаточно, что мне нужно самому их делать. В свободное от работы время, я начал изучать основы программирования на C# и Unity 3D. В первую очередь за знаниями я полез в You Tube, через пару недель понял, что это полный шлак, за тридцатиминутный ролик пишешь три строчки кода, а заэкранный гуру толком объяснить не может, что только что написал. Потом были уроки в docs.microsoft.com и еще что-то подобное, здесь уже получше, но для новичка сложновато. Лучшее что я нашел для человека без опыта программирования, при этом применительно к Unity, была книга Джереми Гибсона Бонда “Unity и C Шарп. Геймдев от идеи до реализации”. Товарищ Бонд на пальцах объясняет, что такое C#, что такое Unity, как писать код, что писать, все это с примерами и пояснениями, полно практических заданий, в том числе создание прототипов игр, так же много написано об игровой индустрии и геймдеве. Сразу скажу, даже с такой разжёванной информацией, за месяц, два, три, возможно полгода, программистом вы не станете. Более того, я стал понимать, что там вообще в этом коде написано, только через год (возможно, если бы я уделял учебе больше времени, и не делал длительные перерывы, это случилось бы быстрее). За этот год я дважды прочитал эту книгу, дважды выполнил большую часть заданий оттуда, прочитал и выполнил задания еще из одной книги.

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


О разработке игры.

Так как опыта у меня, по сути, было ноль, я решил сделать максимально простую игру для смартфонов. Задачи, которые я поставил перед собой: игра не должна быть похожа на какую-либо уже существующую и известную мне игру, то есть нужно было самому придумать геймплейные механики; геймплей должен быть простой, чтобы я сам мог полностью написать код; так как мне больше интересен дизайн, а не программирование, сделать упор на визуальную составляющую; и самое главное, сделать нормальную игру, не халтуру, и тем более не откровенное д****о, а просто нормальную, казуальную игру. Кое-какие наработки тогда у меня уже были, я выбрал игру, которая как раз была мне по силам. Суть игры: в игре есть пять лунок, напротив каждой пролетает шарик, нужно вовремя нажимать на экран, когда шарик пролетает мимо лунки. Быстренько придумал пять режимов движения шаров, для каждого режима задумал отдельное визуальное оформление, и приступил к рисованию спрайтов. Вообще, изначально я задумывал игру с минималистичной графикой (минимализм нынче в почете...), но поэкспериментировав с цветами, градиентами и тенями, подумал: “тварь ли я дрожащая или рисовальщик”. В общем, было решено рисовать в более реалистичном стиле, это решение продлило разработку месяца на полтора, потому как я рисовал и одновременно учился рисовать. В итоге получилось слишком реалистично. Сейчас могу сказать, что реалистичный стиль для таких игр не очень удачное решение, лучше использовать более привычную для мобильных игр графику, например как в Angry Birds, хотя то, что нарисовал я, на мой скромный взгляд выглядит симпатично. Еще я понял, насколько важны концепт-арты. Раньше я садился рисовать примерно представляя, что мне нужно, но рисовал уже как окончательный вариант, в плане качества, в какой-то момент понимал, что это не то, стирал все, или перерисовывал какие-то части. Все это занимало уйму времени, лучше изначально нарисовать хоть какой-нибудь рукож**ый концепт-арт, главное, чтобы была видна общая картина происходящего в игре, и как элементы сочетаются друг с другом. Потом сел писать код, тут ничего интересного сказать не могу. Попутно с написанием кода собирал саму игру. Выделил пять глав. Проходишь все уровни в главе, открывается следующая глава, а также бесконечный уровень для пройденной главы, каждая глава отличается визуально и схемой движения шаров. Еще есть шестая глава, в ней пять бесконечных уровней, каждый уровень посвящен одной из пройденных глав, то есть вы можете выбрать визуальное оформление, какое вам больше по вкусу, но геймплей в них одинаковый, сочетает схемы движения шаров всех пяти глав, то как будет двигаться шар определяется рандомно. Если честно, в шестую главу мне больше всего нравилось играть. Звуки для игры использовал из бесплатных ассетов, с музыкой у меня вообще не очень. Собрал игру, воткнул в нее Unity ADS, придумал название “HitEra”, игра готова, пора и в мир отправлять. На все про все ушло около 4 месяцев, очень много страдал фигней, и мало времени уделял разработке, плюс недостаток опыта сыграл свою роль, в следующий раз надеюсь пошустрее справлюсь.


Как я сделал свою первую игру Android, Игры, Unity, Google Play, Gamedev, Я сделяль, Гифка, Видео, Длиннопост

На гифке шестая глава, на сколько я знаю, до нее так никто и не добрался.

Как я сделал свою первую игру Android, Игры, Unity, Google Play, Gamedev, Я сделяль, Гифка, Видео, Длиннопост

Релиз.

С самого начала разработки я не рассчитывал заработать на своей игре, делал ее скорее для того, чтобы поверить в свои силы, что я могу в принципе что-то сделать, ну и для портфолио. По этой причине на раскрутку и рекламу было потрачено 0 рублей. Но и совсем на халяву делать не очень хотелось, поэтому реклама в игре присутствует. Итак, отправляю заявки на регистрацию в качестве разработчика в Google Play, Samsung Galaxy Store и Huawei App Galary, в гугл, естественно, с денюшкой. В гугле и самсунге все окей, загрузил игру, в Galaxy Store ее выложили через день, в Google Play через неделю. Первые десять скачиваний от друзей, отзывы тоже. Хоть мне казалось, что рекламы не много, друзья все же жаловались на ее большое количество. Пришлось убрать всю пропускаемую рекламу, оставил только один показ после прохождения главы, его пропустить нельзя, но за просмотр вам дадут дополнительные звезды, они нужны, чтобы открывать новые главы, если вы плохо играете. В течение двух недель, ежедневно выкладываю посты на форумах и в соцсетях. Все это время от Huawei ни слуху ни духу. Решил написать в тех поддержу, мол, подтвердите регистрацию. Через несколько дней ответили, что я там что-то неправильно заполнил, окей, исправил, отправил. В этот раз две недели я не ждал, через два дня написал в тех поддержку. Еще через пару дней все подтвердили. Сразу залил игру, и через пару часов она в App Galary, хоть что-то они сделали быстро. Итак, время идет, игра висит на сторах, загрузок очень мало (на момент написания 88, на три маркета), и как бы я на это морально не настраивался, как бы к этому не готовился, все равно, факт отсутствия интереса к игре меня очень сильно печалил. Немного поднял мое настроение сервис предоставления взаимных отзывов appenhancer. Он, конечно, не помог игре продвинуться, зато я увидел, что делают другие начинающие разработчики. И это вернуло мою самооценку на прежнее место, потому что такого лютого д***ма я давно не видел. Я вот вообще не понимаю, как такое можно в принципе кому-нибудь показывать, а уж тем более выкладывать в Google Play. Конечно, там были и не такие уж плохие игры, пару раз попадались прям нормальные, но в памяти отложились только те, от которых у меня горело одно место. Сейчас я периодически выкладываю посты об игре, люди потихоньку скачивают, но не очень активно.


Итог. Что дальше?

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

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


Надеюсь, вы зацените мою игру.

HitEra


Google Play:

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


Samsung Galaxy Store

https://galaxystore.samsung.com/detail/com.Sn50Games.HitErat...


Huawei App Galary

https://appgallery8.huawei.com/#/app/C102660381

Советы от новичка, новичку:

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


Учебники, которые мне попались:

Unity и C Шарп. Геймдев от идеи до реализации. Джереми Гибсон Бонд (прям вообще для новичков).

Unity для разработчика. Мобильные мультиплатформенные игры. Джон Мэннинг, Пэрис Батфилд-Эддисон (тут уже нужны кое-какие знания).

Unity в действии. Мультиплатформенная разработка на C Шарп. Джозеф Хокинг (до этой книги не добрался, может кто-нибудь читал, поделитесь мнением)


Реально оценивайте свои силы. Я бы тоже хотел сделать игру уровня GTA V или RDR 2, а не мобильный кликер, но всему свое время.


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


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


P.S. Не хотел растягивать пост на 10 страниц, поэтому многие моменты опустил, если кому-то что-то интересно отвечу в комментариях.

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

Релиз после 2х лет хобби-разработки своей 3D игры в стиле старой школы

Релиз  после 2х лет хобби-разработки своей 3D игры в стиле старой школы Игроделы, Игры на Android, Инди, Gamedev, Unity, IT, Стратегия, Моя игра, Видео, Длиннопост

Здравствуйте, мне 31 год и я "анонимный" инди-разработчик игр, хочет мне сказать. 2 года вечерами после работы и по выходным я пилил свою Dark Fantasy 3D пошаговую стратегию Воины средневековых стен (Warriors of medieval walls). И вот настало время релиза.

Ссылка на игру в Google Play https://play.google.com/store/apps/details?id=com.lightGamed...


Если вам интересна предыстория создания проекта от идеи до реализации 2 года хобби-разработки. Dark Fantasy пошаговая стратегия в стиле старой школы. Воины средневековых стен. Warriors of medieval walls


Трейлер игры

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

Релиз  после 2х лет хобби-разработки своей 3D игры в стиле старой школы Игроделы, Игры на Android, Инди, Gamedev, Unity, IT, Стратегия, Моя игра, Видео, Длиннопост

Планы на будущее:

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


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

Релиз  после 2х лет хобби-разработки своей 3D игры в стиле старой школы Игроделы, Игры на Android, Инди, Gamedev, Unity, IT, Стратегия, Моя игра, Видео, Длиннопост
Релиз  после 2х лет хобби-разработки своей 3D игры в стиле старой школы Игроделы, Игры на Android, Инди, Gamedev, Unity, IT, Стратегия, Моя игра, Видео, Длиннопост

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


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


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


Играйте в удовольствие. Рекламы и покупок в игре пока нет (заложил в настройках Google Play возможность их добавить). Ввод монетизации пока продумывается и обсуждается.


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


Блог разработки VK: https://vk.com/warriorsofmedievalwalls

Релиз  после 2х лет хобби-разработки своей 3D игры в стиле старой школы Игроделы, Игры на Android, Инди, Gamedev, Unity, IT, Стратегия, Моя игра, Видео, Длиннопост
Показать полностью 4
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
81

Как стать разработчиком игр в домашних условиях? Моя небольшая игра за месяц для Steam

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

КРАТКО ОБО МНЕ:
Скажу свое мнение - делать игры это действительно интересно. Я начинал делать игры не думая о прибыли, мной двигало лишь вдохновение создать что-то свое. В дальнейшем я делал небольшие заказы, обучал разных людей разработке игр по skype и teamviewer, даже делал для кого то дипломную работу на Unity, а так же выпустил несколько игр в Google Play, AppStore, Steam. Но все это началось 6 лет назад, когда мне было 25 лет. Раньше я и понятия не имел что простолюдин с образованиям ПТУ сможет делать какие либо игры.(многие из вас наверняка видят уровень моей грамотности в орфографии, хоть я и тщательно её проверяю программой для проверки орфографии). Ведь в школьные годы, как и большинство подростков я и не задумывался о том, кем я буду в будущем. Просто ходил по компьютерным клубам, гулял с девочками, получал двойки за четверти по математики и русскому и школу закончил с весьма печальным аттестатом. Я не совру если скажу, что реально бывали такие времена, что я неделями, вплоть до месяца прогуливал школу. А потом дома подрезал провода домашнего телефона, что бы класуха не могла дозвониться. Подделывал записки от родителей, за год терял не один дневник, который был и так тонкий от постоянно вырванных листов с замечаниями или просьбой прийти родителей в школу. Даже один раз заполучив классный журнал мы с одноклассником наставили себе весьма неплохих оценок. Вообще по учебе, ученик я был еще тот.
К чему я это пишу?
А пишу я это к тому, что практически каждый человек, если захочет, сможет научиться всему. Все зависит именно от вас, только ваше стремление и желание в данный момент имеет значения. То, кем вы были раньше и насколько вы образованный человек, играет не большую роль в сравнении с вашим духом и целеустремленностью постичь что-то новое!!! Из университетов выходит много бездарей которые пошли туда учиться только потому что нужно было, приходят работать по профессии и знают меньше своих подчиненных которые окончили ПТУ. Ведь как говорил Рубакин - Всякое настоящее образование добывается только путем самообразования.

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

КАК Я ПРИШЕЛ НА ПУТЬ РАЗРАБОТЧИКА:
Мне действительно становилось страшно от мысли что до конца своих дней я буду работать заправщикам на АЗС, ходить в робе пахнущей бензином, разгружать цемент и товары на заправке, бояться отказать начальству выйти в свой выходной, что бы потом не попасть в немилость, а то мало ли контракт не продлят. Что же я потом буду делать? Вот что происходило у меня в голове. Я смотрел на своих напарников, некоторым из них было уже за 40-50 лет и меня всегда пугала то, что человек проживает свою жизнь, которая дается один раз, не осознает, что для него пределам мечтаний является небольшая премия ко дню нефтяника. Мне становилось страшно когда я смотрел на Петровича, ведь в Петровиче я видел будущего себя. А я не хотел для себя такого будущего.
Сначала у меня появлялись мысли о том что бы отложить денег и организовать какой-то бизнес, например, что-то перепродавать, перекупать. Я долго изучал разные товары, смотрел что выгодно купить, что выгодно продать, пока не понял, что мне попросту это все не интересно. У меня был знакомый который, делал сайты и говорил что неплохо зарабатывает. Я подумал, вот оно!!! Начал учиться делать сайты, проковырялся около месяца и понял что это очень скучно и нудно, не мое. А вот с играми совсем другая история. Я всегда любил играть в игры. Мое знакомство с ними началось еще в далеком детстве 90х с приставки денди, которую купил мой старший брат, заработав деньги поездками из Беларуси в Россию, помогая двоюродной сестре возить товар. Потом началось все как у большинства, клубы с приставками сега и сони, далее компьютерные клубы в начале 2000х. Потом, когда я уже начал работать, то смог приобрести свой собственный ПК(далее было много чего: psp, xbox360, ps2, nintendo DS и 3DS, сейчас PS4)
Именно поэтому я вдруг задался вопросом, как научится делать игры и полез в великий Google для поиска ответов. Ответы нашлись весьма быстро и я узнал что существую движки, языки программирования, программы для создания 3D моделей, а так же программы для рисования 2D игр. Я понял, что есть много информации по обучению и много разных уроков, что бы освоить любой движок. Я проштудировал много статей и выбор мой пал на движок Unity.

Как стать разработчиком игр в домашних условиях? Моя небольшая игра за месяц для Steam Steam, Длиннопост, Unity, Gamedev, Видео, Инди, Обучение

ПОЧЕМУ Я ВЫБРАЛ UNITY:
Это постоянно развивающийся кроссплатформенный движок. Документация в большей части переведена на русский язык на официальном сайте. Есть куча видео уроков на YouTube, а так же множество уроков на официальном сайте на английском языке. Большое комьюнити, много групп и форумов. Большой магазин Asset Store где можно купить графику на любой вкус и много готовых решений, что упрощает разработку игры с нуля. Unity поддерживает язык программирования C#. На этом движке вы сможете сделать игру как для мобильных платформ, так же и для PC и игровых консолей. По графике, можно сделать игру на Unity, которая будет выглядеть не хуже чем на UE. Все зависит от ваших рук, опыта, вкуса. Многие комментаторы которые даже не работали с данным движком любят написать, мол школьники делают на Unity и тому подобное(мое самое любимое — это очередной высер на Unity) на самом деле я считаю, что это люди весьма недалекие, когда оценивают игру только по движку. На любом движке можно сделать как говно, так и шедевр. Очень многие игры сделаны на Unity, в том числе и от ведущих компаний. Это все можно погуглить и ознакомится с тем, на что способен этот движок.
Подводя итог вышесказанному хочу заметить, что дело не в движке, дело в человеке и его стремлении сделать что-то годное. А графика зависит от вкуса и опыта, умения использовать свет и эффекты на камере, строить красивые атмосферные сцены.(не беру в учет текстуры и модели)

КАК Я НАЧАЛ ИЗУЧАТЬ ДВИЖОК:
Когда я определился с движком, то вообще не умел программировать. Купив пару книг я думал, что если  настроюсь, то смогу сам разобраться и вникнуть. И начал очень медленно вникать в программирования на C#, ведь так приятно, когда ты пишешь какие-нибудь команды, а программы выполняет все это подчиняясь тебе. На самом деле начать всегда тяжело, когда ты начинаешь изучать то, о чем не имел никакого представления и у тебя куча вопросов которые не кому задать, это очень угнетает и хочется все бросить. Я же настроенный на успех в обучении решил поступить иначе. Я нашел человека по интернету с которым договорился о 10 уроках по Skype и выполнении каких нибудь несложных заданий, дабы закрепить материал. На это все я потратил 150$ мы договорились 1 занятие 15$. Я внимательно слушал все что он мне говорил, задавал много вопросов, которые меня интересовали. Я заранее подготавливал вопросы, которые возникали у меня по мере работы на движке и при написании кода. Этих 10 уроков хватило что бы понять базу и уже самостоятельно делать какие-то не большие сцены. Я уже мог разбираться в документации и искать нужную мне информацию в интернете. Все уже было не так страшно как раньше. Далее я продолжил обучаться самостоятельно, делая свою самую первую игру для googole play.

DITGO RUNNER - МОЯ ПЕРВАЯ ИГРА:
Diego Runner - моя самая первая настоящая игра, выпущенная мной в Google Play.
Суть игры была в том, что бы по мере движения персонажа, подбирать правильные платформы, нажимая на нужную кнопку. Если ошибся, то проиграл. Отверстия в платформах генерировались всегда рандомно.
Планы на игру были большие, я хотел сделать много разнообразных уровней, много фигур, которые будут открываться по мере прохождения игры. Но всем этим планам не суждено было сбыться, так как я не учел один немаловажный фактор. Денег, что бы покупать графику у меня не было, мой друг рисовал все на энтузиазме, а энтузиазма хватило только на один не большой уровень. И в итоге из моей большой многоуровневой идеи, игра превратилась в игру с одним бесконечным уровням и нудной целью, набить как можно больше очков.
Игру после выхода никак не рекламировал в отсутствии денег на пиар компании, просто выложил и забил. Главное было набраться опыта и доводить начатые проекты до конца.
Игру скачали пару тысяч раз и принесла она на рекламе 30$. Через какое то время, игра была удалена Google Play, потому что требовалось вносить изменения в рекламу. Я не вникал и не корректировал, просто удалил игру.

Как стать разработчиком игр в домашних условиях? Моя небольшая игра за месяц для Steam Steam, Длиннопост, Unity, Gamedev, Видео, Инди, Обучение

Скриншот из игры Diego Runner выпущенной в Google Play

RUNPUZZLE - ИГРА ЗА МЕСЯЦ, СТАРАЯ ИДЕЯ ЗАИГРАЛА ПО-НОВОМУ:
После Diego Runner я делал много разных проектов на заказ, от маленьких до средних игр или писал кому-нибудь кусок кода за деньги. Выпустил несколько игры на разных площадках. Сейчас вместе с другом ведем работу над новым большим проектом, который планируем выпустить в конце 2020 в ранний доступ в Steam и потом доделать за 5-6 месяцев до релиза.(скрины я выкладывал в предыдущих постах).Так вот, параллельно с этим я в свободное время решил оживить свой старый незаконченный проект, не ради заработка, просто это проект с которого все началось и я решил сделать его таким каким видел его 5 лет назад. На этот раз некоторую графику я купил на asset store и что-то сделал сам, что бы все было в одном стиле. Переписал весь старый код. На это у меня ушло пару дней. Дизайн сцен я делал около месяца в свободное от основного проекта и время.
В игре есть 3 режима:
-Прохождение 25 уровней
-Игра на двоих, друг против друга на одном ПК, кто дольше продержится.
-Режим рекорды, бесконечный уровень который сохраняет ваш рекорд.
Вот такая весела игрушка у меня получилась — Страница в Steam.

СОВЕТЫ ДЛЯ ТЕХ КТО ХОЧЕТ НАЧАТЬ УЧИТЬСЯ:
Если вы полны желания научиться создавать игры, то я могу дать вам несколько советов как лучше начать это делать. Это советы основаны на моем личном опыте и это мое личное мнение, а далее решать вам, стоит ли следовать этим советам или искать свой собственный путь.
Если вы свободно располагайте деньгами, то я бы рекомендовал вам найти репетитора хотя бы по C# что бы освоить базу, для этого не понадобиться много времени и много денег, как правило базу можно освоить за 7-10 индивидуальных уроков, если усердно выполнять задания и стараться разобраться. Когда вам объясняют и вы можете задавать вопросы, это экономит кучу времени в начале пути.

1)Если же у вас нет такой возможности, то лично мне понравился цикл из 185 уроков C#

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

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

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

Как стать разработчиком игр в домашних условиях? Моя небольшая игра за месяц для Steam Steam, Длиннопост, Unity, Gamedev, Видео, Инди, Обучение

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

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

7)Если вам кажется, что у вас нечего не получается и все слишком сложно, то нужно немного отдохнуть и продолжать дальше. За 6 лет изучения и разработок мне так казалось минимум 100 раз, а может и больше. Со временем все будет гораздо легче, просто знай это и борись с собой. Вскоре вы научаетесь правильно искать нужную информацию, ваш код будет с каждым разам все лучше и лучше.

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

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

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

Я не Ло_Ох! (для тех, кто еще и в танке)

Друзья, всем мои поклоны!


Сегодня будет настоящий первоапрельский пост без корон и вирусов :-)


Прошло аж 4 месяца с момента, когда мы RIP танчики

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

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

Я не Ло_Ох! (для тех, кто еще и в танке) Танки, Unity, Aso, Продвижение, 1 апреля, Маркетинг, Разработка, Длиннопост

Как всегда игра будет бесплатная и без рекламы. Вечная ссылка на нее: https://battlecityonline.com/

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


Еще отдельно по веб-версии: Бог даст мы выделим время, чтобы "допилить" возможность играть вдвоём. Работаем. Будем очень постараться.


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

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

Выглядело это так:

Я не Ло_Ох! (для тех, кто еще и в танке) Танки, Unity, Aso, Продвижение, 1 апреля, Маркетинг, Разработка, Длиннопост

Клёво, чо.

Я не Ло_Ох! (для тех, кто еще и в танке) Танки, Unity, Aso, Продвижение, 1 апреля, Маркетинг, Разработка, Длиннопост

Решили всё-таки вложить души и труда в это дело. Скрины пришлось вытаскивать из переписок, потому некоторые картинки будут не в самом лучшем качестве:

Я не Ло_Ох! (для тех, кто еще и в танке) Танки, Unity, Aso, Продвижение, 1 апреля, Маркетинг, Разработка, Длиннопост

Добавили живое звёздное небо, стерео звуки (которые записывали с микрофона прямо под игру), мотивашки, пасхалки, НЛП-шки, квесты, рейтинги, таблицы, отчеты, казначейные и т.п. Короче 4 месяца мы упарывались в то, чтобы никто не:

Я не Ло_Ох! (для тех, кто еще и в танке) Танки, Unity, Aso, Продвижение, 1 апреля, Маркетинг, Разработка, Длиннопост

Добро пожаловать в империю НЕ Лохов: https://play.google.com/store/apps/details?id=com.AAGaming.I...


Цель - стать главным не лохом планеты!


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

* Люди могут получать 1 ЯНЛ каждый час просто так;

* Игроки могут получать ЯНЛ с вероятностью 100% (-10% каждый раз после получения);

* Люди могут, вкладывая свой труд, поднимать вероятность получения ЯНЛ

* Люди могут стать учеником какого-то опытного ментора и получить за это огромную плюху;

* Люди могут стать менторами и получать за это не менее огромную плюху в виде пачки ЯНЛ;

* Люди могут вложиться в обучение своих учеников и получать "десятину" с них, пополняя свои карманы

* Люди могут выпонять квесты и становиться все большими не лохами!

==

Отдельно скажу про 2 опции, которые мы разработали ночью: Квест "Совпадение вкусов" (про любимый сайт) и квест "Карантинка" (про руки с мылом) уже реализованы и прямо сейчас загружены на Google Play. Обновление появится так скоро, как только его промодерирует гугл. Самое позднее - завтра в обед. Остальное работает в полной мере.

Пара скринов из гугл-плей:

Я не Ло_Ох! (для тех, кто еще и в танке) Танки, Unity, Aso, Продвижение, 1 апреля, Маркетинг, Разработка, Длиннопост
Я не Ло_Ох! (для тех, кто еще и в танке) Танки, Unity, Aso, Продвижение, 1 апреля, Маркетинг, Разработка, Длиннопост

Спасибо, что посмотрели в плохом качестве :-)

Теперь о маркетинге. В данном контексте это просто бездонное дно. Пример:

Я не Ло_Ох! (для тех, кто еще и в танке) Танки, Unity, Aso, Продвижение, 1 апреля, Маркетинг, Разработка, Длиннопост

Словом обыгрывать кто не лох и по какой причине он не лох - это Марианская впадина маркетинга :-)


Что в ближайшее время мы еще туда добавим:

* Рейтинги в разных языковых группах

* Возможность "применять санкции" к явным лохам

* Возможность поощрять товарищей

* Добывать янелохскую руду

* Чеканить монеты ЯНЛ

Ну и т.п.


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

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


Работы много. Если кто-то захочет помочь в продвижении - пишите мне в личку: https://vk.com/aleksey_golyatkin - мой персональный рекорд - я отвечал 500 человекам в день :-) Возможно придётся создать отдельный телеграм канал.


В общем всех с праздником! Всем позитива! Будьте не лохами!

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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



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

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

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

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


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



Steam The Story Of Henry Bishop

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