Как я создал мобильную игру для своего ребёнка

Содержание

Дополнительные программы, которые нужны для создания игр

2D графика

  • Adobe Photoshop — лидер индустрии. С помощью данного софта можно разрабатывать дизайн персонажей, создавать фоны, заниматься практически любой обработкой графических файлов. Adobe Photoshop позволяет ускорить создание 2d игры на Unity или другом движке.
  • Adobe Illustrator — мощный инструмент для создания и редактирования векторной графики. Активно применяется для управления цветом, текстом, подходит для создания браузерных игр и других, которые не требуют трехмерной графики.
  • CorelDRAW Graphics Suite — самая старая программа для работы с векторной графикой. Обеспечивает трассировку растровых изображений в вектор, оснащена плагинами для редактирования фото в RAW-формате, обладает инструментами «динамика», «тень блока» и другими.

3D графика и анимация

  • Autodesk Maya — мощный редактор трехмерной графики и анимации, который применяется не только в игровой индустрии, но и на телевидении, в кинематографе и других сферах.
  • Blender — профессиональный редактор, который предоставляется на бесплатной основе. Используется в кино, а также для создания игр.
  • Cinema 4D — программа для работы с 2D и 3D графикой. Имеет большое количество модулей и пакетов, поддерживает создание игр на питоне, C++, Xpresso.

Звуковое сопровождение

  • Audio Design Desk — обладает библиотекой из более чем 20 тысяч встроенных звуков, которые отсортированы по категориям (выстрелы, шаги, удары). Позволяет создавать собственные эффекты на основе готовых сэмплов.
  • FL Studio — редактор-секвенсор, который позволяет создавать треки, используя эффекты из встроенной базы, а также сгенерированные в другой программе. Для русскоязычных пользователей использование данной программы особенно актуально, так как на YouTube имеется большое количество качественных обучающих видео.
  • Audacity — редактор для захвата и обработки аудиопотока. Обладает мощной и эффективной системой удаления шумов. Используется для записи и обработки речи с последующим переносом в другие редакторы.

Кому стоит идти в мобильную разработку

Можно ли начать обучаться с 0, не имея опыта и технического образования?

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

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

Стоит ли переходить в мобильную разработку тем, кто уже в программировании?

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

Когда вы — успешный IT-шник и вас тянет — тоже вперед.

Если текущая область IT приносит удовольствие и финансы, то нет смысла.

Как же пользоваться конструкторами?

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

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

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

2D анимация

У вас есть два варианта для создания 2D анимации:

  • Кадр за кадром. Здесь вам придется рисовать каждый кадр анимации и затем соединять их воедино. Для этого вам следует использовать спрайт- листы вместе с TexturePacker (или, если вы используете Unity — Sprite Packer).
  • Скелетная анимация. Нарисуйте все нужные конечности объекта и затем анимируйте, меняя их положение относительно предыдущего состояния. Этот способ анимации быстрее, проще и сэкономит место на вашем жестком диске, по сравнению с анимацией «кадр за кадром». Если вы решили создать 2D анимацию и используете движок Unity — попробуйте начать с анимации спрайтов или Anima2D.

Что нужно учесть при создании приложения с нуля?

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

  1. Нет свежей идеи? Не проблема, можно взять за основу уже существующее приложение и сделать его со своими фишками и функциями. Именно так появляются новые проекты, которые обходят конкурентов. Найдите минусы в каких-то программах, исправьте их и завоевывайте рынок.
  2. Порой для реализации идеи не хватает стартового капитала. В этом случае стоит поискать инвестора. Многие состоятельные люди желают преумножить свои деньги, предложите им интересную идею и выгодные условия. Можно воспользоваться сервисами типа Planeta.ru для сбора средств через краудфандинг.
  3. Мобильное приложение – это полноценный бизнес, а к его запуску необходимо подготовиться. Необходимо рассчитать расходы, приблизительные доходы, оценить конкуренцию, составить портрет целевой аудитории и т.д. Так вы хотя бы зафиксируете важные моменты для себя.
  4. Не гонитесь сразу за многим, сначала стоит попробовать что-то мелкое и получить опыт. Зачем прыгать на новую социальную сеть, если тебе не под силу запустить даже обычный блог? История крупных проектов часто начиналась с того, что была создана простая программа или игра.

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

Миф четвёртый: Unreal тормознее, чем Unity

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

По каким параметрам можно сравнить производительность движков?

  • Потребление аккумулятора. «Крутая картинка, клёво. А почему телефон греется? Почему поиграл полчаса, и закончилась батарея?» Даже выходят игры, в которых графики особо нет, но при этом сжирают батарею… Будут пользователи играть в такую игру? Вопрос.
  • Потребление оперативки. Это ваш естественный ограничитель. Если у вас в памяти много текстур и объектов, то игра будет падать. Это особенно актуально для iOS-устройств, у которых памяти гораздо меньше, чем у Android-гаджетов. За все годы разработки под Android я не столкнулся ни с одним падением из-за нехватки памяти. На iOS же постоянно приходится выкручиваться и придумывать, как жить в условиях очень ограниченного объёма оперативки.
  • Производительность рендеринга. Вот количество кадров в секунду, которое при определенных условиях выдают движки:

Они близки, но Unreal выигрывает чаще, если речь идёт о большом количестве одинаковых объектов, потому что он очень хорошо умеет их инстансить. Если мы говорим про разные объекты, то разница в 1-2 кадра.

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

Игра на Unity весит гораздо меньше, чем на Unreal

У обоих движков свои особенности. У Unity можно всё отрезать и оставить 2D-графику. Unreal Engine вообще не является 2D-графическим движком. Он рассчитан на 3D-игры с хорошим качеством графики. Да, поддержка 2D имеется, но как дополнительный бонус. Повторюсь: выбирайте инструмент в зависимости от проекта. Размер билда не критичен, если вы делаете 3D-игру. Опять же, разница в 200 Мб не имеет значения: это уже больше 100 допустимых на Google Play, чтобы загружать по 3G.

Длительность итерации

Как долго билдится проект на Unreal? Всё зависит от того, как вы работаете с ассетом. В целом, длительность итерации в несколько раз больше, чем на Unity. Однако в Unreal Engine есть прекрасный режим предпросмотра для мобильных устройств. Чем он хорош? В отличие от многих других решений, в том числе от Unity, он выдает на десктопе идентичную картинку с Android и iOS. С точно такими же настройками, цветами и качеством, как это будет на мобильных устройствах.

Если вы берете топовое мобильное устройство, то картинки будут идентичными. Это огромное преимущество. Можно проходить итерации гораздо быстрее. Вам не надо каждый раз собирать игру на устройстве, чтобы посмотреть, как она будет выглядеть. Играбельность — другой вопрос, это может потребовать времени. Но как она будет выглядеть, работать с графикой — это можно узнать на десктопе за считанные секунды. В выходящей скоро 15 версии добавили превью и для Metal: можно оценить возможности, которых нет в OpenGL 2.0.

Расширяемость и модернизация движка

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

Этапы создания игр

Делаем  простую игру

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

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

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

Делаем карточную игру

Для такого жанра лучше всего использовать программу Unity 3D. Здесь же рассмотрим направления и шаги:

  • Делаем основной фон для карт;
  • Проектируем сами карты, то есть, инвентарь;
  • Задаем взаимодействия;
  • Определяем количество игроков;
  • Переводим меню игры из 3D в 2D;
  • Определяем конец игры.

Создаем РПГ-игру

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

  • Придумываем основную идею будущей Андроид игры;
  • Пишем основной сценарий;
  • Рисуем базовую карту и добавляем объекты;
  • Создаем события.

Как создать онлайн-игру для Андроид

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

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

Преимущества разработки андроид-приложений с онлайн-сборщиком приложений

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

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

Миф первый: Unreal Engine никто не использует

Последние четыре года я занимаюсь мобильными играми. И постоянно сталкиваюсь с мифами о разработке на Unreal 4, циркулирующими в мировом сообществе. Один из таких мифов гласит: «На этом движке очень мало игр, с ним сложно работать. Давайте возьмем Unity, на нём десятки и сотни тысяч различных игр». Когда-то именно так всё и было. Но сегодня это уже не соответствует действительности. Вот наиболее яркие свежие мобильные игры, сделанные на UE4:

  • Heroes of Incredible Tales
  • Legend of Mir
  • Lineage 2: Revolution
  • Deathwatch: Tyranid
  • Midnight Star: Renegade
  • Inifinite Arms
  • Real Boxing 2
  • Relics of Gods
  • Blade 2: The Return of the Evil

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

С чем это связано? Unreal Engine 3 имел очень много ограничений. Во-первых, требовалась полная лицензия, которая стоила определенные деньги. Бесплатный UDK позволял собирать приложения только для iOS. Нельзя было вносить множество изменений, разработчики пользовались только скриптовым языком и никак не могли модифицировать движок.

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

2017-й можно назвать годом больших релизов в мобильном сегменте на Unreal Engine 4. Можете набрать в Google «Unreal Engine mobile», и увидите десятки игр, начиная от инди и заканчивая крупнейшими тайтлами.

Разработка

Теперь у вас есть идея. Здорово, это уже полдела! Но что теперь? Мы предполагаем, что у вас, как и большинства людей, нет никакого опыта в программировании. И это прекрасно! Есть куча вариантов.

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

Хороший список отечественных разработчиков можно посмотреть здесь — ratingruneta.

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

Вот несколько вопросов, которые стоит задать вашему будущему разработчику:

Стоимость их работы?

На кого они работали в прошлом?

Являются ли их приложения успешными?

Буду ли я обладать всеми правами на приложение?

Есть ли у них опыт и знания, чтобы воплотить  вашу идею в жизнь?

Под какие платформы (IOS, Android и т.д.), они могут создавать приложения?

Какие игры проще создавать

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

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

Контент и интерфейс

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

  1. Использовать интуитивно понятные значки (меню настроек – шестеренки).
  2. Применять минималистские объекты, которые не будут отвлекать от игры.
  3. Структурировать информацию.

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

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

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

Выбираем способ разработки

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

  • Онлайн на специальных сайтах. Существует огромное количество ресурсов в сети Интернет, предлагающих создание собственной игры на базе предлагаемых шаблонов. От пользователя может даже не потребоваться регистрация на сайте. Для создания игровой сцены потребуется подобрать персонажей, настроить окружение, добавить объекты для взаимодействия, а также использовать определенный сценарий и установить необходимые дополнительные опции. Для данного метода не потребуется тратить много времени и глубокие познания языков программирования. Однако же в этом случае и не получится создать уникальный компонент, так как в распоряжении исключительно готовые инструменты. 
  • Если вы желаете создавать игры без подключения к Интернет или вам необходимо большее количество шаблонов, то в таком случае оптимальным будет выбор в пользу специализированных программ, принцип действия которых аналогичен онлайн-сервисам, но предоставляется выбор большего количества стандартных компонент. При желании можно расширить функциональность софта за счет установки дополнительных шаблонов или кастомизации графики. 
  • Использование специальных сред разработки подойдет для опытных программистов, которые умеют писать на языках C, Python, Java и других. Этот способ позволяет сделать игру на Андроид практически полностью своими руками с нуля. Для ускорения процесса создания можно вставлять готовые стандартные блоки кода. То есть в средах разработки нет никаких ограничений в полете фантазии, вы сможете создать свою игру в полном соответствии с разработанным сценарием. Затраты времени на разработку будут в несколько раз превышать предыдущие 2 способа, но оно того стоит. 

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

Задумка и обучение

  • Итак, ответ на вопрос является утвердительным. Изначально будущему разработчику следует определиться с операционной системой мобильного телефона, на которую будет рассчитана его игра.
  • На сегодняшний день не существует такой мобильной платформы, которой бы пользователи отдавали наибольшее предпочтение – как это происходит, к примеру, в мире персональных компьютеров, где «пальма первенства» принадлежит Windows.
  • Каждый из производителей готов предложить нечто эксклюзивное, и в итоге рынок заполнен десятками операционных систем. Наиболее популярными можно назвать Windows Phone 7, Android, iOs и Symbian OS.
  • Для начала придётся заняться разработкой игры для конкретной платформы, а уж потом можно попытаться подстроить приложение и под другие системы.
  • Естественно, каждый вдумчивый творческий процесс (особенно если это касается программирования) требует предварительного обучения, которое порой может затянуться на недели, а то месяцы и годы.
  • Очевидно, что уровень профессионализма специалиста прямо пропорционален успеху будущей игры. Поэтому начать придётся с обучения языку программирования.
  • Стоит отметить, что идеальным вариантом станет язык Java. В большинстве случаев новички с трудом постигают его азы, поэтому начать им придётся с основ школьной программы курса информатики.
  • Важнейшим этапом является формирование идеи будущей игры, которая может, в принципе, и предшествовать обучению.
  • Однако по мере освоения Java пользователю будет легче изложить свои намерения в специальном документе, продумать концепцию игры, одновременно обдумывая всё с точки зрения логики и вспоминая важнейшие знания и литературу по программированию.

Что такое конструктор приложений

Если станете разрабатывать приложение на полноценной платформе, то следующим этапом станет продвижение продукта. Это как продвижение сайта (SEO), только теперь продвижение приложения (ASO — App Store optimization). Например, онлайн-сервис ASOMobile помогает с улучшением видимости приложения в магазине, ищет уникальные поисковые запросы, отслеживает позиции конкурентов и др.

Эта статья о втором способе, т.е. о разработке игр с помощью конструкторов. Что это вообще такое и как работает? Самый простой пример – это конструкторы LEGO. У разработчика есть готовые «детальки», т.е. куски кода, выполняющие определённые функции, например, вывод текста на экран, движение персонажа, оповещение игрока о событии и др.

Вы, как разработчик, разрабатываете алгоритм игры, рисуете на бумаге как всё должно быть, прорабатываете логику игрового процесса, — это самая сложная часть работы! Затем просто собираете игру из имеющихся заготовок в одно целое. Соответственно, первый этап с проработкой логики завязан на возможностях и наличии «деталек» в выбранной платформе разработки. Такой способ хорошо поймут те, кто хоть раз делал сайт на конструкторе, это очень похоже.

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

Как подписать приложение в Android Studio

Подпись можно сделать вручную или настроить всё так, чтобы приложение подписывалось в процессе сборки. Вот как сгенерировать новый ключ и keystore файл.

Зайдите в Build и выберите Generate Signed APK:

Выберите тип подписи:

В окне New Key Store заполните форму:

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

Это уже готовый файл для загрузки его в Play Google.

Кроме того, нужно учесть, что иконка вашего приложения должна соответствовать определённым требованиям. Их можно прочитать на сайте, посвящённом Material Design. 

Для публикации приложения после его загрузки обязательно нажмите кнопку «Просмотреть»:

И только после этого можно опубликовать приложение:

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

PhoneGap

  • акселерометром,
  • камерой,
  • компасом,
  • контактами,
  • файловым хранилищем,
  • геолокацией,
  • базой данных,
  • событиями, уведомлениями,
  • медия и др.
  • PhoneGap имеет простое API, что позволит легко начать разработку, для тех кто сталкивался с HTML, CSS и JavaScript.
  • Возможность использования любых существующих JavaScript библиотек (JQuery, Prototype, Sencha Touch)
  • Поддержка всех мобильных платформ
  • Пользовательский интерфейс визуализируется с помощью встроенного браузера. Это создает трудности в получении обратной связи по сравнению с нативным приложением.
  • Часто существующие плагины оказываются устаревшими, поэтому иногда придется писать свои.

С чего все начиналось

Шел третий курс универа

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

Выбор направления

Появилась острая необходимость найти «дело», которое будет приносить удовольствие, не придется отрываться от современного мира на длительный срок и иметь финансовый достаток в перспективе сравнимый с моей по образованию профессией. Конец 4 курса универа и мой выбор пал на IT индустрию, а именно на python разработчика. Уделив 2 недели теории, в частности технической документации языка, я начал развивать логику и выполняя задачки каждый день на протяжении полугода, пока в конце декабря 2018 года не обнаружил геймдев.

А вот и Unity!

Выглядит комично или даже банально, но я повелся на клик-бэйт видео с подобным названием «Как сделать свою первую игру за 15 минут» или «Делаю крутую игру за 5 минут без регистрации и смс». Посмотрев данные материалы, в голове появилась мысль, выделить себе пару дней в своем графике, и утолить свое любопытство, установив данную среду разработки на свой компьютер. Потыкав разные кнопочки, и написав код методом «copy-paste», я пришел в неописуемый восторг! Моя творческая натура внутри меня ликовала. Ведь это было так приятно наблюдать за тем, что ты «сам» написал пару минут назад, сейчас заставляет кубик крутиться, перемещаться или менять цвет. Так уж вышло, что средой разработки установленной на мой компьютер оказалась Unity.

Почему Unity?

Он бесплатный, не такой сложный в освоении, большое сообщество и тонны ресурсов для самообучения, поэтому отлично подходит для начинающих разработчиков. Мобильный рынок заполнен проектами созданные на Unity. Даже такие крупные компании как Blizzard, Riot Games, CD Project RED выпустили всеми известные хиты как Hearthstone, Wild Rift и Gwent, используя эту платформу. Приняв волевое решение, я решил уйти в геймдев на пару с Unity.

Базовые требования к профессионалу

  • Android: знание Android SDK, Java, Kotlin, Scala (в меньшей степени), Rest/SOAP, различные API, SQLite и т.д. 
  • iOS: Objective-C, С#, Swift, знание Apple Development Guidelines
  • знание структур и алгоритмов
  • знание принципов ООП (к которому и относится Java, Objective-C, Swift)
  • понимание принципов дизайна и проектирования мобильных приложений
  • знание сетевых протоколов
  • знание SQL
  • навыки работы с App Store и Google Play
  • навыки работы с многопоточностью (всё чаще)
  • Flutter (бешено растёт популярность)
Стажёр (Intern) Младший (Junior) Средний (Middle) Старший (Senior) Ведущий (Lead)
  1. Разработка под Android
  2. C#
  3. Java
  1. Разработка под Android
  2. Kotlin
  3. Java
  4. Swift
  5. Разработка под iOS
  1. Разработка под Android
  2. Swift
  3. Kotlin
  4. Разработка под iOS
  5. Java
  1. Swift
  2. Kotlin
  3. Разработка под iOS
  4. Разработка под Android
  5. Java
  1. Разработка под Android
  2. Kotlin
  3. Разработка под iOS
  4. Swift
  5. Objective-С

Топ-5 востребованных технологий у специалистов по данным «Хабр Карьеры», 2 полугодие 2019 года

Разработка и тестирование

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

Игру нужно сделать!

Спустя полгода, я подумал все-таки нежно довести игру до ума, если она не будет успешной в нее все равно будет играть мой ребенок (надеюсь), мне будет приятно и этого достаточно.
Первым делом я решил отказаться от дорогостоящего 3D и делать в 2D тем более я познакомился с талантливой девушкой, которая хорошо рисовала, а самое главное, она так же, как и я вдохновилась этой игрой, мы договорились если игра будет успешной 25% прибыли ее.
Но у нее было основная работа получалось рисовать 3-4 персонажа в месяц.

С музыкой все получилось быстро, нашел на фрилансе девушку, сказал что мне нужно, через неделю она прислала результат, мы обсудили что нужно поправить/добавить и все готово. ИДЕАЛЬНО!

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

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

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

На ютьюбе нашел канал, там парень толково обучает анимации на Dragon Bone (это бесплатная программа для создания 2D анимации) недолго думая написал ему, мы договорились 25$ за каждого персонажа, и всю анимацию в игре сделал он на Spine за что ему огромное спасибо.
С программистом было все немного сложнее, так как я не понимал сколько это может стоить, один мне говорит сделаю за 60 000 рублей, второй говорит, что сделает за 7000 рублей. Конечно я выбрал подешевле…

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

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

Нашел парня с Екатеринбурга имеет в gamedevЕ опыт, пообещал все сделать в срок (заключили договор 50% предоплата остальное после релиза игры). Попросил он за работу 20000 рублей, я подумал дорого ну что поделать дешевле только в ущерб качеству.

Единственное увидев работу предыдущего программиста он решил сделать игру с нуля, на цену работы это не повлияло поэтому я был не против.

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

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

Уровень сложности создания Android-игр

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

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

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

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

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

Теперь подводим небольшие итоги. Если вы решили создать свою игру, то для этого требуется:

  • Идея, образное представление, о чем будет игра, знание ее основного сюжета;
  • Минимальное владение языком Java, ведь полностью без программирования (без нужных знаний) не обойтись;
  • Установленная на компьютере программа для создания продукта;
  • Свободное время, внимательность и желание трудиться.

Разное

Вот несколько общих советов по оформлению игр:

Разбивайте элементы на плитки для создания плиточных изображений и экономии места на жестком диске.

Неразбитый и разбитый на плитки элементы

9-частей / 9-квадратов. Масштабируйте объекты с немасштабируемыми границами через центр изображения (растягивайте и сжимайте изображение) для изменения его масштаба и сохранения памяти.

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

  • Сделайте каждую текстуру или объект кратным размеру 4 и силе равной 2 (мера качества изображения) для экономии памяти.
  • Если вы используете Photoshop, используйте «File»> «Export»> «Layers to Files», для того чтобы быстро экспортировать каждый слой в виде файла (например PNG или JPEG).

Методы создания

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

Для рядовых или начинающих разработчиков существует три типа инструментов для создания игры на Андроиде:

  1. Онлайн сервисы позволяют заниматься разработкой прямо в браузере. Предлагают пользователям готовые и рабочие шаблоны для работы с разнообразными игровыми жанрами. Требуют минимального количества навыков в программировании.
  2. Программы обладают более подробным функционалам. Аналогично с онлайн сервисами предлагают набор готовых шаблонов и скриптов. Требуют определенных знаний в программировании, поскольку понадобится писать код для каждого действия.
  3. Среда разработки – сложный инструмент, требующий навыков в программировании. Здесь необходимо знать конкурентный язык программирования, на котором будет писаться игра. Без специальных курсов и знаний написать игры, например, на языке Java невозможно. Для самоучек придуманы специализированные форумы. Наиболее популярный – GeekBrains.