Skimitar

Skimitar

На Пикабу
поставил 96 плюсов и 0 минусов
Награды:
5 лет на Пикабу
36 рейтинг 32 подписчика 1 подписка 7 постов 0 в горячем

Одинокая разработка и понятия скиннинга и риггинга

Всем привет!


Простите за недельный перерыв, сессия, сами понимаете...

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


Итак, как было сказано, сделал я персонажа в Zbrush, потом его ретопологию и UV-развертку в 3d max, потом назад экспортировал в ZBrush (вот уроки, по которым я учился). Делал я все части персонажа отдельно, так как я не умел нормально, а потому штаны отдельно, куртка отдельно, голова тоже. В принципе так и надо, другое делоЮ что потом это всё по-хорошему надо поместить на одну текстурную карту, а я сделал так же все раздельно (это неправильно!). Вот сам персонаж в максе.

Одинокая разработка и понятия скиннинга и риггинга Риггинг, Скины, 3ds Max, Gamedev, Одиночка, Длиннопост

Ну логично руку можно сделать одну и ботинок тоже один, потом копировать и отзеркалить. (только следите иногда модель отзеркаливается так, что полигоны становятся видимы снутри, а не снаружи, всё исправляется модификатором Normal/Flip normals). Ещё следите чтобы длина рук была подходящей, а не как у гориллы, лучше делайте персонажа и его одежду по болванке, есть нормальные болванки людей в самом ZBrush. Ну и модель я объединил в одну путем Attach, не бойтесь материалы не потеряются и развертки тоже, если что можно сделать даже Detach, и разобрать модель назад, как конструктор.
Ну вот, получился такой кривой персонаж, он страдает, бьётся в агонии, а всё почему? Правильно! Он редкий урод беспозвоночный. Займемся риггингом, по-русски сделаем ему скелет. Использовал я стандартный скелет, так как опыта не имел совсем. Вот он где в максе, называется Biped.

Одинокая разработка и понятия скиннинга и риггинга Риггинг, Скины, 3ds Max, Gamedev, Одиночка, Длиннопост

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

Одинокая разработка и понятия скиннинга и риггинга Риггинг, Скины, 3ds Max, Gamedev, Одиночка, Длиннопост

А дальше всё по вот этим видеоурокам. Там всё подробно рассказано, спасибо автору. Обязательно весь скиннинг делайте с загнутыми конечностями, просто поверните кости, чтобы видеть, насколько криво и неестественно сгибается одежда или ноги персонажа. В принципе, Вам пригодятся только первый и второй уроки, далее всё для детальной уберпродвинутой подгонки персонажа под скелет.
Главное после подгонки энвелопов (поймете по мере просмотра уроков) подогнать веса каждого вертекса принадлежащего им, чтобы получилось идеально. Это делается путем "рисования" (кнопка в модификаторе Skin где стрелочка). В уроке всё подробно объяснено.

Одинокая разработка и понятия скиннинга и риггинга Риггинг, Скины, 3ds Max, Gamedev, Одиночка, Длиннопост

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

...

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

...

Задавайте вопросы касаемо разработки игр, постараюсь ответить в рамках моих компетенции!

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

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

Первые действия в Greenlight и общие советы по продвижению игры

Всем привет!

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


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

Второе. Нужно раскошелиться.

Первые действия в Greenlight и общие советы по продвижению игры Steam, Gamedev, Продвижение, Игры, Совет, Длиннопост

Т.е. купить Greenlight Submission Subscription, это даёт Вам возможность выкладывать свои игры на голосование в Greenlight, чтобы потом (возможно) попасть в магазин. Стоит эта подписка-соглашение 3200 рублей, все деньги идут куда-то на благотворительность (так утверждается при оплате). Оплатить можно большинством популярных способов, мой Вы видите на картинке. Если не покупать вот этот Greenlight Submission Subscription, то у Вас существует просто возможность выкладывать новости о своей игре, скриншоты, этапы разработки и т.д., но голоса за неё не учитываются и в магазин Steam она не попадёт.

...Совет...

Как только у Вас возникла идея игры и Вы только-только начали её разрабатывать, и намерены дойти до конца, то начинайте уже с этого момента заинтересовывать публику. Заведите Twitter, Facebook, группу в ВК, да что угодно, где вы будете планомерно выкладывать новости о ходе разработки. Постите скриншоты рабочего стола или процесса моделирования; фотографии, как Вы сидите за компом и чешете задницу, да всё ,что связано с Вашей игрой и процессом её создания. Больше шансов без денег заработать аудиторию конечно в Twitter, там Вы со своими хэштегами (аля #indiegames #development и т.д.) можете заработать несколько сотен заинтересованных подписчиков. Если у Вас есть деньги продвигайте свои группы в Лицокнига (Facebook) и ВК. Так же можно снимать видео для Youtube о ходе разработки, но как по мне, это более трудозатратный процесс, но достаточно действенный. 

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

...Продолжение текста...

Третье. Оплату и выкладывание на всеобщее голосование можно производить не только когда игра полностью готова, но и когда Вы сделали примерно 50-75% от общего объема. Ваша "недоделка" легко может набрать необходимое количество голосов и попасть в магазин, а сам релиз вы обговорите с поддержкой Steam и сможете залить игру по-готовности, да хоть через год (утрирую я). 

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

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

Первые действия в Greenlight и общие советы по продвижению игры Steam, Gamedev, Продвижение, Игры, Совет, Длиннопост

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

Первые действия в Greenlight и общие советы по продвижению игры Steam, Gamedev, Продвижение, Игры, Совет, Длиннопост

Пятое. Особенности построения рейтинга в Greenlight основываются на среднем количестве голосов "ЗА" первой сотни игр, поэтому Ваш процент может скакать на 10 пунктов (у меня при одном и том же количестве голосов процент скакал от 25 до 37, всё из-за усредненности порога прохождения). Голоса "ПРОТИВ" не особо учитываются (это может сказаться в дальнейшем на скорости попадания из топ-100 в магазин), у меня отношение голосов ЗА и ПРОТИВ около 40/60 (40% проголосовали ЗА и 60% против), но это неплохо, так ка немногие добираются даже до половины положительных голосов. Вообще, наша задача попасть в сотню первых, после этого Вы можете расслабится и ждать от 1 дня до +бесконечности, так как после попадания в этот топ-100, через какое-то время Вы 100% попадаете в магазин Steam. Вот мой статистический график. Та бледно зеленая полоска на уровне плинтуса - это моя игра.

Первые действия в Greenlight и общие советы по продвижению игры Steam, Gamedev, Продвижение, Игры, Совет, Длиннопост

Шестое. Эффективные способы рекламы. В первый день Вы должны включить просто мегаартиллерийский обстрел рекламой своего творения специально для фанатов инди-игр с неокрепшей психикой. Опять же я этого не сделал и Вы видите результат. Идеально будет если Вы уже вели блог, группу и т.д. и там укажете дату релиза на Greenlight и ссылку. Плюс, по-хорошему, договоритесь с Летсплейщиком (который стримит игры наподобие Вашей) сделать летсплей в день загрузки игры на Greenlight и дать ссылку туда, скиньте ему демо-версию, заканчивающуюся на самом интересном месте. Обзоры у всех стоят по-разному, зависит от количества подписчиков, но в среднем это от 5000 до 15000 рублей, это оказалось дороговато для меня, но я потом вложусь, может быть, может быть... Можете так же зарегаться и скинуть описание своей игры на IndieDB, но это дает не особо многое.

______________________________________________________________________________

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

Прошлый пост с моей корявой винтовкой для новой игры не зашёл) (рисовал я её действительно сам по эскизу с тетрадного листочка, в 3d max, в ней около 1000 полигонов по подсчетам самого макса, поэтому я и считаю её high-poly, хочу сделать поменьше)

Первые действия в Greenlight и общие советы по продвижению игры Steam, Gamedev, Продвижение, Игры, Совет, Длиннопост

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

Первые действия в Greenlight и общие советы по продвижению игры Steam, Gamedev, Продвижение, Игры, Совет, Длиннопост
Показать полностью 5

Винтовка кристаллическая

Всем привет!

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

Знаю, капля в море и т.д., но спасибо за внимание, если кому интересно.
Винтовка кристаллическая Винтовка, 3D моделирование, Gamedev

Новые горизонты или дойти до Greenlight (часть 1)

Всем привет, дорогие друзья! 


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

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

Итак, лето 2015, самый разгар сессии, 5 экзаменов, 3 автомата, скучно. Я выпускаю доп. уровни для своих пиратов (см. пост сюда) и исправляю небольшие ошибки в нло коте (если интересно, тоже пост), а так же встраиваю в них гугл рекламу благодаря видеоурокам испанца (вот ссылка). Всё работает, я успокаиваюсь. Ага, как бы не так. Мне приходит новая идея, а не сделать ли ужастик (хоррор) на компьютер, про неприятных взору обгорелых людей, с зеркалами, телепортацией, лабиринтами, блэкджеком и шлю... Так стоп, но у меня же нет опыта в компьютерных играх, я до этого пользовался только тремя программами, а придется дополнительно осваивать 3д моделирование. Ну и ладно, подумал я, как нибудь освою, тем более небольшой опыт работы в 3d max имел и Unity 5 вышла, хотелось опробовать. Да и до Google Play я дошел, захотелось дойти до Steam Greenlight.

Так, хорошо, концепция есть, записал общие задумки и вспышки фантазии (кстати, важно: всегда записывайте свои планы, я пользовался заметками в телефон, т.к. он всегда под рукой). Я знал что работа займет у меня всё лето + 2-3 месяца (по факту оказалось 8,5 месяцев! тяжело работать одному :( ). За всё время мне понадобился такой набор программ:

Новые горизонты или дойти до Greenlight (часть 1) Steam, Unity5, Gamedev, Инди, Хоррор игра, 3D моделирование, Длиннопост

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

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

...Отступление...

Когда делаете ретопологию следите, чтобы не было полигона с более чем 4 вершинами(точками, вертексами), это потом косячно отобразится на модели в самой Unity 5. Так же делайте фигуру человека в Т-образной позе, со слегка расставленными в сторону ногами, так удобнее достать до всех труднодоступных мест во время ретопа и проще анимировать. И еще, так как мой персонаж был в одежде, я делал оотдельно все части персонажа т.е. кепку, голову, куртку, кисти рук, брюки, а потом объединял их в 3d max, но это уже после запекания нормалей.

...Продолжение...

С горем пополам ретопнул модель, теперь необходимо сделать UV-развертку (так же куча уроков есть), для того чтобы наложить текстуры и карты нормалей равномерно по модели моего пугаемого персонажа. Всё сделал, возвращаюсь в уже ненавистный ZBrush(он хороший просто я очень устал вырисовывать каждый прыщик), опять делаю высокополигональную модель, рисую уже мелкие детали (морщины, шрамы и т.д.), потом рисую текстуру прям поверх модели (так же куча видеоуроков). Запекаем нормали в xNormal (можно в самом ZBrush, но там видно швы соединения - не комильфо). Эти карты нормалей пихаются в материалы модели в Unity5, там прям надпись в материале Normal map (простите что как для тупых объясняю, но тогда я даже этого не знал), но это уже после экспорта в Юнити. (п.с. карты нормалей и текстуры можно запекать в размере 1024 или 2048 пикселей, этого вполне достаточно для отличной детализации, я нафига-то запек в 4к и это лишь тормозит игру).

Затем с моделью нужно произвести следующие страшные действия - риггинг и скининг модели. Т.е. мы нашу модель нанизываем на скелет, который потом будем анимировать, по этим действиям так же много видеоматериалов, скажу лишь одно, я использовал стандартный Biped скелет 3d max, который потом подходит для импорта стандартных анимаций человека из пресетов Unity5.

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

А пока, я попросил бы Вас проголосовать за мою вот эту хоррор-игру на Greenlight. 


Flame of Mirrors

Новые горизонты или дойти до Greenlight (часть 1) Steam, Unity5, Gamedev, Инди, Хоррор игра, 3D моделирование, Длиннопост

Ссылка на Greenlight. Там же вы сможете скачать демо-версию (попугаться атмосферы и кривизны моих рук).

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

Заранее спасибо! 

Задавайте вопросы, с удовольствием на них отвечу! 

Извините за возможные ошибки в тексте.

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

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

Опыт решает или как сделать приемлемую игру

Всем привет! 


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

Продолжаем цикл статей посвященных моему пути в сфере игростроя. (первый пост, второй пост, если интересно). 

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


UFO Catch

Опыт решает или как сделать приемлемую игру Игрострой, Gamedev, Google Play, Unity3D, Android, Игры, Длиннопост

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

Итак, после завершения Pirate Paff (см. второй пост), я немного отдохнул, и мне вновь пришла гениальная(на мой взгляд) идея, а не создать ли мне бесконечную игру под тип Subway surfers или Flappy Bird, т.е. такую, где уровень, препятствия или враги генерируются бесконечно. Как раз в то время я довольно часто натыкался на видео или картинки с коварными игровыми автоматами, где главные призы - это плюшевые звери, которых надо доставать механической (сволочной) рукой (мне в них никогда не везло). Все этапы производства игр на андроид я прошел, от создания до выпуска на всеобщее обозрение, опыт уже был, и я решил приступить. Сразу скажу, что этот проект занял у меня порядка месяца, что уже немного по сравнению с предыдущими 3,5 месяцами.

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

Опыт решает или как сделать приемлемую игру Игрострой, Gamedev, Google Play, Unity3D, Android, Игры, Длиннопост

Суть игры. 

Вверху постоянно весит наш главный герой в фиолетовой тарелке под стеклянным колпаком - кот (да зеленый и с рожками, ну типа инопланетянин). Справа вверху полоска энергии(ну палочки разноцветные), цифры там же - это очки полученные, слева внизу генератор и "блендер". Так вот, из правой части экрана к нам надвигаются коварные слизни, у каждого свои особенности (простой, скоростной, взрывчатый, замораживающий и бонусный), после того как они врезаются в генератор энергия у нас отнимается  (0 энергии =  проигрыш). Мы в роли игрока можем указать НЛО, тыкая в экран, место, в котором нужно опустить клешни и схватить слизняка, чтобы он не повредил наш драгоценный источник энергии, после этого наш герой бросает его в "блендер" и таким образом вырабатывается энергия для продолжения игры + начисляется одно очко. Сложность состоит в расчете места хватания слизней, да и скорость постоянно меняется. Этой игры уже нет в браузерном исполнении, не тот формат подумал я. Не спрашивайте, как мне всё это пришло в голову, я сам не знаю)

Разработка.

Разработка заключалась в том же, как и в Pirate Paff. Рисование в фотошопе, кодинг, создание музыки в Fl Studio и все. НО! Были и некоторые особенности, так например, цифровое табло сверху это не просто текст, это отдельные рисунки каждой цифры, которые выстраивались в особом порядке по GUI координатам в зависимости от числа очков, которые в свою очередь преобразовывались в строчный формат и отражались справа-налево. Я так мудохался только потому, что смартфоны не поддерживают динамическое изменение шрифта в зависимости от размера экрана. Так же, в первой версии игры не было генератора, а слизни просто проходили мимо, энергия отнималась только за попытку схватить их. Т.е. если просто ничего не делать, то энергия не отнимается, а наши гелеобразные протагонисты снуют туда-сюда. Я подумал, что это скучно и привел игру в текущий вид. 

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

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

Анимацию в игре я использовал топорную, так как я не большой художник и на всякие плавные переходы у меня бы ушла уйма времени. Зато музыке я уделил довольно много времени (1 неделю из 4-х, я её делал параллельно с остальным). В игре присутствуют 2 композиции - жуткая менюшная и динамичная игровая. Все было написано средствами FL Studio, её стандартными плагинами, все это легко скачать везде. Звуки некоторые я опять же скачал/вырезал из фильмов-мультиков, немного видоизменил, чтобы правообладатели не возмутились, и вставил в игру.

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

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

Итоги

Игра тоже не взяла призов на канском кинофестивале, всего установок у неё около 200 и в данный момент она на 11 телефонах, оценка - четыре пятерки. Заработал за год я с неё порядка 1$, так же со встроенной рекламы. Встраивание гугл рекламы в приложение это отдельная тема, в рунете я её не нашел  в нормальном виде, приходилось смотреть видеоуроки на испанском, а если пользоваться средствами самого гугола там с ума сойдешь, спасибо испанцу (могу поделится ссылкой). Секрет непопулярности моих игр в недостатке средств на рекламу, есть много способов продвинуть игру, таких как Startapp, Appbrain или же можно обратиться к летсплейщикам по андроид играм, все это влетит в копеечку, особенно с текущим курсом, но это действует у многих. Почему не рекламирую? Я работаю на склад, нарабатываю опыт и базу. Да и перескакиваю с проекта на проект, только закончу один, начинаю другой.

Ну и напоследок немного другой скрин. 

Ну и вот ссылка на саму UFO Catch.

Опыт решает или как сделать приемлемую игру Игрострой, Gamedev, Google Play, Unity3D, Android, Игры, Длиннопост

Задавайте вопросы! О некоторых вещах могу расписать подробнее.

Завтра, скорее всего, будет следующий пост о моей первой 3d игре на ПК, которая сейчас валяется на Greenlight. 

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

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

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

Всем привет, дорогие пикабушники (-цы)!


Цикл статеек о моём пути становления разработчиком игр (громковато звучит) я решил написать в течение нескольких дней, все ради моих 5 (ПЯТИ!) подписчиков. Сегодня Вашему вниманию представляю вторую часть (первая тут). Здесь я хотел бы рассказать об одном из трёх своих более-менее удачных проектов и и некоторых особенностях в его разработке.
Опять очень длиннонуднопост!

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

Как я пытался сделать первую нормальную игру Android, Разработка, Ламер, Unity3D, Gamedev, Игры на Android, Игры, Длиннопост

Назвал я её Pirate Paff (ну типа, пафф - звук выстрела), хотя мне стыдно произносить это название на людях. Игра, как бы про пиратов, которые по сюжету атаковали ваше судно. На самом деле они статичны, шевелят ногами и руками и издают звуки АРРР, которые я понавырезал из разных фильмов и мультиков. Суть проста: попасть рикошетом от бочек, ящиков и прочей корабельной утвари в пиратов, водя пальцем по экрану и, таким образом, направляя пушку (внизу черненькая) в нужное место, отпускаешь палец - происходит выстрел. Вид теоретически сверху, но пиратов видно в полный рост, хотя по логике должны были блестеть только макушки. Почему я так сделал? Да кто его знает, просто не хотелось делать вид сбоку, т.к. банально (показалось мне). В игрушке присутствует 5 типов ядер: обычное, воспламеняющее, замораживающее, прилипающее, и бомба. Главное не трогать плюшевую обезьяну! Я постарался сделать все не так просто, но получилось куда сложнее чем я думал. Глюки Unity заставляли ядра лететь в разные стороны, но не по логическому пути, так как я использовал просто 3d физику. Она ненамного лучше чем 2d, которая на тот момент в Unity 4...(не помню точно) даже пересечения объектов определяла через раз. Игра лагала и лагает (переделывать пока неохота) на неплохих планшетах, при её весе в 25 мб. Возможно потому что некоторые, неважные рисунки занимали по 5 мб., конечно после компиляции они урезались, но можно было бы и поскромнее себя вести касаемо ресурсов. Для создания Pirate Paff мне понадобилось 3 месяца и следующий набор инструментов.

Как я пытался сделать первую нормальную игру Android, Разработка, Ламер, Unity3D, Gamedev, Игры на Android, Игры, Длиннопост

Это: Photoshop - для рисунков, сам Unity - понятно для чего и FL Studio для создания музыки и обработки звуков. 

...Отступление...

Так же необходимы Android SDK и Java JDK, но ими пользоваться мы не будем, потому что они просто нужны Unity для компиляции игры под андроид (кстати, если возникнет ошибка в моменте то ли компиляции игры, то ли после того как вы указали путь Unity к Android SDK необходимо будет в папке Android SDK найти плагин zipalign.exe и закинуть его в папку TOOLS, мне помогло). 

...Продолжение...

В фотошопе я осваивал новые, невиданные для меня доселе инструменты, такие как: кисть, ластик, заливка, обводка, слои и пр. Шутка конечно, это база, которая известна еще с детства по Paint-у, ну кроме слоев и некоторого другого. 

Как бы этапы:

1) В художку я никогда не ходил, а боле увлекался другими видами спорта, поэтому выходило у меня средне, ну вот пример сцены из интро в игре.

Как я пытался сделать первую нормальную игру Android, Разработка, Ламер, Unity3D, Gamedev, Игры на Android, Игры, Длиннопост

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

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

3) Звуки - неотъемлемая часть. Без них злобные пираты жалостливо шевелили ручками и ножками, пока я в тестовом режиме расстреливал их из пушки бесчисленное множество раз. Звуки я брал где придется, как уже писал выше вырезал их из фильмов и мультиков, этот процесс у меня занял неделю. Мне пришлось просмотреть бесчисленное множество серий различного медиа материала, чтобы наскрести парочку более-менее приличных звуков, без посторонних шумов. Что-то я взял из открытого доступа в интернете. Музыку пришлось писать самому, ну как, я просто заново воспроизвел старую английскую песню Drunken sailor в FL Studio с помощью стандартных инструментов данной программы, наиграл её на дудке и ксилофоне, мне показалось это наиболее благозвучным, на тот момент,  хотя было не ах, так как практики в FL не хватало.

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

5) Во время создания этой игры я зашёл так далеко, как никогда ранее. Она была готова, сыра, недожарена, кое-где виднелись следы рук, растущих из причинного места, НО ОНА БЫЛА ЗАВЕРШЕНА!. Необходимо совершить главную компиляцию, для этого просто необходимо создать произвольный Alias и Keystore, с произвольными логинами и паролями - это вам понадобится для загрузки в Google Play. В самом магазине Google приложений необходимо завести аккаунт или использовать существующий, так как для всего гугола и окологуголовского может существовать один аккаунт. Вот тут то и возникают первые траты помимо времени. Для того чтобы создать аккаунт разработчика и получить возможность заливать свою продукцию надо в Google Developer Console пожертвовать 20$ (простите сейчас не знаю). После того как Вы пожертвовали свои кровные Вам открывается мир чудес, золотых гор и красивых девушек. Опять лукавлю. Тут уже все просто, загружаете скомпилированный файл игры .apk, описание, скриншоты, отвечаете на вопросы по поводу насилия и эротики в игре. Всё! В течение суток, мой первый проект появился в Google Play, игра была(и есть) бесплатна, ибо никто не захочет покупать малознакомую подозрительную штуку. Позже я вставил в неё рекламу и заработал с марта по сегодняшний  день порядка 1$, но все это потому, что я не занимался её раскруткой, ну там пару бесплатных форумов и мольбы к летсплейщикам ничего не дали. У игры за год с марта по март около 200 установок и на 11 телефонах она стоит сейчас, рейтинг 3,9. Решил все таки рискнуть и скинуть ссылку на Pirate Paff. Так же если набрать в поиске она есть на нескольких сайтах просто в браузере, так как я еще сделал ознакомительную версию для Kongregate, а оттуда она растеклась по интернету. 

Ну и последнее, во время процесса разработки, да и создания чего либо вообще лично у меня возникает некоторая замыленность взгляда, т.е. сперва идея кажется неплохой, но когда ты корпишь над проектом 2-3-4 месяца, он начинает тебе надоедать, и всё уже не кажется столь гениальным и интересным, поэтому я лично начинал халявить в некоторых местах, но потом, на новой волне вдохновения, приходилось исправлять небрежности. Так что будьте готовы к этому, не бросайте на полпути свои идеи!

Опять же могут быть ошибки, простите пожалуйста! 

Задавайте вопросы, постараюсь ответить.

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

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

Что можно успеть за 1 год и 9 месяцев...

...если вы ничего не знаете о разработке игр.

Всем привет, дорогие пикабушники(-цы)!
Давно у меня назревало желание создать подобный пост, да и пост вообще. Может быть он не уникален (такого в интернете хватает), но я все же решил попробовать.
Внимание, действительно длинный и нудный пост!
На летних каникулах после второго курса, когда сессия и практика позади, настали скучные деньки. Делать нечего, друзья разбрелись по армиям и другим городам в поисках образования, формы цвета хаки и лучшей жизни. Работы особо нету, а которая есть, не соответствует амбициям молодого студента (амбиции простые, хотя бы зарплату, а то был печальный опыт).
Ну так вот, перехожу к сути. Заинтересовался я игростроем после прочтения нескольких благоприятных новостей об удачных разработчиках некрупных проектов. А вообще, еще со школы были некоторые идеи, которые вдруг захотелось реализовать. У меня уже был некоторый опыт работы в 3d max и фотошопе еще со школы, а так же я создавал карты для CS: Source, в общем, набор базовых знаний был так себе.
Настала очередь делать свой первый выбор. 

Что можно успеть за 1 год и 9 месяцев... Записки, Ламер, Gamedev, Unity3D, Unity5, Разработка, Игры, Длиннопост

Какой игровой движок самый лояльный к недоделанному левше XXI века? 

Выбрав (вот сюрприз) Unity3d, я приступил к рисованию уровней. Вы подумали, что я пропустил несколько этапов и, не зная ни одного языка программирования (ну кроме базового html), не составив плана, даже не зная основ игрового движка, приступил к рисованию абстрактных зданий, коробок и пр.? И Вы будете правы в своих догадках (о чем я только думал). Почему Unity? На тот момент я не знал на какую платформу я хочу делать игры, а Unity, как всем известно, наиболее гибкий инструмент, тупо делаешь игру, а в конце выбираешь на какую ОС ты хочешь её сбилдить (ну это так, укороченный вариант действительности).

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

Что можно успеть за 1 год и 9 месяцев... Записки, Ламер, Gamedev, Unity3D, Unity5, Разработка, Игры, Длиннопост

Какой язык программирования начать изучать?

Выбор пал на C#, доводами послужило то, что он наиболее распространенный и на нем пишут многие (да это спорно, но тогда я был мастдайным ламером, да и сейчас немногим больше, и это не умаляет значимость java и пр.). Ну хорошо, выбрал, а дальше? На книги тратиться я не мог, так как я бедный студент, а Шилдт стоил около 2 тыс. вечнопадающих рублей, библиотека вуза летом не работает, ресурса для восполнения знаний нет. Можно подумать - тупик. НО! У меня, как и у всех кенийцев копьеметателей (если помните), назревает очевидное решение. Youtube! Там я нашел много полезных уроков, демо-версий некоторых курсов, и просто подборку C# уроков от тех же игроделов (ссылки могу скинуть в комментарии если пожелаете). Все просто качаете Visual Studio, делаете Hello World!, парочку преобразований, одну-две программки аля калькулятор, и всё. Теперь вы мегакрутой хакер!

Базу я наработал  в пределах 1,5-2-х месяцев, при этом уделяя урокам и практике 2-4 часа в день. Далее последовало изучение особенностей программирования в Unity, его методы в языке. Т.е. база в языке Си типа сложение, умножение, динамические массивы и пр., а в Unity конкретные методы и особенности, типа толкнуть шарик, телепортировать кубик, удалить при попадании в зону параллелепипедик (кому-то может не понравиться данный пример, ввиду его тривиальности, простите), такого средствами языка не добьёшься. Всё изучение было так же по видеоурокам нескольких хороших людей, по сайту Unity3d, его ответам и по его оффлайно-онлайновой встроенной справке Scripting reference (ссылки опять же могу дать).
Первый опыт (в счет не берем те примеры, которые я делал по урокам).

Итак, требование к первому похожему на игру чему-то: ОНО не должно быть сложным во всех планах, программирование, моделирование, анимирование и другое на -ние!
Самое простое и популярное, что мне пришло в голову, был кликер. На тот момент их было уже достаточно много, а сейчас вообще просто дох... Так о чем это я? Ах, да. Вот скриншот из моей первой игры.

Что можно успеть за 1 год и 9 месяцев... Записки, Ламер, Gamedev, Unity3D, Unity5, Разработка, Игры, Длиннопост

Назвал я её IE Clicker, но никуда не выкладывал, ибо сами видите. Принцип у кликера простой - математические преобразования. Нажимаете на кнопку - отнимается число, покупаете автокликер - само нажимается. Суть конкретно этой игры была в следующем, нажать 1 млн. раз на значок всеми любимого браузера, чтобы он, наконец, запустился. Этого можно было добиться 2-мя путями: просто кликая или же зарабатывая деньги на ForoxClud (название изменено), так же кликая на значок Forox-а и тем самым зарабатывая деньги на покупку новых компов, лицензионных автокликеров, брокеров и прочих ништяков для упрощения жизни. Игра убога по своей сути, в ней всего 1 скрипт на 500 строк, да и тот можно было бы упростить. Разработка заняла у меня 1 неделю сентября, я приходил после пар и по 2-3 часа сидел за нетбуком, на котором всё жутко лагало, но за комп я садиться не желал, так как хотелось полежать.

Вторая игра. 

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

Что можно успеть за 1 год и 9 месяцев... Записки, Ламер, Gamedev, Unity3D, Unity5, Разработка, Игры, Длиннопост

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

На этом я пожалуй остановлюсь, неудачные попытки останутся в этом посте. Если Вам понравилось я могу продолжить, написать об оставшихся чуть более удачных проектах, один из которых проходит сейчас неудачный отбор на Greenlight (вот ссылка если надо http://steamcommunity.com/sharedfiles/filedetails/?id=633489..., хотя там тоже не супер, ибо я опять делал её один и это была первая 3d игра), два остальных валяются в Google Play. Так же я могу подробнее расписать все процессы создания 2d и 3d игр, с некоторыми нюансами, которых не было в сети (или я просто не нашел), только не в форме уроков которых полно, а с точки зрения барана на новые ворота. Ну и о планах, текущих проектах и т.д. Простите, кое-где могут быть грамматические и пунктуационные ошибки, но я старался их избегать. Кто-то скажет, что эта статья для хабра и может быть будет прав. Судите как всех. Спрашивайте, что хотите. Спасибо, что выдержали (если кто-то вообще пережил это)!

Показать полностью 4
Отличная работа, все прочитано!