...

Основы разработки игр для мобильных устройств

Основы разработки игр для мобильных устройств

IDE от Apple используется для написания iOS-приложений. Xcode – это среда разработки с удобным графическим интерфейсом, заточенная под языки программирования Objective-C и Swift. Она включает отладчик, систему контроля версий и управлением устройствами, iPhone Simulator, инструменты профилирования, Interface Builder и многое другое.

Минимальные системные требования для Xcode:

  • Mac с macOS 11 и выше.
  • ОЗУ от 4 ГБ.
  • Не менее 8 ГБ свободного места на диске.
  • Mac, MacBook, iMac или Mac mini 2013-2015 или новее.

Xcode выпускается только для macOS, а значит вам понадобится Mac. Xcode не работает на iPad. Доступно несколько сторонних альтернатив для Windows, но они далеки от идеала. Добро пожаловать в инфраструктуру Apple, которая никогда не славилась открытостью.

Политика Apple в отношении загрузки приложений в App Store

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

Разработчики часто ругают Apple за отсутствие гибкости. Бесконечные списки требований создают им проблемы, зато пользователи получают более качественные и более безопасные приложения. Не абсолютно безопасные (единичные случаи попадания вредоносного кода в AppStore известны) конечно, но в магазине Apple нет такого количества зловредов как в Google Play. Самое главное – аудитория AppStore гораздо охотнее расстается с деньгами, поэтому приложение для iOS намного проще монетизировать.

Помимо требований к техническим деталям есть набор рекомендаций по внешнему виду. Конечно, соответствие приложений одному стандарту не всегда означает хороший дизайн, но тут ничего не попишешь. Чтобы научиться грамотно проектировать интерфейс, посетите страницу Apple Human Interface Guidelines . Чтобы немного упростить это массивное руководство, из него выделили базовый набор правил (что можно, а что нельзя).

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

Потребление памяти

Одна из проблем в iOS-разработке – медленная загрузка программы и потеря производительности. Чтобы сэкономить ресурс, избегайте чрезмерного использования функции загрузки png-файлов в GLSprite Demo, а при рисовании обрезайте спрайты более точно и плотно. Ограничивайте себя и не раздувайте приложение. Помните о том, что пользователи не любят долго ждать.

Удобные игровые платформы и инструменты для создания мобильных игр

🍏 Разработка мобильных игр для iOS: с чего начать, что изучать и какие инструменты использовать

Помимо двух наиболее популярных движков ( Unity и Unreal engine 4 ) существует ряд неплохих платформ для разработки игр для iOS:

  • GameMaker – это набор средств для создания непрерывной игры с интерфейсом перетаскивания и экспортом различных инструментов. Система имеет собственный встроенный скриптовый язык, похожий на JavaScript и позволяющий вам экспортировать игру прямо на платформу iOS.
  • Используя Stencyl , вы можете создавать 2D-игры без каких-либо навыков программирования. Это игровой движок, позволяющий разрабатывать приложения для iOS, Windows, Linux или OS X, просто передвигая блоки с кодом.
  • LiveCode – мощная платформа для создания собственных игр и приложений. С помощью различных виджетов, расширений и библиотек вы можете ускорить процесс разработки. Это хороший вариант для обучения начинающих программистов.
  • Cocos 2D . Бесплатная программа для разработки игр. Построение логики реализуется за счет перемещаемых спрайтов. Обеспечивает реалистичную физику двухмерным объектам.
  • Kobold 2D – это улучшенная версия Cocos2D для IPhone. Она более удобна в использовании и имеет мощную функциональность.
  • PhoneGap – это бесплатная платформа для разработки приложений, использующая стандартные веб-API для всех типов мобильных операционок, в том числе для iOS.
  • Marmalade SDK– н абор инструментов, библиотек, шаблонов и документов, необходимых для разработки приложений для мобильных ОС.
  • AppCelerator– основанная на Eclipse легкая IDE с возможностью создавать приложения с нативным интерфейсом.

Как создать игру? Несколько советов начинающим

Чтобы начать создавать iOS-игры, необходимо учесть несколько моментов:

  • План. Продумайте все до мелочей – сюжет, физику, логику, реализацию объектов и магические плюшки, зафиксировав последовательность своих будущих действий в неком документе.
  • Графика. Весь графический интерфейс игры легко реализуется при помощи специальных движков и библиотек, рассмотренных в предыдущем пункте. Если вы хотите создать уникальный дизайн, вот несколько полезных инструментов с готовыми решениями: Assembly, Canva, Lighto, Font Candy, PicLab.
  • Звуки, музыка, диалоги. Все звуковое сопровождение можно создать самому, но проще воспользоваться готовыми наработками из популярных библиотек: PXL APPS, Sound Kit for Prototypes, octave и др.
  • Динамика. Чтобы оживить персонажей, без написания кода не обойтись. Однако описанные выше nocode-платформы с сервисом перетаскивания блоков также вполне подойдут.
  • Тестирование. Можно погонять уже готовое приложение самостоятельно, но без свежего беспристрастного взгляда будет сложно создать что-то стоящее. Тестирующих компаний немало – testflight, firebase, AWS Device Farm и пр. Выбор зависит от вас.
  • Релиз. После тестирования не пожалейте времени и устраните все мелкие баги. Поверьте, куда приятнее получать позитивные отзывы от пользователей приложения.

Полезные ссылки на обучающие материалы

🍏 Разработка мобильных игр для iOS: с чего начать, что изучать и какие инструменты использовать

  • Официальное руководство Apple для начинающих разработчиков. Здесь вы узнаете про настройку Xcode, структурирование приложения, его реализацию и отправку в App Store.
  • Swift . Основы программирования под iOS.
  • Видеоролики Apple по разработке . Отличный ресурс для изучения приемов и знакомства с базовым набором инструментов.
  • Возможности API . Обзор различных API для доступа к расширениям приложений, Touch ID, фотографиям, HealthKit и многому другому. Информация об интеграции продвинутых функций в приложение.
  • Документация по фреймворку UIKit от Apple. Информация будет полезна и новичкам и профессионалам.
  • Список iOS-приложений с открытым исходным кодом, размещенный на GitHub.
  • Статья Apple об оптимизации работы приложений.
  • Книга об устройстве iOS и macOS , автор – Джонатан Левин. Все самое необходимое для работы с операционными системами от Apple.

Для полноценной iOS-разработки потребуется macOS, но приобретение Mac новичку не всегда по карману. Даже на Mac mini последних конфигураций цены у Apple начинают кусаться. В этой ситуации можно воспользоваться ресурсом hackintosh.com или установить виртуальную машину. Дело тут даже не в железе, а в желании. Главное – не терять уверенности в себе и четко поставив цель, продвигаться к перспективной высокооплачиваемой профессии. Дорогу осилит идущий. Удачи!

Дополнительные материалы:

  • Карьерный гид от новичка до профи: дорожная карта iOS-разработчика
  • Где изучать iOS-разработку в 2021 году: каналы, блоги, комьюнити и курсы
  • 5 навыков, необходимых iOS-разработчику

Разработка мобильных игр на Unity в современных реалиях. URP, 2D Animation и все-все все на примере игры

Всем привет! Это снова Илья и сегодня мы поговорим о технической реализации мобильной игры в современных реалиях. Статья не претендует на уникальность, однако в ней вы можете найти для себя что-то полезное. А чтобы рассмотреть разработку на реальном проекте – мы возьмем реализацию нашей игры, которая на днях выходит в Soft-Launch.

9209 просмотров

Надеюсь, вам было полезно.

Готов ответить на все вопросы. 🙂

Показать ещё
26 комментариев
Написать комментарий.
Аккаунт удален
Развернуть ветку

Ну кода тут кот наплакал. Скорее просто как пример

Развернуть ветку
Аккаунт удален
Развернуть ветку

Подробнее скорее на хабр надо 🤣

Развернуть ветку
Аккаунт удален
Развернуть ветку

Нихера не понятно , но очень интересно.

Развернуть ветку

Дублирование кода детектед)

Развернуть ветку

Рефактор мне в бухту 🤣

Развернуть ветку

Главное не чистота, а рабочий результат)

Развернуть ветку

DOTween – хорошая штука, но его “документация” – это пример того, как писать хэлпы нельзя. Там просто описание синтаксиса, без внятных ответов на вопросы “хочу X, когда Y” или “зачем для Z три разных механизма реализации”.

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

Развернуть ветку

Документация это тема для отдельного разбора. Хороший разработчик не всегда может хорошо написать доку 🤣

Развернуть ветку

Отличная статья все по делу и ничего лишнего.

Развернуть ветку

Спасибо за статью!

У вас перепутаны скриншоты с настройками Project Settings для Low и Quality.

Развернуть ветку

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

Развернуть ветку

У него более гибкая настройка и от него можно отнаследоваться для реализации своего пайплайна рендера.

Развернуть ветку

Вот у меня и вопрос, что можно сделать им такое чего нельзя сделать простым рендером и при этом что бы мобила выдавала больше 2,5фпс?

Развернуть ветку

Сравнительная таблица возможностей есть в Unity доках. А вообще, это просто более гибкий подход, где ты можешь вырубать на рендере то, что не нужно допустим на low-end девайсах и включать на hiend. Ну и универсальность конечно же.

Развернуть ветку

Классно! Я в не-игровых программах на Unity почти также делаю 🙂 Только такую систему с блоками не реализовывал (но думал о подобном), т.к. у меня блоки работают не последовательно, а параллельно. )

Развернуть ветку

Хм, про параллельные блоки я не думал, ибо для реализации геймплея это было бы не нужным.

Развернуть ветку

Галка V sync для мобильных вроде как ни на что не влияет. Мобильные автоматически испольщуют vsync безальтернативно и частота экрана кратна 60/30/15 кадрам.

Развернуть ветку

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

Развернуть ветку

Про Salsa интересно поподробнее узнать. Там вроде чисто от от громкости звука разные blendshap-ы лица дёргаются (что уже выглядит неплохо), но мб вы как-то кастомно допиливали?

Развернуть ветку
Use the SALSA LipSync Suite tool from Crazy Minnow Studio, LLC on your next project. Find this…
assetstore.unity.com
Развернуть ветку

А сколько человек над этим работало, и сколько времени?

Развернуть ветку

Над контентом много людей. Особенно над озвучкой. По коду я один.

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

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

50 791 просмотров

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

Показать ещё
102 комментария
Написать комментарий.

Все таки не надо путать «без программирования» и «без написания кода».

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

У меня есть несколько знакомых, которые хотели с наскоку сделать игру в Construct или Game Maker’e, но очень быстро обломились, потому что думали, что там «не надо программировать». Оказалось программировать все таки надо, а вот код писать нет.

Пишу просто чтобы не вводить новичков в заблуждение. За то что поделились опытом – респект.

Развернуть ветку

Более того, писать код проще и быстрее, чем соединять лоигческие бооки в интерфейсе движка )

Развернуть ветку
13 комментариев

автор – ты молодец! добавь картинок людей в игру с диалогами типа тутора и пр.
а на иконку игры – даму с бюстом от 3го размера – установки попрут. )

Развернуть ветку

Орущую во весь рот даму с бюстом от 3го размера*

Развернуть ветку
1 комментарий

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

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

Развернуть ветку

Достаточно зайти на форум gamedev.ru для ознакомления. Сейчас оно, конечно, по счастью отмирает, но раньше было довольно много ада с хейтом, когда кто-то показывал свою поделку с чем-нибудь “изкоробочным”. По типу: “Да у тебя даже шейдеры дефолтные, значит это не игра и ты её не делал”.

Развернуть ветку
1 комментарий

Респект и окупаемости инди-разработчикам!
4.5 звезды игру это отличнейший результат.

Вы, кстати, посчитали, при каком количестве скачиваний и среднем времени в игре на скачивание наступит та самая условная окупаемость?

Развернуть ветку

Когда будет что рассказать буду рад поделиться опытом и напишу отдельную статью на эту тему.

Развернуть ветку
Аккаунт удален
Развернуть ветку

Спасибо за советы!

Развернуть ветку
1 комментарий

Что по деньгам то?

Развернуть ветку

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

Развернуть ветку
6 комментариев

Сотня инсталлов, 18 оценок, все с 8 февраля. Каких то доходов серьезных не будет и на сотне тысяч инсталлов.

Развернуть ветку

Ситуация которая сейчас сложилась в мобильных играх это следствие большой большой конкуренции(проблема видимости продукта), темпа реальной жизни (сессионность, ускорение таймеров), необходимости жесткой монетизации (отсюда f2p) и людской психологии( стремление быть лучше чем другие за счёт доната).
Желаю удачи автору, боюсь правда его ждёт разочарование. Уж очень мал шанс того что игра сможет получить достаточно траффика в конкуренции с 200ым клоном того же Game of War.

Развернуть ветку
Аккаунт удален
Развернуть ветку

На скрине java игры: Revival, Первобытные войны и HTBG. Современных аналогов, к сожалению, на Андроид нет..

Развернуть ветку
14 комментариев

Попробуй серии Advance Wars и Fire Emblem, они выходили на GBA. Чтобы сейчас в них поиграть, достаточно установить на телефон эмулятор (в плеймаркете их есть) и скачать rom-файлы этих игр с любого сайта в выдаче гугла =)

Развернуть ветку
1 комментарий

На iOS игра не планируется?

Развернуть ветку

На ближайшее будущее не планируется..

Развернуть ветку
1 комментарий

Автор молоток!
Где этот финансовый чувак, который хочет в геймдев?

Развернуть ветку

Люблю такие истории. Рад, что тебе довелось довести дело до конца)

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

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

Развернуть ветку

Да, пожалуй, мультиплеер – это единственное исключение. Средства движка хоть и позволяют сделать онлайн в игре, но защита против взлома получается слабая. Хотя, не исключаю, что я ещё не до конца во всём разобрался. Знание кода, конечно, огромный плюс. Если у человека это знание есть, то жизнь становится гораздо легче)

Развернуть ветку

Интересно было прочитать пост, спасибо. Автоматический апвоут за игру на C2 🙂 Сам на нём же сижу (пилю второй проект). А так, я бы сказал, что услуги художника вам, возможно, всё же не помешают (ну или в библиотеках платных/бесплатных ассетов покопаться). Сейчас графика выглядит неплохо, но немного скучновато чтоли (на мой вкус). Самый удобный вариант был бы нанять художника и попросить его перерисовать спрайты покрасивше, так сказать. Можно даже ему дать исходники, чтобы переделанные варианты были таких же габаритов. А потом просто все спрайты заменить в движке и дело с концом. И еще, некоторая информация написана довольно мелким шрифтом. Думаю, неплохо было бы с этим что-то сделать, чтобы людЯм зрение не сажать) P.S. Как сказал один из комментаторов, это всё же программирование. Просто оно называется визуальным. Пусть в подобном движке и условно “легче” делать игры, но при этом нужно это всё заставить работать самым эффективным образом, особенно если релизиться на мобильных устройствах. P.S.S. Если нужно, могу кинуть инвайт в чат в Дискорде, где сидят довольно много разработчиков и там всегда можно получить фидбэк или совет (при условии, что вы не будете злоупотреблять этой возможностью, конечно). Там, правда, только английский в ходу, но если с этим нет проблем, то велкам)

Развернуть ветку

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

Развернуть ветку
8 комментариев

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

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

Развернуть ветку

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

При подготовке материала использовались источники:
https://proglib.io/p/razrabotka-mobilnyh-igr-dlya-ios-s-chego-nachat-chto-izuchat-i-kakie-instrumenty-ispolzovat-2021-07-21
https://dtf.ru/indie/937285-razrabotka-mobilnyh-igr-na-unity-v-sovremennyh-realiyah-urp-2d-animation-i-vse-vse-vse-na-primere-igry
https://dtf.ru/gamedev/40357-kak-sdelat-mobilnuyu-rpg-igru-v-odinochku-bez-programmirovaniya-i-byudzheta