No Image

Игровой движок для андроид

СОДЕРЖАНИЕ
354 просмотров
10 марта 2020

Здравствуй, уважаемое Хабрасообщество!

Возможно вопрос несколько ламерский или может даже холиварный, но я очень хотел бы услышать Ваше мнение. Увлекаюсь разработкой под Android и пришел, наконец, к тому, что хочу попробовать сделать свою простую игру, just for fun. Встал вопрос о выборе игрового движка. Начал знакомство с libgdx, но мне он показался просто продвинутой оберткой над OpenGL. Потом узнал про AndEngine, в котором вроде как даже есть понятие объекта игрового мира.

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

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

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

Выбираем инструмент для создания мобильных игр

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

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

Игры на Android

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

Android – уже сформировавшаяся, но всё еще растущая платформа. При этом она крайне популярна среди разработчиков: платформа крепко обосновалась и широко распространена на рынке. Возможности современных Android-устройств начинают превосходить возможности консольных систем последних поколений. Удивительно то, что любые игры, начиная от самых примитивных и заканчивая сложными, мультиплеерными проектами, имеют равные шансы на успех. За примером далеко ходить не надо – Flappy Bird. Большое разнообразие пользователей по критериям возраста, пола и предпочтений делает Android идеальной платформой для игровых компаний-разработчиков любого калибра.

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

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

Android является, пожалуй, наиболее развитой мобильной игровой платформой, если говорить о доступных инструментах и сервисах. Команда разработчиков Android, Google и такие партнеры как Intel, вложили исполинские усилия в то, чтобы обеспечить успех платформы, предоставляя специальные инструменты, различные API и сервисы для совершенствования Android-проектов. Многие из этих средств созданы целенаправленно для помощи разработчикам игр, к примеру:

  • Разработчики: Барьер для выхода на рынок никогда прежде не был таким низким. Сейчас каждый может создать приложение на Android и опубликовать его. Традиционно приложения пишутся на Java, который популярен как самостоятельный язык программирования и является самым распространенным языком объектно-ориентированного программирования в компьютерных классах большинства мировых университетов.
  • Средства разработки: Средства разработки Android предоставляются на бесплатной основе. Здесь нет затратных компиляторов или лицензионных сборов. Eclipse – хорошо известная среда разработки, уже скоро ожидается выпуск Android Design Studio, стандартные инструменты Android предоставляют весь необходимый функционал и постоянно улучшаются. Члены Open Handset Alliance, к примеру, Intel, выпустили ряд инструментов, чтобы упростить разработку под программную среду x86, а также х86-совместимые Android-устройства.
  • AndroidSDK: Android SDK – полнофункциональный набор интерфейсов программирования, который Java-разработчики сочтут привычным и простым в использовании. Поддержка OpenGLES позволяет разработчикам создавать приложения с интенсивной графикой, в то время как встроенные базовые графические и анимационные библиотеки Android дают возможность простым играм выглядеть притягательно без особого труда.
  • Нативная разработка: Нужно портировать много игровых библиотек? Разработчики, желающие использовать свои существующие игровые библиотеки на C/C++, могут использовать для этой цели Android NDK вместо глобальной переделки.
  • Сторонние игровые движки: Существует множество популярных игровых движков, которые дают возможность быстро создать игру на Android без изобретения колеса. Игровые движки могут помочь с портированием, предоставить фреймворк, поддерживающий распространенные паттерны дизайна игры, а также инструменты для генерации игровых объектов, к примеру, текстур и уровней.
  • Сторонние библиотеки для разработчиков игр: Разработчики могут использовать сторонние библиотеки для выполнения стандартных задач в играх, причем некоторые библиотеки оптимизированы под определенные процессоры. Их использование позволяет сократить время на разработке алгоритмов, а также получить наиболее оптимизированный код, что не всегда удается сделать с помощью компилятора.
  • Игровые сервисы: Google (Google Play Game Services) и Amazon (Amazon Game Circle) разработали комплект сервисов, позволяющих разработчикам сосредоточиться на основном функционале игры и «безболезненно» интегрировать социальные опции.
  • Публикация: У разработчиков существует масса доступных механизмов распространения.
Читайте также:  Как изменить способ оплаты в плей маркете

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

Идеальная платформа для разработчиков игр – Android

Разработчики, средства разработки Intel и Android SDK

Изучению платформы Android посвящено много статей, книг и даже университетских программ, поэтому мы быстро пробежимся по главным темам. Если вы только в начале пути, вам будет полезно посмотреть сайт, посвященный разработке на Android – https://developer.android.com. Здесь вы сможете узнать об Android, скачать AndroidSDK и необходимые инструменты, чтобы приступить непосредственно к разработке.

Вам стоит также направиться в Intel Developer Zone для Android и заполучить средства Intel для Android-разработки, а также инструменты отладки. Инструменты Intel Graphics Performance Analyzers (Intel® GPA) для Android – незаменимы для сбора аналитики для игр с интенсивной графикой. А Hardware Accelerated Execution Manager отлично экономит время: инструмент значительно ускоряет эмуляцию Android на устройства на базе процессоров Intel, вне зависимости от того, какой тип приложения вы разрабатываете.

Android NDK

Если вы потратили уже достаточно времени на разработку вашей игры на другой платформе, у вас есть возможность использовать существующий код в Android-приложении, используя Android NDK. Он поддерживает компоновку вашего приложения (на Java) с существующими библиотеками C и C++. У NDK существует ряд ограничений и его использование часто не лучшим образом сказывается на производительности. Использовать эту методику стоит только в случае, когда объем кода, который необходимо портировать, достаточно велик. Загрузить NDK и узнать больше информации вы можете здесь: https://developer.android.com/tools/sdk/ndk/index.html. Инструкции по установке пакета NDK и построению приложений с его помощью вы найдете в этой статье: https://software.intel.com/ru-ru/articles/ndk-for-ia.

Сторонние игровые движки

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

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

Читайте также:  Состав тонера для лазерного принтера

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

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

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

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

Примеры различных типов игровых движков могут быть вам полезны. Давайте взглянем на libgdx и Project Anarchy, – два принципиально разных игровых движка.

Libgdx – это 2D- и 3D-движок, который помимо Android поддерживает Windows, Linux, Mac OS, BlackBerry, iOS и даже веб. В отличие от многих кроссплатформенных сред, приложения пишутся на Java, что очень удобно. Графика включает API для 2D- и 3D-интефейсов, низкоуровневые вспомогательные инструменты для OpenGL, а также математические или физические библиотеки. Поддерживаются музыкальные и звуковые эффекты, включены различные вспомогательные API – для файлов, предпочтений и разбора формата файлов. Наконец, доступны некоторые инструменты для конфигурации проекта, генерации шрифтов и редактирования системы частиц. Игровой движок libgdx является открытым и хорошо поддерживается сообществом. Проект очень развит: он имеет большое количество документации и обширную галерею приложений и игр, его использующих. Если вам комфортно работать с Eclipse и нет предубеждений против open-source сообщества, libgdx может стать отличным выбором для вашей игры.

Project Anarchy – полнофункциональный игровой движок, разработанный Havok и компанией Intel. У Project Anarchy есть всё: от физических движков до 3D-позиционного аудио, от профилирования кода до моделирования ландшафта. В отличие от libgdx, Project Anarchy лицензирован. В то время как мобильная лицензия Anarchy обеспечивает внушительный функционал на бесплатной основе, полный пакет опций движка Havok требует различных лицензий. Project Anarchy поддерживает разработку для Android ARM и x86 устройств, а также iOS. Windows, десктопные или консольные платформы так же поддерживаются, но для них необходимы другие лицензии. Project Anarchy имеет расширенный пакет инструментов для каждого члена команды разработчиков, включая дизайнеров, графических дизайнеров, аниматоров и других разработчиков. Как более профессиональное решение, Project Anarchy может оказаться совершенно не тем, чего ожидают многие разработчики мобильных приложений. Те, кто работают на Anarchy, используют более традиционные платные инструменты разработки вроде Visual Studio и Perforce. Если команда разработчиков вашей игры хорошо разбирается в традиционных методиках и инструментах, Project Anarchy станет лучшим движком для вашего проекта.

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

Сторонние библиотеки для оптимизации игр

Существует много библиотек для Android в дополнение к тем, что идут в составе Android SDK и предложений Google. К примеру, Intel предлагает целый ряд инструментов и библиотек, которые могут пригодиться разработчикам Android-игр, особенно если производительность устройства является для вашей игры камнем преткновения.

Несмотря на тот факт, что Android-устройства на базе процессоров Intel не могут похвастаться таким большим числом пользователей как ARM-устройства, Intel приложил немало усилий, чтобы предоставить разработчикам высоко оптимизированные библиотеки. Все они адаптированы под конкретные технологии Intel и значительно превосходят компиляторы. Тем не менее, любой разработчик, использующий их как составные части x86 NDK, будет внедрять собственную реализацию на других процессорах или задействовать готовую Java-реализацию.

Читайте также:  Можно ли ставить на микроволновку чайник

Библиотека Intel®Integrated Performance Primitives (Intel® IPP) предоставляет алгоритмы обработки данных и мультимедиа для преобразования изображений, статистики и даже компьютерного зрения. Чтобы узнать об Intel® IPP для Android, посетите страницу http://software.intel.com/en-us/articles/using-intel-ipp-with-android-os.

Современная разработка игр неизбежно требует высокой производительности и возможности параллельного выполнения кода: необходимо сохранить высокий уровень передачи объектов рендеринга, подготовить реалистичную анимацию, воспроизвести искусственный интеллект, создать реалистичный звук и сетевое подключение. Библиотека Intel Threading Building Blocks (Intel® TBB) предоставляет фреймворк для создания многопоточных приложений. Android, в свою очередь, тоже предоставляет подобные инструменты поверх SDK, но приложения невозможно будет портировать на другие платформы. С Intel® TBB у вас не возникнет проблем с портированием, вдобавок вы получите дополнительные оптимизации для устройств Intel. Подробнее об использовании библиотеки TBBдля написания Androidприложений вы можете прочитать в блоге Intelна Хабрахабр: http://habrahabr.ru/company/intel/blog/161527/.

Мобильные и игровые сервисы

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

Такие крупные игроки рынка как Google предоставляют расширенный набор сервисов для помощи Android-разработчикам сразу в нескольких направлениях. Лучшее место для старта – Google Play Game Services, где вы найдете возможности для поддержки социальных аспектов игры, например, таблицы результатов или достижений; инструменты облачного хранения; игровые модели пошаговой стратегии или игры в реальном времени, а также многое другое. Прочие сервисы, такие как Google Play In-App Billing и Google Mobile Ads менее ориентированы конкретно на игры, но, тем не менее, они помогут вам монетизировать игру. Также Google предоставляет сервисы для интеграции игры с социальными медиа, к примеру, Google+. Если необходимы облачные сервисы, попробуйте Google Cloud и Google Cloud Messaging. Для сбора важных данных о работе приложения и пользователях можно использовать Google Analytics. Разработчики, желающие опубликовать свое приложение в Amazon, смогут найти подобные сервисы в Amazon GameCircle.

Возможности публикации

Итак, вы вложили в проект свое время, свои выходные, пот, кровь и слезы. Вы завершили разработку игры, и сейчас вам необходимо найти ваших пользователей. С Android у вас есть несколько путей публикации. Большинство разработчиков публикуют свои игры в Google Play и Amazon Appstore. Оба магазина требуют от разработчика создать аккаунт (за небольшую плату) и затем издатели, Google или Amazon, добавят вашу игру в свой каталог приложений, будут управлять ее распространением и собирать доход. Затем они вычтут процент своего интереса и передадут вам остаток, – все просто! Есть также и альтернативные методы публикации. О них и о многом другом вы можете узнать на http://d.android.com/tools/publishing/publishing_overview.html. Если вы хотите опубликовать приложения для x86 устройств, прочитайте советы Intel по публикации таких приложений: http://software.intel.com/en-us/blogs/2012/11/12/how-to-publish-your-apps-on-google-play-for-x86-based-android-devices-using.

Помните, что конкретный метод распространения игры может быть ограничен выбранными вами игровым движком или библиотеками. К слову, бесплатные и открытые игровые движки c меньшей вероятностью будут ограничивать ваш полет. Тем не менее, как минимум один из упомянутых нами игровых движков требует от разработчиков публикации только в хорошо известных магазинах приложений (Google Play и Amazon Appstore). Более того, условия лицензии некоторых игровых движков могут потребовать процент от вашего дохода, что может повлиять на ценообразование вашего продукта, внутриигровых покупок и других приемов монетизации. Удостоверьтесь, что вы прочитали все условия, прежде чем выбирать игровой движок для своей игры.

Заключение

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

Обязательно заходите на сайт программы Intel® Developer Zone, чтобы получить больше информации об инструментах Intel для разработки Android приложений.

Комментировать
354 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector