Java — Создание собственной игры на ios и android

Содержание

Лучшие программы для создания игр на IOS, Android, PC

Игровая индустрия за последние несколько лет сильно изменилась. Раньше по-настоящему большие проекты выходили раз-два в год, если не меньше, в наше время ситуация совсем другая. На официальном сайте Steam была опубликована новость, в которой приводилась подробная статистика: за этот год было выпущено 38% всех игр площадки (более 4200, из них около 80% — Indie.). Кто-то скажет, что из-за количества страдает качество, но на самом деле это не всегда оказывается правдой. В данной статье мы описали несколько программ для создания игр, с помощью которых вы сможете разрабатывать свои проекты на различные платформы: PC, IOS, Android, PS4, Xbox One.

Unity3D

Unity Technologies — уникальная компания. Она создала движок Unity3D — один из самых популярных инструментов для создания игр во всей игровой индустрии. Игровой движок Unity несомненно является доминирующим глобальным поставщиком программного обеспечения для разработки игр. Больше всего игр сделано именно на этом движке. Так, за 2015 год было создано 220 тысяч видео игр, а установки превысили 4,2 миллиарда раз. Все больше геймеров играют в игры, сделанные на Unity, и все больше разработчиков полагаются на их инструменты и сервисы для управления своим бизнесом. Мы уже писали о Unity 5 на нашем сайте, сравнивая его с другими игровыми движками: Девгам. Сейчас мы вкратце расскажем о нём.

Игровой движок Unity 5 предлагает широкий спектр функций и довольно простой для понятия интерфейс. Это кросс-платформенный движок, который с легкостью портирует игры на Android, IOS, Windows Phone 10, BlackBerry, делая его замечательным инструментом для создания мобильных игр. Он также имеет возможность создания видеоигр для консолей нового поколения: PS4 PRO, Xbox One S.

Unity поддерживает 3D форматы различных программ: 3ds Max, Maya, Blender, CINEMA 4D, Softimage и так далее. Новый Unity3D поддерживает гибкую настройку Спрайтов (Sprites) и 2D физики, что делает его отличным игровым движком для создания 2D и 2.5D игр. Именно поэтому многие компании, нацеленные на создание мобильных проектов, выбирают Unity, потому что быстрая разработка, минимальные вложения, портирование на все возможные платформы — это то, что по-настоящему нужно небольшим компаниям.

Помимо того, этот игровой движок работает в связке со многими 3D программами, он также содержит полезные функции для редактирования внутри движка. Unity не имеет реальных инструментов для моделирования, есть только возможность масштабировать и накладывать текстуры на 3D модели, поэтому все, что касается анимирования, моделирования, создания материалов, будет создаваться в постороннем 3D софте. Однако Unity3D может похвастаться большой библиотекой ассетов, где большая часть может быть скачана бесплатно, а остальная часть может быть приобретена за небольшую цену (цена определяется автором ассета).

Unity 5 имеет несколько тарифных планов. Если раньше их было все 2: бесплатная версия и платная за $75/месяц, то сейчас их куда больше. Personal версия — бесплатная сборка для тех, кто только знакомится с этим игровым движков. Доход в данном случае не должен повышать $100.000 долларов за квартал. Вам будут доступны все функции, вы сможете начать работать сразу, как только зарегистрируетесь и установите его.
Версия Plus — сборка, подходящая для продвинутых художников. Одной из главной особенности этой сборки является замена скина UI редактора, замена начального экрана и ряд других возможностей, недоступных для пользователей с бесплатной версией.
PRO версия — для мастеров своего дела. С Unity Pro у вас есть возможность посмотреть исходный код, получить премиум поддержку, ассеты можно купить на Asset Store со скидкой 40%, что очень неплохо.
И последняя версия — Enterprise. Данную сборку нельзя купить обычным способом, вам будет необходимо связываться с Unity Technologies для получения самой профессиональной сборки для 20+ сотрудников.

Unity часто ассоциируется с мобильными играми, но с выходом Unity 5 и новым рендером наблюдается огромный рост графических возможностей игрового движка, включая такие вещи, как Physically Based Shading, Global Illumination в реальном времени и HDR Reflection Probes, а также многие другие улучшения.

Unity 5 предлагает некоторые функции, которые делают его сильным соперником среди игровых движков Unreal Engine 4 и CryEngine 3. Скачать можно с официального сайта Unity.com.

Unreal Engine

Unreal Engine — игровой движок, разработанный компанией Epic Games. Она известна по ряду игр: FPS шутер «Unreal«, блокбастер «Gears of War«, «Infinity Blade» на IOS. С этим инструментом можно создать игры на Windows, Mac, Xbox One S, PS 4K, IOS, Linux, Android, Ouya, VR и для HTML5 Web браузеры.

Если Unity знают по Indie играм (Crossy Road, Superhot, I am Bread и так далее), то Unreal Engine, наоборот, выпускает огромные проекты, будь то Smite, Paragon, Day by Daylight. Эта программа имеет полный набор инструментов для создания своей собственной игры, начиная с мобильной 2D, заканчивая консольным VR блокбастером. Он использует встроенный визуальный скриптинг — Blueprint, который сильно упрощает процесс создания игры.

В Unreal Engine 4 любому пользователю будет доступен исходный код, с которым можно настроить программу под себя, использовать необходимые плагины и написать свои. Присоединившись к Epic Games вы сможете посмотреть 3 миллиона строк кода, доступных на GitHub. Скачать с официального сайта: ссылка.

Kobold2D

Ready-To-Go решение для разработки игр на IPhone. Открытый код, ARC включен, для IOS и Mac OS. Kobold2D — это расширенная и улучшенная версия знаменитой программы для создания игр — Cocos2D для IPhone. Все, что вы знали о Cocos2D, может быть применено в новом движке. Новая версия более удобна в использовании, более мощный и гибкий вариант, чем Cocos2D, вся документация доступна в интернете и в автономном режиме. Используйте эту программу для создания игр под Iphone, Ipod Touch, Ipad и Mac Os X для Apple App Store.

Kobold2D использует популярный cocos2D-iphone игровой движок, добавляет часто используемый код, интегрирует популярные библиотеки и хочет, чтобы вы были более продуктивными и получали удовольствие от обучения и разрабатывания IOS и Mac OS X игр. Kobold2D предоставляет обширную документацию и множество примеров кода для быстрого старта.

ZGame Editor

Создавайте игры размером всего 64KB или меньше, используя процедурный контент. Программа использует OpenGL для графики и Real-Time синтезатор для аудио. ZGameEditor — это бесплатная Open Source программа. Для более подробного изучения посетите веб-сайт с документацией.

ZGameEditor — инструмент для создания несложных аркадных игр. Особенности: Встроенное окружение для разработки, где вы можете работать и тестировать свою игру, Cross-Platform: Редактор только для Windows, но также можно запускать на Linux, Mac OS X и Android, 3D ассеты и геймлпей компоненты, импортируйте свои текстуры, MIDI файлы для музыки и 3DS файлы для 3D ассетов. Игры, созданные на ZGE, можно распространять бесплатно (Royalty Free). Исходный код можно посмотреть здесь (Pascal): источник.

GameGuru

С GameGuru вы можете создавать ваши собственные миры, используя бесплатные, простые и увлекательные инструменты. Разнообразьте свою вселенную, добавляя персонажей, оружие, патроны и другие объекты, после чего, нажав всего одну клавишу, ваша игра пройдет билд и будет готова к использованию. Хотите поделиться вашим творением с другими? С GameGuru вы сможете создать мультиплеер за несколько минут, включая хостинг, делитесь вашей игрой онлайн через Stream Multiplayer.

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

Игровой мир: большие игровые локации, Terrain Editor, встроенная система растительности, готовые примеры для старта, растительность генерируется в том месте, где вы считаете нужным.

Рендер: игровой движок поддерживает технологию Level of Detail (LOD), чтобы обеспечить плавную картинку и высокую частоту кадров. Каскадный мэппинг теней, динамические тени в реальном времени. Возможность запекания теней, добавления дополнительных реалистичных теней, поддержка Ambient Occlusion, Sky maps и Occlusion Culling System.

Геймплей: экшен FPS, быстрая, классическая FPS механика, Third Person Shooter механика, стратегия в реальном времени, Фэнтези-анимации, готовый мультиплеер (Просто создайте или присоединитесь к созданной игре в GameGuru, используя Steam Multiplayer и Steam Workshop.)

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

GameMaker: Studio

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

Импортируйте изображения, анимации, аудио и шрифты через Studio’s Resource Tree. Разработав игру, вы сможете портировать её сразу на несколько платформ, используя кросс-платформенные решения от GameMaker.

Недавно YoYo Games анонсировали вторую часть программы для создания игр — GameMaker Studio 2. Движок был полностью переделан, поменялся интерфейс, кодовая база и был добавлен ряд новых функций. Из нового: Room Editor, Brush Based Editing, Drag/Drop, Animation Support, удобные Tile Brushes и многое другое. Прочитайте полный список здесь: Девгам.

Редакция Devgam

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

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

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

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

Что необходимо знать

Итак, что же нужно, чтобы стать автором уникального шедевра:

  1. Идея или сценарий.
  2. Желание и терпение.
  3. Конструктор игр.

И если с первыми двумя составляющими успеха более-менее всё понятно, то на третьей составляющей нужно остановиться подробнее.

Что такое Конструктор игр

Речь идёт о программе, существенно упрощающей разработку игр, делая её доступной для людей, не обладающих навыками программирования. В конструкторе игр объединены интегрированная среда разработки, игровой движок и редактор уровней, который работает как визуальный редактор (WYSIWYG – англ. аббревиатура «что видишь, то и получишь»).

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

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

Как выбрать нужный конструктор

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

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

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

Топ 5 лучших конструкторов игр

Construct 2

Это приложение неизменно занимает первые строчки в рейтингах конструкторов игр. С помощью Construct 2 можно создавать двухмерные игры практически любых жанров для различных платформ, в том числе и для Андроид, а также анимационные игры, ориентированные на браузеры, поддерживающие HTML5.

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

Для освоения работы с Construct 2 нет необходимости покупать лицензию, в бесплатной Free-версии предложен вполне достаточный инструментарий и возможность экспорта готового проекта на некоторые платформы. Однако, кодирование готового продукта на мобильные платформы и доступ к полному объёму функционала даст за 129 долларов Personal-лицензия. Если же ваше мастерство в создании игр достигло апогея, и вы уже стали получать доход от своего проекта более 5 тыс.долл., придётся раскошелиться на Business-вариант, который обойдётся в 429 долл.

А теперь, посмотрите несколько практических видеоуроков по созданию игровых приложений с помощью Construct 2:

Clickteam Fusion

Clickteam Fusion – ещё один образчик отличного полноценного игрового конструктора, помогающего даже новичку создать полноценную игру. Программа предоставляет возможность экспортировать созданные приложения совершенно бесплатно в формат HTML5, а это значит, что будет возможность публиковать браузерные игры и кроме того, конвертировать их для публикации в различных мобильных маркетах, например, Google play.

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

Платная Developer-версия программы недоступна для жителей РФ, но её лицензионный диск можно будет заказать с того же Amazon, облегчив личный бюджет в среднем на 100 долларов. Возможна русификация меню через сторонний русификатор.

Как работать с приложением, смотрим специальный видео курс:

Stencyl

Stencyl – ещё один отличный инструмент, позволяющий осуществлять разработку простых компьютерных 2D-игр без специальных знаний кодов, а также языков программирования для всех популярных платформ. Здесь предстоит работа со сценариями и схемами, которые представлены в виде блоков, а перетаскивать объекты или характеристики можно мышкой, что очень удобно.

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

Наличие отличного графического редактора Scene Designer даёт возможность пользователю применить свою фантазию для рисования игровых миров.

Оптимальный набор функций поможет создать качественные игры разных жанров, но наиболее тайловая (плиточная) графика Stencyl будет актуальна для «стрелялок» или «бродилок».

Программа распространяется на бесплатной основе, но экспорт в десктопные форматы требует подписки, которая будет стоить 99$ на год, а лицензия для мобильных игр — 199 долл. В год.

Смотрим ускоренный курс по работе со Stencyl:

Game Maker

Программа существует в платной и бесплатной версии. Бюджетный вариант позволяет создавать добротные двухмерные игры под десктоп. В то время, как платная версия даёт возможность написать довольно «навороченные» 3D-игрушки для Виндовс, iOS и Андроид. Нас же пока интересует бесплатная возможность научиться реализовывать себя в игровой индустрии, а Game Maker – тот самый вариант, который позволит создавать игры с собственным сценарием без ограничений в выборе жанра.

Программа предлагает выбор готовых шаблонов локаций, объектов, а также, персонажей, звуков и фонов. Так что, вся творческая работа сводится к перетаскиванию в рабочую зону выбранные элементы и выбору условий – местонахождение и взаимодействие с другими объектами. Хоть знание языка программирования и не понадобится, но пользователи, которые «в теме» смогут использовать GML, чем-то схожим с JS и C++.

Game Maker распространяется на английском языке, поэтому тем, кто не владеет им в достаточной мере, понадобится скачать файл русификатора.

Кого заинтересовала эта программа, предлагаем посмотреть обучающее видео:

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

Unity 3D

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

Игры, созданные с помощью Unity совместимы со всеми востребованными платформами от мобильных устройств на iOS или Android до SMART TV телевизионных приёмников.

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

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

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

Серия занятий по созданию игр с помощью Unity 3D:

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

Цукерберг рекомендует:  Angularjs - Ошибка в консоли

Как сделать приложение для Andro >

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

Язык программирования для мобильной разработки на Android очень простой — это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.

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

    проект в Andro >А пока мы описываем азы, студенты курса «Профессия Мобильный разработчик» уже получают деньги за свои приложения.

Пишет про разработку в Skillbox. Работал главным редактором сайта «Хабрахабр», ведет корпоративные блоги.

Необходимые инструменты

Первым делом установите программу Android Studio. Это официальная среда разработки (IDE) для Android, она работает на Windows, macOS и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.

Если на компьютере не установлены Andro > Android Studio автоматически скачает их. Android SDK — это среда программирования, в которую входят библиотеки, исполняемые файлы, скрипты, документация и т.д.

Andro > .apk. Он содержит всё необходимое для установки приложения на Android-устройство.

Полезно установить и эмулятор Andro >Android Studio.

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

Из чего состоит приложение
на Andro >Android-приложение состоит из четырёх компонентов. Каждый компонент — это точка входа, через которую система или пользователь может получить доступ.

  1. Активность (activity) — элементы интерактивного пользовательского интерфейса.
    Одна активность задействует другую и передаёт информацию о том, что намерен делать пользователь, через класс Intent (намерения). Активности подобны веб-страницам, а намерения — ссылкам между ними. Запуск приложения — это активность Main.
  2. Сервис (service) — универсальная точка входа для поддержания работы приложения в фоновом режиме.
    Этот компонент выполняет длительные операции или работу для удалённых процессов без визуального интерфейса.
  3. Широковещательный приемник (broadcast receiver) транслирует нескольким участникам намерения из приложения.

Поставщик содержимого(content prov >Теперь попробуем сделать своё приложение для Android.

Создаём Android-приложение
в Andro >Шаг 1

Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.

Шаг 2

Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).

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

Шаг 3

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

Шаг 4

После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.

Если выбрать в выпадающем меню вид Andro >app > java > ru.skillbox.skillboxapp > FullscreenActivity. При создании проекта мы указали вместо активности Main полноэкранную активность.

Далее можно посмотреть файл app > res > layout > activity_fullscreen.xml. Это XML-файл с макетом для UI нашей основной активности.

Наконец, третий важный файл app > manifests > AndroidManifest.xml описывает фундаментальные характеристики приложения и определяет все его компоненты.

Содержимое манифеста

Запускаем на реальном устройстве

Созданное нами приложение — это одна активность, которая запускается в полноэкранном режиме и не имеет графических элементов.

Запускаем на Android-устройстве или в эмуляторе.

Смартфон или планшет для этого подключаем в режиме USB-отладки, которая активируется в Настройках разработчика в меню Настройки.

Для запуска в эмуляторе нажимаем в Andro >Run в меню Run (Shift+F10). Выбираем подходящее устройство и версию ОС, портретную или ландшафтную (альбомную) ориентацию.

Создаём простой пользовательский интерфейс

Пользовательский интерфейс Andro >макетов (layouts, объекты ViewGroup) и виджетов (объекты View). Макеты управляют расположением дочерних виджетов на экране. Сами виджеты — это непосредственно компоненты UI: кнопки, текстовые поля на экране и т.п.

Интерфейс активностей создаётся в Android Studio в редакторе макетов (Layout Editor) и хранится по большей части в XML-файлах.

  1. Открываем файл app > res > layout > activity_fullscreen.xml.
  2. Добавляем на экран из палитры (Palette) виджеты перетаскиванием мышью.
  3. Например, берём текстовое поле (PlainText). Это виджет EditText, куда пользователь может вводить текст.
  4. Добавляем кнопки и другие нужные элементы.

Добавляем действия, активности и навигацию

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

  1. Заходим в код app > java > FullscreenActivity.
  2. Добавляем метод SendMessage() в класс FullscreenActivity, чтобы при нажатии на кнопку вызывался этот метод.
  3. Создаём намерения (класс Intent) для перехода от одной активности к другой, новые активности, навигацию и всё остальное, что необходимо для приложения.

И, конечно, начинаем мечтать, как монетизировать приложение.

Общие правила
для Andro >Android-приложение живёт в собственной «песочнице», которая подчиняется правилам безопасности Linux:

  1. Каждое приложение — это отдельный пользователь в многопользовательской системе Linux.
  2. По умолчанию система назначает каждому приложению уникальный user >Из правил есть исключения:
  1. Возможно организовать для двух приложений общий user ID, так что они могут делиться файлами друг с другом.
  2. Приложение может запрашивать разрешение на доступ к контактам пользователя, SMS, содержимому накопителя, информации с камеры и другим данным.

Заключение

Детально все этапы разработки приложения объясняются на курсе «Профессия Мобильный разработчик». Участники 12-месячной программы учатся создавать приложения под Android и iOS. Кроме того, они получают полноценное портфолио разработчика и могут устроиться на работу в качестве junior-программиста.

Разработка игр для Andro >

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

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

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

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

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

Разработка игр под Andro >

Недавно появилось стойкое желание научиться создавать игры для смартфонов (для начала под Android). Из навыков в программировании — только JavaScript (написал в свое время несколько «двухколесных» плагинов и несложную программку-игру, по сложности сопоставимое с крестиками-ноликами).

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

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

Насчет игры, пока есть одна конкретная идея — простенькая 2D-аркада, по механике отдаленно напоминающая Doodle Jump. Так вот, подскажите, какой путь мне все-таки выбрать? Если учить Java, то по каким лучше материалам? Возможно, есть сразу что-то типа Java под Android, где рассматривалось бы все с самых основ языка? Или же стоит остановиться на каком-то конкретном движке (интересуют только бесплатные) и учить соответствующий ему язык? Статьи, ресурсы или книги также приветствуются.

Dev Story Коррупции.Нет. Опыт создания первой игры для iOS

Это мой второй опыт создания приложения. О первом я подробно рассказывал в статье об AskMe – там речь шла о привлечении инвестиций, подбора разработчиков и пр. К сожалению первый блин вышел комом.

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

Обучение

В общем решение было принято и в январе 2020 года я начал работу. По специальности я прикладной информатик, но по факту кроме самых базовых навыков работы с Pascal, из университета я ничего так и не вынес, а дело было лет пять-шесть назад. У меня, так же был небольшой опыт работы с HTML и CSS, при создании простеньких сайтов который впрочем не сильно помогал в деле создания приложений. Поэтому я начал с самых азов. С древнего и почти начисто забытого Pascal. Скачал редактор «Free Pascal» http://freepascal.ru/ нашел учебник, начал с простеньких программок по сложению и вычитанию. В общей сложности ушло порядка двух недель занятий, по два – три часа в день, чтобы освежить память.

Далее план предполагал углубленное изучение Pascal, затем Cи и в конечном итоге Objective-C.

Углубленное изучение Pascal предполагало больше практики, для чего я нашел задачник Абрамяна по Pascal с 1000 задач (PDF).

Так как начать писать приложения хотелось, как можно скорей, я не дожидаясь окончания первого этапа обучения, параллельно с решением задач на Pascal, начал изучать Cи, по книги «Язык программирования Си» — Брайана Кернигана и Денниса Ритчи (PDF). Здесь отдельно скажу, что несмотря на то, что эта книга есть и на Русском языке, я изучал его на языке оригинала, так как в целом не плохо знаю английский, и это на мой взгляд достаточно важно для любого человека занимающегося программированием. Обучающих материалов и просто материалов по тому или иному языку программирования на английском, как правило, значительно больше чем на Русском. Работа с AppStore, загрузка приложения, условия использования и прочее, все это тоже в основном на английском. Так что можно сказать что английский на уровне чтения технической литературы это обязательный навык для программиста.

Для программирования на Cи у меня был Mac еще с первого проекта. Задачки для Cи я решал в Xcode. Для того чтобы лучше усвоить разницу в синтаксисе Pascal и Cи я начал решать задачки из того же задачника Абрамяна, но уже на Cи. После двух недель ежедневных 4-5 часовых занятий я смог решить порядка 300 задач на Pascal и вдвое меньше на Cи а так же пройти порядка 100 страниц книги по Си. В это же время решил подключить к процессу обучения англоязычный сервис – Tree House.

Это обучающий сервис который сильно помог мне в освоении HTML и CSS. Подписка стоит от 25 $ в месяц. Но как по мне, это оправдано. На сервисе представлены обучающие материалы по самым разным языкам программирования включая Java, C#, Python, Swift и многие другие. Обучение происходит поэтапно, от видео к видео, с различными вставками практических заданий.

Все видео очень наглядны, интересны, постоянно обновляются и подробно разжевывают все ключевые моменты будь то сама суть Объектно-Ориентированного программирования или принципы работы в Xcode. Я естественно выбрал обучающие материалы по Cи и по созданию приложений IOS с Objective-C.

Таким образом мое обучение напоминало попытку продвигаться сразу по все фронтам одновременно. Я практиковался в решении задач на Pascal, чтобы как можно прочнее, как мне казалось, заложить основы программирования, изучал Cи, для того чтобы лучше понимать Objective-C и наконец изучал Objective-C, чтобы как можно скорей начать писать под IOS.

Так прошел еще один месяц каждодневных занятий в среднем по 4-5 часов в день. С одной стороны возможно логичней было бы двигаться поэтапно, скажем, вначале разобраться с Pascal, затем с Cи и далее приступить к Objective-C, но по факту, именно попытка охватить все, позволила в конечном итоге сэкономить кучу времени, так как я все больше стал уделять внимание не решению задач на Pascal и Cи а непосредственно созданию приложений из программы обучения Tree House. Это было куда интересней и по сути показывало, что задачи из задачника Абрамяна а так же материалы из Книги Кернигана и Ритчи по Си – хороши для понимания основ, но в целом довольно далеки от реального процесса создания приложений. В итоге к концу третьего месяца моего обучения я совсем перестал практиковать Pascal и Cи. Вместо этого я сосредоточился на практических материалах Tree House по Objeсtive-C и созданию приложений в Xcode.

Создание игры. Идея

После создания нескольких простеньких приложений из обучающей программы я решил, что наконец готов заняться чем-то более интересным. Открыв свой список идей, который я периодически пополняю когда на ум приходит что-то потенциально интересное, я остановил свой взгляд на идеи создания игры по теме «Борьбы с Коррупцией». Смысл идеи в том, что в качестве врагов выступают коррупционеры, их нужно нейтрализовать и тогда игровой мир становится лучше. Тут же и подтекст вроде того, что коррупция это плохо и что чем ее меньше тем лучше окружение. Учитывая, что тема актуальная для России, а приложений с подобной идеей мне найти не удалось я остановился на ней и стал думать, как лучше реализовать.

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

После того как концепция была утверждена и бегло описана, надо было понять, как создаются игры. Погуглив видео я сразу наткнулся на то, в котором рассказывали, как создать игру на подобие Flappy Bird (Youtube).Тут возник важный вопрос. Не секрет что Apple в 2014 году выпустил новый язык программирования – Swift, который впитал в себя много хорошего от Objective-C и стал его логическим продолжением.

Видео на которое я наткнулся рассказывало о создании Flappy Bird именно на Swift, а найти такое же простое и понятное для Objective-C я не смог. Не долго думая я решил, что все равно будущее за Swift и лучше я не буду отставать, тем более что на том же Tree House были отличные материалы по его изучению. В итоге я взял паузу чтобы изучить Swift, понять синтаксис и основные отличия от Objective-C. Прошла еще неделя занятий в среднем по 8 часов в день. Я бегло прошелся по основным обучающим материалам для Swift, и решил, что наконец готов осилить видео по созданию Flappy Bird. За пару дней я смог создать вот это:

Получив общее представление о работе с движком Sprite Kit, я наконец смог перейти к работе над своим приложением.

Концепция

Вначале я запланировал сделать лишь самое простое – 3-х уровневый прокручивающийся фон, анимированного героя, оружие, возможность прыжков и возможность стрельбы. Это было необходимо так как кроме самых общих представлений о работе со Sprite Kit у меня не было никакого опыта, надо было начинать с чего-то совсем простого. Как фиксировать нажатия и осуществлять прыжки героя, как прокручивать фон, как создавать пули в момент выстрела и тд. Этих вопросов было десятки а то и сотни. И способ решения для каждого, всегда был один и тот же – Google. Благо в интернете есть большое количество различных материалов (к сожалению в основном на английском языке) по созданию игр на Swift, где приводятся примеры решения тех или иных возникавших у меня вопросов. Так же огромную и неоценимую помощь оказывает сервис вопросов/ответов Stack Overflow.

Я думаю, что процентов 70% всех возникших у меня вопросов я смог разрешить с его помощью. К документации Apple я так же обращался но довольно редко. Может быть в 10% случаев максимум, и то когда других вариантов не было.

После очередной напряженной недели, во время которой я отдавал программированию почти все свое время – по 8-10 часов в день я смог сотворить вот это:

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

Прототип

Этот набросок позволил мне многое понять в механики моей будущей игры и убедившись в верности концепции, я решил следующим этапом добавить врагов умеющих стрелять а так же нормальный дизайн. Изначально я планировал заказать весь дизайн (фон, анимации героя и врагов, предметы и тд.) у фрилансера, так как это единственное, что я не мог сделать сам. Но потом я вспомнил про сайт Envato Market: http://market.envato.com/, на котором ранее приобретал музыку, шаблоны для сайтов, презентации и пр.

Помимо перечисленного на сайте существует большой выбор всевозможных анимаций, текстур, звуков и прочих вещей чрезвычайно необходимых при создании приложений. Цены, на мой взгляд, так же весьма приемлемы. Например подобранный мной набор анимаций главного героя, помимо бонусов в виде различных объектов (монетки, алмазы и прочее), включает в себя 8 анимаций таких как – стреляет, бежит, прыгает, умирает и прочее.

Такой набор я приобрел за 7$. Единственный момент заключается в том, что на приобретенные у них товары действуют разные лицензии. Одни например, разрешают использовать продукт только в одном изделие для неограниченного бесплатного распространения, другие разрешают его перепродажу третьим лицам у которых цель – такое же неограниченное бесплатное распространение, третьи, как для музыки например, разрешают распространение только ограниченному количеству слушателей и тд. Стоимость этих лицензий разная и зачастую может отличаться в 4-5 раз.

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

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

Это результат моей работы в фотошоп созданный из пары десятков различных объектов – забор, асфальт, ямы, кучи мусора и тд. В целом на его создание ушло несколько дней. В дальнейшем я заглядывал на Envato раз 10, каждый раз докупая что-то необходимое.

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

У меня был готовый уровень с 5-ю видами оружия, аптечками, объектами, врагами и много чем еще. Далее я решил провести тестирование среди знакомых и мозговой штурм чтобы понять, чего не хватает. Исправлений и добавлений набралось порядком. Столько, что по моим прикидкам я бы работал над игрой еще полгода точно. Пару дней я все осмысливал и в конечном счете набросал список того, что действительно необходимо, а все остальное вычеркнул и решил воспользоваться методом из космической отрасли о котором слышал как-то. Суть в том что с определенного момента, перед запуском, в ракету запрещалось вносить какие-либо изменения и улучшения. Иначе так можно улучшать вечно.

Доработка игры

Далее встал вопрос с дизайном врагов. Всего их у меня 6 видов – 5 простых врагов и босс + честный гражданин. Все эти спрайты я планировал заказать чтоб их отрисовали, так как хотелось, чтоб персонажи были более жизненными. Я пошел на Freelance.Ru и разместил объявление на создание 5 персонажей, с 18-ю анимаций (по 8- 25 кадров) для каждого. Анимаций было много, потому что кроме стандартных бежит, стреляет, арестован, стоит и тд, были еще анимации смерти от каждого вида оружия, в замедленном или не замедленном режиме. Самая дешевая стоимость, от внушающего доверие фрилансера, которую мне назвали была в районе 40 тысяч рублей и 1 месяца работы. Мне это показалось дороговатым и я опять таки обратился к Envato. К счастью на сайт как раз загрузили коллекцию различных спрайтов от одного и того же дизайнера.

Спрайты из его коллекции вместе с набором анимаций стоят в среднем 15$. Самое главное, что в архиве со спрайтом идут файлы для программы Spriter.

Открыв Спрайт в этой программе и немного в ней разобравшись (очень проста в освоении), можно самому делать абсолютно любые анимации для своих персонажей с разной раскадровкой. В общем я подумал и купил всех персонажей на Envato, после чего своими силами обработал, добавил необходимые анимации и загрузил в приложение. Работа с текстурами надо сказать чрезвычайно утомительна и монотонна. Мне было необходимо выгрузить созданную анимацию из программы Spriter, затем обработать в фотошоп (развернуть, выставить размеры), далее сжать, переименовать, сделать картинки 1x, 2х, 3х. На обработку всех анимаций у меня ушло наверное с месяц, не меньше. Целый месяц монотонной и однообразной работы, благо я смог подключить к этой работе помощника. Но зато я разобрался во всем процессе, сделал себе такие анимации которые хотел переделывая их столько раз, сколько было нужно.

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

Во первых несмотря на то, что я сжал свои png текстуры с помощь этого онлайн сервиса: http://compresspng.com/ru/, это не привело к тому, что во время работы приложения они стали занимать меньше оперативки. Самое время для меня было узнать, что размер картинки не равен размеру требующейся для нее оперативной памяти.

Во вторых я открыл чудесный мир утечек памяти, инструментов Xcode для их отслеживания и все «прелести» «strong reference cycle». После того как я прогнал свою игру через инструменты то обнаружил порядка 3-х с половиной тысяч утечек.

В третьих я понял, что стандартное, для моей игры, разрешение текстуры для персонажа в 180×180 по сути дела избыточно велико и я вполне могу переделать все анимации на разрешение 117×117 без какого-либо ухудшения качества. Интересно что на момент создания анимаций я переживал, что не оставил исходников в разрешении 360×360. Так как размер картинки 2х у меня был 180х180 соответственно картинка 3х в моем понимании должна была быть 360х360, но по незнанию я их не сделал, и как оказалось слава Богу, так как в конечном итоге они не понадобились.

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

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

Загрузка на App Store

Далее загрузка на App Store. Здесь, благодаря предыдущем опыту, никаких вопросов не было. За день я сделал скриншоты, простенькое описание, первую пришедшею в голову иконку (кстати как только у вас будет готовая иконка, ее лучше прогнать через этот сервис: https://makeappicon.com/, вы загружаете туда вашу иконку и он выдает вам ее обратно во всех необходимых размерах и разрешениях), и ключевые слова (их я подбирал с помощью сервиса https://sensortower.com/, сайт способен выдать вам тонны полезной информации о вашем либо о любом другом приложении, правда подписка стоит не дешево).

И вот приложение доступно в AppStore. Ура, Ура, но не совсем.

Ошибки, жуткие тормоза, пропавшие картинки, вылеты и пр. Вот что ждало меня при тестировании на разных Iphone-ах с разными версиями IOS. Тут же выяснилось, что несмотря на то что игра нормально работает на IOS 9, на 10-ки она работает с жуткими тормозами, и то и дело все время пропадает звук. Я был в «восторге» от такого подарка который несла в себе 10-ка, но деваться было некуда и я продолжил поиск и устранение ошибок. Мне в очередной раз пришлось полностью переделать систему размещения всех текстур в приложении, полностью переделать систему воспроизведения всех звуков и исправить немало дополнительных косяков. Особо теплые впечатления оставило необходимое, при работе с обновленным XCode, конвертирование кода со Swift 2.0 на Swift 2.3. Короче говоря я в очередной раз потратил больше месяца на доработку всего и только 13-го декабря, я смог загрузить более-менее рабочую версию. Хотя понятно, что это не последнее обновление.

Подводя итог можно сказать что у меня ушло порядка 3-х месяцев на то чтобы почти с нуля, ознакомиться с Pascal и Cи, поверхностно освоить Objective-C и Swift после чего начать писать свое собственное приложение-игру. На разработку самой игры ушло 6 месяцев довольно плотной работы и затрачено 320 $, в основном на дизайн и аудио, так как все остальное необходимое для разработки – Mac book, Apple developer License и пр, у меня уже было.

Игру можно скачать и посмотреть в App Store бесплатно.

Как создавать приложения для iOS и Andro >

Путь к программным разработкам непрост, но если интересует, как создать приложение для iOS и android, то с чего-то начинать нужно. Но, допустим, нет желания изучать языки программирования, а хочется сразу перейти к созданию готового продукта. Возможно ли такое? Да, ещё как! Вот мы и рассмотрим, как создать приложение для iOS полному новичку (или на Android).

Поиск материала

Выбираем направление

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

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

Обработка событий: главное

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

Различные действия

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

Выходим на более сложный уровень

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

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

Работа над искусственным интеллектом

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

Используем сеть

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

Вот мы и рассмотрели, как создавать приложения для iOS с нуля. Как видите, для этого нужно много учиться и практиковаться. А можно ли обойтись без этого? Как ни странно, такое вполне реально. Давайте про это и поговорим.

Разработка без изучения программирования

В качестве примеров приведем следующие сервисы: AppsGeyser, TheAppBuilder, Appsmakerstore, Biznessapps, My-apps.com, iBuildApp, Viziapps, AppMakr, Mobile Roadie и AppsBuilder. Каждый из них обладает своими уникальными особенностями и функциями.

Также необходимо понимать, что практически все они являются платными. А бесплатные версии не обладают широким функционалом. Если же рассматривать их общую схему, то можно сказать, что они отображают рассмотренную нами ранее идею редакторов уровней. Но в данном случае они являются охватывающими очень широкие рамки. Здесь, отвечая на вопрос о том, как создать приложение для iOS без навыков программирования, нужно ещё и озаботиться тем, что за такую роскошь придётся заплатить, причем немаленькую сумму. Подобные серверы являются зарубежными или ориентированными в первую очередь на заграничных пользователей. Так, цена их услуг будет колебаться от 10 долларов до нескольких сотен за один месяц использования. То есть время – деньги. В данном случае необходимо будет позаботиться о том, чтобы представленные возможности использовались по максимуму.

Функционал сервисов

  1. Нацеленные на работу с контентом. Такие сервисы помогают собрать информацию с сайта и объединить её в одно приложение. В качестве примера можно привести AppsGeyser. Причем в данном случае можно не только собрать информацию, но и размещать рекламу в приложениях.
  2. Условно-бесплатные сервисы, которые с использованием шаблонов и конструкторов позволяют создавать приложения для спорта, образования, музыки и так далее. Правда, в них будет присутствовать реклама, которую можно отключить за определённую сумму. В случае с TheAppBuilder это обойдётся в 5 долларов США.
  3. Платные сервисы-конструкторы, которые позволяют создавать приложения бизнес-направления. В качестве их функционала предоставляется корзина для товаров, геолокация, размещение информации об имеющихся товарах и услугах, ближайших событиях и акциях и так далее. В качестве примера можно привести упомянутый ранее сервис Biznessapps, но цены на нём кусаются, ведь они начинаются от 29 долларов США.
  4. Создание приложений бесплатное, деньги требуются тогда, когда оно публикуется в магазине (например, в «Гугл Плей Маркете»). В качестве примера можно привести BuildFire. Правда, его особенность в том, что платить здесь нужно только раз в месяц. Сумма в этом случае составляет 49 долларов США.

Как видите, есть два варианта создания приложений для iOS и для «Андроид». Какой из них в конечном счете выбрать, решает пользователь.

7 лучших языков программирования для создания приложений на Andro >

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

А ещё все новые Хромбуки отныне и навсегда обзавелись поддержкой Android-приложений: их можно скачивать, устанавливать и запускать, как в родной среде. Рынок Android-программ лишь растёт. Не следует думать, что время ушло – ещё совсем не поздно начать. Всё, что нужно для старта: приготовиться, сделать глубокий вдох, подобрать подходящий язык программирования – и начать свое путешествие.

Но какой язык программирования будет лучшим именно для вас? Выбор подходящего инструмента разработки – первая задача, с которой никто не справится лучше вас. Многое зависит от опыта в программировании (либо от отсутствия опыта в конкретных средах разработки), от личного комфорта при использовании того или иного языка. К счастью, выбор приличный. В данной статье рассмотрена подборка лучших языков программирования для Android.

Когда дело касается приложений для Android, язык Java никак не может стать неверным выбором. Помимо того, что это официальный язык программирования данной ОС, он ещё и второй по распространённости на ресурсе GitHub, и столь популярен он уже более 20 лет. Это значит, что инструкций и учебников по Java существует великое множество, да и беспокоиться об устаревании этого языка в ближайшем будущем совершенно не следует.

Так как язык Java широко распространился по десяткам отраслей программирования, мы рекомендуем начать его изучение с книг, посвящённых Java в контексте экосистемы Android. Разумеется, Java один и тот же во всех средах, но отдельные парадигмы и выражения помогут пытливому уму быстрее вникнуть в суть разработки Android-приложений. Именно такую задачу и ставят перед собой большинство книг на эту тему.

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

Kotlin

Язык программирования Kotlin был создан специально для работы на виртуальных машинах Java. Это означает, что приложения Kotlin компилируются в код Java, что позволяет им запускаться на любых машинах с поддержкой Java-среды. А так как поддержкой Java обладает большинство машин, то использование Kotlin – сравнительно простой способ разработки кросс-платформенного ПО.

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

Обратная сторона медали? Kotlin – очень молодой язык. Его первые версии были выпущены в 2011 году, а официальный релиз состоялся лишь в 2020. Есть и хорошие новости: Kotlin – бесплатный и с открытым исходным кодом. Стоит ожидать, что он будет развиваться семимильными шагами. Но в любом случае должно пройти несколько лет, прежде чем этот язык зарекомендует себя по-настоящему надёжным выбором.

C# — невероятный язык программирования! Он взял от Java всё самое лучшее, оставив за бортом худшие особенности этого языка. И развивался он в том же правильном русле. Похоже, что в Microsoft некогда разглядели потенциал Java и решили разработать собственную, лучшую версию.

Долгое время серьёзным недостатком использования C# было то, что он работал лишь в системах Windows: этот язык основывается на .NET Framework. Но в 2014 году это обстоятельство изменилось: Microsoft открыла исходные коды .NET Framework. Более того, в 2020 году корпорация приобрела компанию Xamarin – разработчика Mono (проект, позволяющий программам C# работать на различных платформах).

Итогом этих славных дел стало то, что сегодня можно использовать среды Xamarin.Android и Xamarin.iOS для создания мобильных приложений в Visual Studio или Xamarin Studio. Отличный способ для начала разработки, ведь в дальнейшем можно будет использовать средства этого языка в других областях – скажем, создание сложных игр при помощи Unity и C#. Наглядные примеры приложений, созданных в Xamarin? MarketWatch – ни больше, ни меньше.

Наконец, отметим, что ещё недавно за работу в Xamarin требовалась плата. Но Microsoft сделала эту среду бесплатной!

Python

Хотя Android не обладает нативной поддержкой Python, существуют инструменты, позволяющие писать приложения на Python, а затем конвертировать их в «родные» для Android приложения APK. Великолепный пример жизнеспособности Python в качестве действительно эффективного языка. Почитатели языка Python, желающие попробовать себя в разработке Android-приложений, обязательно оценят эту возможность – не вникая при этом в дебри Java.

Среди наиболее популярных решений для конвертации кода Python в APK – проект Kivy. И дело даже не в его природе open source, и не только в поддержке Windows, Mac, Linux и iOS вдобавок к Android. Kivy спроектирован таким образом, чтобы действительно ускоряет разработку приложений. Во всяком случае, можно использовать его в качестве инструмента для прототипирования. Сколько всего можно сделать при помощи лишь нескольких строк кода!

Впрочем, в отсутствии у Python нативной поддержки, не получится воспользоваться и преимуществами родной для Android среды. Приложения, написанные с Kivy, как правило, компилируются в более объёмные APK, медленный старт и, в целом, производительность ниже среднего. Однако каждый вновь выпущенный релиз по-настоящему лучше предыдущего, а мобильные устройства сегодняшнего дня настолько мощны, что неоптимальная производительность приложений значит не столь уж много. Пусть этот фактор не будет препятствием.

Пара примеров приложений на Android, написанных в Kivy: Kognitivo и Barly.

HTML5 + CSS + JavaScript

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

Для создания Android-приложений этим способом можно использовать возможности Adobe Cordova – это фреймворк с открытым исходным кодом, который также поддерживает операционные системы iOS, Windows 10 Mobile, Blackberry, Firefox, и многие другие. Однако, какой бы полезной ни была Cordova, для создания в ней сколь-нибудь приличного приложения требуется серьёзная работа. Поэтому многие программисты отдают предпочтение проекту Ionic Framework (который использует «Кордову» для развертывания на различных платформах).

Примеры приложений для Android, написанные на HTML5, JavaScript и CSS: Untappd и TripCase.

Есть и другая возможность: использование библиотеки React Native. Её можно развернуть на Android, iOS и платформе «Универсальных приложений Windows». Эту библиотеку используют специалисты Facebook, Instagram и других крупных компаний, поэтому можно положиться на её надёжность. Обучение не самое простое, но когда оно подойдёт к финалу, в ваших руках будет вся мощь, гибкость и удобство, которые только можно пожелать.

Lua – старый скриптовый язык, который изначально создавался в качестве дополнения для программ, написанных на более сложных языках: C, VB.NET и т.д. В этом языке есть некоторые особенности, которые выделяют Lua из ряда подобных ему – к примеру, начало массивов с 1 вместо 0, или отсутствие нативных классов.

Таким образом, для определённых задач Lua можно использовать в качестве основного языка программирования. Лучший тому пример – SDK Corona. При помощи Corona можно создавать мощные, богатые по функциональности приложения с возможностью развёртывания на Windows, Mac, Android, iOS, и даже Apple TV + Android TV. В Corona также встроены возможности для монетизации, плюс – это приличный по объёмам рынок, где можно отыскать полезные в работе плагины.

Чаще всего Corona используют для создания игр (среди примеров – Fun Run 2 и HoPiko), однако есть и образцы утилит, а также бизнес-приложений (My Days и Quebec Tourism).

Для создания приложений Android, Google официально предоставляет две среды разработки:

  • SDK (использует Java);
  • и NDK (использует нативные языки, наподобие C и C++).

Отметим, что для создания приложения целиком, использовать C, C++ и «голый» Java не получится. Вместо этого NDK позволяет создавать библиотеки, к функциям которых могут обращаться части Java-кода из приложения.

Как правило, нет необходимости использовать NDK. Эту среду не стоит использовать в качестве основной хотя бы потому, что придётся больше заниматься кодингом на C/C++, а не на Java. Существование NDK оправдано в тех задачах, когда требуется выжать как можно больше производительности при выполнении сложных вычислительных задач. Также NDK позволяет внедрять в приложение библиотеки C и C++.

Но в других случаях стоит придерживаться Java везде, где возможно. Разработка Android-приложений на C/C++ в разы сложнее, чем на Java. И чаще всего выигрыш в производительности слишком незначителен.

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

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

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

Создание игр под Andro > 07.06.2020

Создание игр и приложений | Разработка под Android & iOS

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

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

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

  • Unreal Engine 4,
  • Unity 3D,
  • Marmalade,
  • Project Anarchy (Havok/Intel),
  • GameMaker: Studio,
  • Corona Game Edition,
  • Cocos2Dx,
  • AppGameKit.

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

Создание сложных игр занимает много времени и сил. Нужно настроить все игровые элементы, оптимизировать игру под различные экраны, если говорить о мобильных платформах. Однако в последнее время видна тенденция, когда масштабные проекты не набирают популярности. Важно, что тут говорится именно про Android & iOS, на ПК все ожидают ААА-проектов.

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

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

Создание игр под Android & iOS – стоит ли оно того?

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

Android самая популярная операционная система для смартфонов. Каждый день создаются игры и приложения под эту ОС, а разработчиков все не хватает. Если посмотреть статистику заработной платы, то можно увидеть, что работодатели в вакансиях предлагают от 40 тысяч, а разработчикам игр под iOS от 1500USD.

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

Игровой движок Unity 3D даёт возможность создать игры без больших усилий, однако несмотря на существование игровых конструкторов, знание языка программирования обязательно. Да, ИИ развивается и игровые конструкторы дают возможность создания игровых сцен без написания кода, однако не было выпущено ещё ни одной игры, которая была бы создана исключительно с помощью них и без программного кода.Мы рассматривали визуальное программирование, вы можете почитать, если интересно.

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

Лучшие программы для создания игр на IOS, Android, PC

Игровая индустрия за последние несколько лет сильно изменилась. Раньше по-настоящему большие проекты выходили раз-два в год, если не меньше, в наше время ситуация совсем другая. На официальном сайте Steam была опубликована новость, в которой приводилась подробная статистика: за этот год было выпущено 38% всех игр площадки (более 4200, из них около 80% — Indie.). Кто-то скажет, что из-за количества страдает качество, но на самом деле это не всегда оказывается правдой. В данной статье мы описали несколько программ для создания игр, с помощью которых вы сможете разрабатывать свои проекты на различные платформы: PC, IOS, Android, PS4, Xbox One.

Unity3D

Unity Technologies — уникальная компания. Она создала движок Unity3D — один из самых популярных инструментов для создания игр во всей игровой индустрии. Игровой движок Unity несомненно является доминирующим глобальным поставщиком программного обеспечения для разработки игр. Больше всего игр сделано именно на этом движке. Так, за 2015 год было создано 220 тысяч видео игр, а установки превысили 4,2 миллиарда раз. Все больше геймеров играют в игры, сделанные на Unity, и все больше разработчиков полагаются на их инструменты и сервисы для управления своим бизнесом. Мы уже писали о Unity 5 на нашем сайте, сравнивая его с другими игровыми движками: Девгам. Сейчас мы вкратце расскажем о нём.

Игровой движок Unity 5 предлагает широкий спектр функций и довольно простой для понятия интерфейс. Это кросс-платформенный движок, который с легкостью портирует игры на Android, IOS, Windows Phone 10, BlackBerry, делая его замечательным инструментом для создания мобильных игр. Он также имеет возможность создания видеоигр для консолей нового поколения: PS4 PRO, Xbox One S.

Unity поддерживает 3D форматы различных программ: 3ds Max, Maya, Blender, CINEMA 4D, Softimage и так далее. Новый Unity3D поддерживает гибкую настройку Спрайтов (Sprites) и 2D физики, что делает его отличным игровым движком для создания 2D и 2.5D игр. Именно поэтому многие компании, нацеленные на создание мобильных проектов, выбирают Unity, потому что быстрая разработка, минимальные вложения, портирование на все возможные платформы — это то, что по-настоящему нужно небольшим компаниям.

Помимо того, этот игровой движок работает в связке со многими 3D программами, он также содержит полезные функции для редактирования внутри движка. Unity не имеет реальных инструментов для моделирования, есть только возможность масштабировать и накладывать текстуры на 3D модели, поэтому все, что касается анимирования, моделирования, создания материалов, будет создаваться в постороннем 3D софте. Однако Unity3D может похвастаться большой библиотекой ассетов, где большая часть может быть скачана бесплатно, а остальная часть может быть приобретена за небольшую цену (цена определяется автором ассета).

Unity 5 имеет несколько тарифных планов. Если раньше их было все 2: бесплатная версия и платная за $75/месяц, то сейчас их куда больше. Personal версия — бесплатная сборка для тех, кто только знакомится с этим игровым движков. Доход в данном случае не должен повышать $100.000 долларов за квартал. Вам будут доступны все функции, вы сможете начать работать сразу, как только зарегистрируетесь и установите его.
Версия Plus — сборка, подходящая для продвинутых художников. Одной из главной особенности этой сборки является замена скина UI редактора, замена начального экрана и ряд других возможностей, недоступных для пользователей с бесплатной версией.
PRO версия — для мастеров своего дела. С Unity Pro у вас есть возможность посмотреть исходный код, получить премиум поддержку, ассеты можно купить на Asset Store со скидкой 40%, что очень неплохо.
И последняя версия — Enterprise. Данную сборку нельзя купить обычным способом, вам будет необходимо связываться с Unity Technologies для получения самой профессиональной сборки для 20+ сотрудников.

Unity часто ассоциируется с мобильными играми, но с выходом Unity 5 и новым рендером наблюдается огромный рост графических возможностей игрового движка, включая такие вещи, как Physically Based Shading, Global Illumination в реальном времени и HDR Reflection Probes, а также многие другие улучшения.

Unity 5 предлагает некоторые функции, которые делают его сильным соперником среди игровых движков Unreal Engine 4 и CryEngine 3. Скачать можно с официального сайта Unity.com.

Unreal Engine

Unreal Engine — игровой движок, разработанный компанией Epic Games. Она известна по ряду игр: FPS шутер «Unreal«, блокбастер «Gears of War«, «Infinity Blade» на IOS. С этим инструментом можно создать игры на Windows, Mac, Xbox One S, PS 4K, IOS, Linux, Android, Ouya, VR и для HTML5 Web браузеры.

Если Unity знают по Indie играм (Crossy Road, Superhot, I am Bread и так далее), то Unreal Engine, наоборот, выпускает огромные проекты, будь то Smite, Paragon, Day by Daylight. Эта программа имеет полный набор инструментов для создания своей собственной игры, начиная с мобильной 2D, заканчивая консольным VR блокбастером. Он использует встроенный визуальный скриптинг — Blueprint, который сильно упрощает процесс создания игры.

В Unreal Engine 4 любому пользователю будет доступен исходный код, с которым можно настроить программу под себя, использовать необходимые плагины и написать свои. Присоединившись к Epic Games вы сможете посмотреть 3 миллиона строк кода, доступных на GitHub. Скачать с официального сайта: ссылка.

Kobold2D

Ready-To-Go решение для разработки игр на IPhone. Открытый код, ARC включен, для IOS и Mac OS. Kobold2D — это расширенная и улучшенная версия знаменитой программы для создания игр — Cocos2D для IPhone. Все, что вы знали о Cocos2D, может быть применено в новом движке. Новая версия более удобна в использовании, более мощный и гибкий вариант, чем Cocos2D, вся документация доступна в интернете и в автономном режиме. Используйте эту программу для создания игр под Iphone, Ipod Touch, Ipad и Mac Os X для Apple App Store.

Kobold2D использует популярный cocos2D-iphone игровой движок, добавляет часто используемый код, интегрирует популярные библиотеки и хочет, чтобы вы были более продуктивными и получали удовольствие от обучения и разрабатывания IOS и Mac OS X игр. Kobold2D предоставляет обширную документацию и множество примеров кода для быстрого старта.

ZGame Editor

Создавайте игры размером всего 64KB или меньше, используя процедурный контент. Программа использует OpenGL для графики и Real-Time синтезатор для аудио. ZGameEditor — это бесплатная Open Source программа. Для более подробного изучения посетите веб-сайт с документацией.

ZGameEditor — инструмент для создания несложных аркадных игр. Особенности: Встроенное окружение для разработки, где вы можете работать и тестировать свою игру, Cross-Platform: Редактор только для Windows, но также можно запускать на Linux, Mac OS X и Android, 3D ассеты и геймлпей компоненты, импортируйте свои текстуры, MIDI файлы для музыки и 3DS файлы для 3D ассетов. Игры, созданные на ZGE, можно распространять бесплатно (Royalty Free). Исходный код можно посмотреть здесь (Pascal): источник.

GameGuru

С GameGuru вы можете создавать ваши собственные миры, используя бесплатные, простые и увлекательные инструменты. Разнообразьте свою вселенную, добавляя персонажей, оружие, патроны и другие объекты, после чего, нажав всего одну клавишу, ваша игра пройдет билд и будет готова к использованию. Хотите поделиться вашим творением с другими? С GameGuru вы сможете создать мультиплеер за несколько минут, включая хостинг, делитесь вашей игрой онлайн через Stream Multiplayer.

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

Игровой мир: большие игровые локации, Terrain Editor, встроенная система растительности, готовые примеры для старта, растительность генерируется в том месте, где вы считаете нужным.

Рендер: игровой движок поддерживает технологию Level of Detail (LOD), чтобы обеспечить плавную картинку и высокую частоту кадров. Каскадный мэппинг теней, динамические тени в реальном времени. Возможность запекания теней, добавления дополнительных реалистичных теней, поддержка Ambient Occlusion, Sky maps и Occlusion Culling System.

Геймплей: экшен FPS, быстрая, классическая FPS механика, Third Person Shooter механика, стратегия в реальном времени, Фэнтези-анимации, готовый мультиплеер (Просто создайте или присоединитесь к созданной игре в GameGuru, используя Steam Multiplayer и Steam Workshop.)

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

GameMaker: Studio

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

Импортируйте изображения, анимации, аудио и шрифты через Studio’s Resource Tree. Разработав игру, вы сможете портировать её сразу на несколько платформ, используя кросс-платформенные решения от GameMaker.

Недавно YoYo Games анонсировали вторую часть программы для создания игр — GameMaker Studio 2. Движок был полностью переделан, поменялся интерфейс, кодовая база и был добавлен ряд новых функций. Из нового: Room Editor, Brush Based Editing, Drag/Drop, Animation Support, удобные Tile Brushes и многое другое. Прочитайте полный список здесь: Девгам.

Редакция Devgam

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

Цукерберг рекомендует:  8 советов для создания успешного приложения
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих