Из риелтора в разработчика игр 2. «Операция: Андроид»

    Добрый день, Хабр.

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

    image

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

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

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

    image

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

    image image image

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

    Android и BDSM

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

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

    image image image

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

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

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

    image image image

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

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

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

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

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

    image image image

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

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

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

    Troubleshooting

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

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

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

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

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

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

    image

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

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

    Эпилог

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

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

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

    Комментарии 28

      0
      Это прекрасно, когда у человека есть хобби, но я бы предостерег от того, чтобы бросаться в gamedave с головой.

      Даже игра с отличными отзывами не означает финансового успеха ее разработчиков…
        +1
        Отлично это понимаю, но желание очень сильно :)
          0
          Я всегда радуюсь, когда в индустрии становится больше талантливых людей.

          С отзывами и успешностью — это интересно.
          Иногда есть 2 очень похожих проекта, а разница в доходах в 1000 раз.

          Но шансы не плохие, если монетизацию, взаимодействие + пару фишек сделать, то даже хорошие.
          0
          Почему не используете гитхаб вместо бэкапов?
            +1
            Чуть-чуть параноик, все свое храню с собой
              0
              как это относится к гитхабу? Версионирование кода и хранение бэкапа в гит — более чем удобно, никто не отнимает у вас возможности хранить локальный репозиторий же…
                0
                Хм, я попробую
              0
              А как гитхаб работает с большими объемами? У меня у самого игровой проектик, пока в нем всего ничего а он уже весит 8 гб, у автора статьи наверняка вес будет минимум в три раза больше.
                0
                от 130 гб уже :)
                  0
                  В гите стоит хранить только код игры ИМХО, для папки с ресурсами обычно юзают что-то типо дропбокса, насколько я слышал.
                    0
                    Более того, файлы ресурсов *.uasset — бинарные и не трекаются для версионности. В сам Гит можно подключить поддержку больших файлов, но смысла не особо много — бинарники мержить/откатывать все так же не получится
                +1
                локальный гит сервер просто держите
                medium.com/@piteryo7/how-to-set-up-git-server-on-local-network-windows-tutorial-7ec5cd2df3b1
                  0
                  Где берете ассеты? Сами делаете или из бесплатных наборов?
                    0

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

                    0
                    Спасибо автору за статью.
                    Вопрос: а почему выбор пал именно на UE4, а не на Unity3D или CryEngine к примеру?
                      0
                      UE4 имеет очень гибкую систему блюпринтов, которые позволяют работать с движком без программирования
                        0
                        Не позволяет. На принтах и программируете. В песочнице и при помощи визуальных инструментов — да.
                          0
                          Да, неплохой выбор. Удачи вам с переходом в геймдев.
                          P. s. Игра в стилистике Dark Souls выглядит очень атмосферно. С удовольствием бы купила.
                            0
                            Cпасибо :)
                        +1
                        Вот так дела) Читаю сейчас книгу «Кровь, пот и пиксели», где в первой главе как раз про сбор средств краудфандингом для создания «Pillars of Eternity» (собрал на кикстартер почти $4 млн.) и вспоминал про ваш первый пост, думая как тяжело инди разработчику. И тут продолжение вашей истории на хабре сегодня же) Ждем продолжения)
                        PS. Если не читали книгу, советую к прочтению, думаю вам придется по душе)
                          +1
                          Спасибо, обязательно прочту :)
                          0
                          Мотивирующая статья. Спасибо! =)
                            0
                            Пожалуйста )
                            0
                            Надеюсь вы заявились на конкурс от disgustingmen
                            unrealcontest.disgustingmen.com/about
                              0
                              Нет, когда будет достойна конкурса, тогда и буду заявляться :)
                              0
                              Это уже тренд. Статья Из кредитов в разработку, сейчас вот из риелтеров в разработку, ждём статью «Из тюрьмы в разработку». А я думаю, почему для них «управление состоянием это боль». Да, разработка уже не та, пока валить в биоинжинерию или рокетсаинс.
                                +1
                                Это не самый плохой тренд
                                  0
                                  Из разработки в разработку

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

                                Самое читаемое