Инди
Тим Бормак
4003

Из риелтора в разработчика игр 2

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

В закладки
Аудио

Краудфандинг не панацея

Те, кто читал мою предыдущую статью, знают, что я занимался разработкой своей игры для ПК – «Тени Форвуда». Если быть точнее я создал очень маленькую демо-версию с описанием и выложил ее в открытый доступ везде, куда дотянулись руки. Работал я над проектом один, поэтому все трудности решал самостоятельно. И вот, в какой-то момент, было принято решение задействовать краудфандинг-платформу для сбора средств на разработку.

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

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

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

Android и BDSM

Если вам нужен джин для исполнения желаний – Unreal Engine 4 самый правильный выбор. При начале работ с платформой Android я решил наступить на те же грабли что и в начале своего пути: создать кликер. В этот раз решение было обдуманным, и кликер стал ремейком моей первой поделки. Игрой я его назвать не смогу, этот проект был нужен для понимания моих возможностей и работоспособности UE4 на мобильной платформе.

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

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

Dungeon Trails стал игрушкой, в которой я постарался применить весь свой небольшой накопленный опыт. Никаких сложных материалов, только однотекстурный unlit, никакого освещения или процедурных теней (на всем игровом поле нет и не будет ни одного источника света), никаких сложных\per-frame функций.

Результат получился, как это сейчас говорят – not great, not terrible. По крайней мере, этот продукт я могу назвать полноценной игрой для телефона. Да и моей аудитории он понравился. Простая механика карточной игры, немного музыки, спецэффектов, рандома и вуаля. Ссылок я вставлять не буду, найти его в Google Play не сложно.

С точки зрения наполнения эта игра оказалась очень недорогой: на все про все ушло порядка 150 долларов. Один набор монстров, один набор иконок и эффектов, несколько музыкальных треков. Идея рисовать все самому быстро ушла в утиль, не хотелось тратить слишком много времени. На игровом поле присутствует несколько мешей по 6-12 полигонов. Объем приложения около 50 мегабайт. Без музыки – 35+ мегабайт. Вполне компактно.

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

Давид и Голиаф

И все же простые карточные игры — это не тот результат, на который я рассчитывал. Даже на мобильных платформах есть проекты, которые у меня вызывают тень завистливой улыбки и желание произнести фразу Зохана: «Я вас уничтожу!». Например, The Elder Scrolls: Blades или по-простому Blades от Bethesda.

Именно поэтому у меня в шапке фокусника есть еще проекты, над которыми я работаю сейчас. Один из них – конкурент Blades, пока, правда, без названия. На его создание меня подтолкнули такие игры как: «Legend of Grimrock», «Darkest Dungeon» и, собственно, «Blades». Их убойную смесь я и хочу реализовать в очень скором времени.

Бесконечные, процедурно генерируемые подземелья-комнаты, горы лута, крафт, развитие персонажа и своего маленького поселения, стопка мини-игр и многое другое. На данный момент — это самый сложный проект на Android для меня (и намного сложнее «Теней Форвуда»), но аппетит пришел и его нужно утолять. Сейчас проект в глубокой альфе, однако, стабильно работает на смартфоне.

Большой проблемой для меня стало использование Point Light в этих самых подземельях, ведь у UE4 очень строгие ограничения на их количество. Но и это я использовал себе на руку. Поиск источника света станет одной из фишек игры. Вообще разработка под Android оказалась настоящим фестивалем компромиссов. Красочный такой фестиваль, с фейерверками.

Но не все так безоблачно в этом королевстве.

Troubleshooting

Слово-то какое, а? Сразу чувствуешь себя умным. Когда я только начинал изучение UE4, то столкнулся с такой темой: «Не начинайте работать с Unreal Engine 4, если вы не готовы \ не способны учиться». Мне кажется, что эта фраза должна стоять над кнопкой «Скачать UE4» на официальном сайте. Я люблю читать и читаю довольно много, но никогда в жизни мне не приходилось читать / смотреть и понимать так много узкоспециализированной литературы на разных языках, как при работе с этим движком.

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

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

Сейчас я могу решить почти любую проблему, не открывая страничку браузера или документацию, а моя основная головная боль — это ошибки / ограничения движка, которые он подкидывает на свое усмотрение. Но и с ними я научился бороться. К примеру, самое страшное, что сейчас может подкинуть UE4 — это ошибка «Line:107». В какой-то момент движок может повредить один из файлов (или потерять на него линк) .uasset или .umap, после чего проект просто перестанет открываться или будет падать при любых операциях после открытия. Проблема эта решается просто, но не безболезненно. Решений ровно два.

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

Первый вариант может быть полезным, если проект маленький, но если проект крупный, а актуальных бэкапов нет, то…

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

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

Эпилог

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

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

По традиции, у меня есть группа во ВКонтакте, где я каждую неделю, а иногда и чаще, делюсь новостями. Если вас вдруг что-то заинтересовало или знаете интересную вакансию, то добро пожаловать. А я возвращаюсь обратно к разработке и готовлюсь отвечать на вопросы, если они у вас возникнут :)

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Тим Бормак", "author_type": "self", "tags": [], "comments": 55, "likes": 152, "favorites": 113, "is_advertisement": false, "subsite_label": "indie", "id": 58123, "is_wide": false, "is_ugc": true, "date": "Tue, 09 Jul 2019 18:45:44 +0300", "is_special": false }
0
{ "id": 58123, "author_id": 112281, "diff_limit": 1000, "urls": {"diff":"\/comments\/58123\/get","add":"\/comments\/58123\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/58123"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64960, "last_count_and_date": null }
55 комментариев
Популярные
По порядку
Написать комментарий...
38

Для тех, кому лень читать:
Кулл стори о то, что хобби и дорога к цели - актуально в любом возрасте. Автору удачи, и не сдаваться.

Ответить
7

сейчас я добавлю пучину отчаяния...
Люди которым сейчас 29 и они думают, что "вот к 30 успею"
....
вам уже идет 30-ый год, а день рождения это его финал!
Формально, когда вы празднуете 30 день рождения - вам уже 31 xD

Ответить
2

Ааа))) мне почти 29, и я как раз думаю "вот к 30 успею". Блин, пошел растить бороду, чтобы к 30 было во что реветь)))

Ответить
0

Какая мрачная картина :D

Ответить
2

Я когда это осознал, всю бороду проревел и чуть не забухал xD

Ответить
0

Поэтому я всем всегда говорю, что мне 15. Себе в том числе.

Ответить
1

Я с женой условился на 24, вот уже шестой год подряд его праздную...

Ответить
3

-хаха пердуны старые 30-летние. (До просмотра календаря)
-всмысле уже 2019, всмысле уже 29? (После)

Ответить
0

Спасибо, буду стараться :)

Ответить
5

А системы контроля версий с битыми файлами не помогают? А так. Молодец, автор. Стоило гифку увидеть — сразу вспомнил твою первую статью. Отрадно видеть, что не опустил руки и движешься вперёд.

Ответить
0

Спасибо, обычно мне быстрее просто взять нужный бекап

Ответить
0

smartgit в помощь, хватит бояться гита

Ответить
4

Вы большой молодец! Успехов во всех направлениях!

Ответить
0

Спасибо:)

Ответить
2

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

Ответить
0

Запрошенная сумма была не очень большой, но и не маленькой – 360 000 рублей.

Помоему проще заработать эту сумму в качестве риелтора, разве нет?

Ответить
5

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

Ответить
2

в чужой монастырь со своими советами.

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

360 / 6 = 60к в месяц (как понимаю аналог месячной ЗП)...
как бы очевидный совет (но вдруг упустили) за два месяца до релиза запустить еще раз на сумму в 70к как раз.....
Это даст вам месяц на шлифовку проекта на финальных неделях и пару недель на правку первых багов...
Очень важно, что бы комьюнити купившее игру видело, что вы оперативно реагируете на жалобы и исправляете их своевременными патчами - тогда полезут и положительные отзывы, а с ними и повышение продаж...

Ответить
0

С такой суммы платить комиссию в 20% и налог в 13%, это уже не так критично. Как я и написал, в провале КФ есть и плюсы, но ранний доступ я все же сделаю.

Ответить
2

я просто к тому, что выбить себе 70 тысяч на свободный от основной работы месяц, который посвятить баг-фиксу - вполне хорошая идея для человека, у которого нет репутации "крупного" проекта =)

Ответить
0

В любом случае я сейчас и трачу свои деньги на это дело.

И всегда будете тратить. Быть каменщиком почётно, но деньги зарабатывает риелтор.

Ответить
0

нет, нифига не проще.

Есть два пути зарабатывать больше:
1. апать скилл в основной профессии
2. работать больше по времени.

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

Ответить
1

Братан, молодец — так держать! Читаем с интересом.

Ответить
1

Спасибо, сэр

Ответить
1

Геймдизайнером пойдешь и станешь считать циферки в мобилах. Берегись.

Почему не выбрать другое направление? Почему не разработчик?

Ответить
0

Нет навыков программирования, но я подтягиваю

Ответить
0

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

Ответить
0

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

Ответить
0

Анрил может испортить ассеты?

Ну и дела!

Ответить
1

Он может испортить .uasset, исходник он не испортит :)

Ответить
0

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

Ответить
0

Ты не сталкивался != проблемы не существует

Ответить
0

Портил пару раз...

Ответить
0

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

Ответить
1

Планирую то я везде, а вот рекламных мощностей нет :)

Ответить
0

У тебя в конце абзац 2 раза повторяется, 2 раза повторяется, дядя

Ответить
0

Исправил, спасибо.

Ответить
0

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

Ответить
0

Спасибо, сэр

Ответить
0

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

В таких историях всегда интересует вопрос - откуда берутся деньги на проживание?

Ответить
0

Из личных запасов

Ответить
0

Запасы безграничные?)

Ответить
0

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

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

Ответить
0

Успехов и холодной головы.

Ответить
0

Вопрос, на самом деле, один. Есть ли у тебя семья/девушка/жена/дети, и как они относятся к твоему занятию?

Ответить
0

Поддерживают моё хобби:)

Ответить
0

Тебе очень повезло. Добра и счастья вам, и удачи тебе в твоём творчестве)

Ответить
0

Я знаю, сам очень рад. Спасибо :)

Ответить
0

Ну слушай, молоток! Тоже какое-то время назад разочаровался в прошлой профессии, на которую потратил 9 лет, включая обучение. Тоже пошел в геймдев. Но разработку игры мечты пока заморозил за недостатком некоторых навыков и нехватки времени всё изучать, нужно мини команду собирать. Я сам углубился в тридешку. Есть пара вопросов про твой основной проект. Анимации, тридешка, окружение и прочее - что сам пилил, а что приобрел на маркетплейсе?

Ответить
0

На данный момент я почти все покупаю :)

Ответить
0

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

Ответить
0

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

Ответить
0

А что, бесплатно работать, что ли...

Ответить
0

риэлторы за комиссию вроде работают, или как там у них. Бесплатно не надо.

Ответить

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovz", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "chvjx", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "chfbl", "p2": "gnwc" } } } ]