Первые шаги в создании мульти-плеерной игры для Android — Инди на DTF
Привет всем! Я — Пётр, вы — вы, а это — статья о моих [проблемах и] попытках реализовать нормальный мультиплеер для Android игры.
1360 просмотров
Tractor Defied SkanerSoft
Недавно я уже делал пару постов о том, как идёт работа над моей игрой «Бункер 2021», она полностью офлайн, если интересно, можете зайти в профиль да почитать.
Сегодня же я хочу рассказать о бедах с реализацией мультиплеера в игре для Android. Хотя всех проблем (в большей степени) можно было бы избежать, если бы я банально не торопился и делал всё с умом.
Решил я, значит, сделать сетевую «гонку» + езду с препятствиями, в стиле Gravity Defied, но в 3D и с флажками. На мой взгляд, это было бы интересно, как с точки зрения реализации, так и с точки зрения «поиграть».
Начал делать.
Меню игры SkanerSoft
С режимом «прохождение» в целом возился я не долго, т.
Далее оставалось наделать уровней, раскидать бонусов, флажков, и вроде как, всё.
А вот режим игры по сети стал для меня целым приключением. И ещё неизвестно, кто в итоге победит.
Работу я вёл поэтапно, изучая основы и плавно повышая сложность реализации.
Ранее я уже работал с сетью, но не в играх, а в приложениях для WEB, в основном это был AJAX и WebSocket.
Всё, что походит на AJAX для сети не подходит, так как отправка данных на сервер и получение ответа в этом случае занимает секунды, даже если пакеты данных совсем мелкие. Во время гонки такие задержки непростительны.
Заезд SkanerSoft
Для сети в Godot есть много всего, что безумно радует, нет необходимости ковыряться в разных библиотеках, подключать, настраивать, компилировать…
сеть в Godot
Однако, есть одно большое НО — Android устройства не можно подключить друг к другу напрямую по, например, IP-адресу.
Просто потому что у них их (в том виде, в котором они нужны) нет.Оставался только один 100% рабочий вариант — использовать промежуточный сервер.
Условно, при игровом сеансе устройства должны подключаться к единому серверу, который бы раскидывал данные между устройствами.
Попытка № 1. WebSocket
Так как ранее я уже работал в веб-сокетами, я решил, что проще всего будет попробовать сделать сервер на них. Набросал быстренько тестовое приложение «чат» на основе документации, и, вроде как, всё заработало.
В целом алгоритм в моей голове был довольно простой — есть сервер на NodeJS, который регистрирует устройства, запоминает их в специальный список и раскидывает меж ними разные команды и пакеты.
Начал собирать тестовый стенд. Когда всё было готово, я сильно удивился от того, что это работает. Ну знаете: то, что работает с первого раза, скорее всего не работает, как надо. А тут не так. Тут сразу работает.
Обрадованный я начал усложнять. Помимо обычного подключения к игре и учета игроков я начал делать систему движения.
В первоначальном варианте я сделал так, что при движении игроки передают серверу свою позицию, угол вращения и разные мета-данные, такие как угол поворота рулевых колёс. В целом, такой вариант работал пока я не словил баг с сетью.
Случилось это вообще случайно, когда я тестировал игру на кухне и жена включила микроволновку, трактор противника начал «вздрагивать» при движении. То есть его позиции стали меняться не в реальном времени.
Было решено попробовать подкрутить интерполяцию. Микроволновка стала играть роль ухудшенной связи (например, мобильной). Всему виной, вероятно, старенький роутер. Но это не точно.
Интерполяция решила проблему с дерганием, но не решила проблему с отставаниями. Так как я слал позиции в порядке следования, появившаяся задержка шлейфом тянулась через всю цепочку позиций, так как клиент складывал их в массив по мере поступления от сервера.
Пришлось делать раз в секунду коррекцию позиции. Это снова привело к микро-вздрагиваниям. Такой расклад мне не понравился, и я решил сменить подход.
Попутно я избавился от беды с микроволновкой, введя фактор случайности в доставке пакетов на стороне сервера.
Level 7 SkanerSoft
Новый принцип был таков: не передавать фактические данные состояния игрока, а передавать на сервер намерения игрока в движении (нажатия клавиш и состояния), переложив всю физику на клиента. Стало заметно лучше, однако, я заметил другую беду — физика на двух разных устройствах отрабатывала иногда по-разному. То есть в одной версии трактор может проехать в миллиметре от камешка и не шелохнуться, а в другой версии — соприкоснуться с ним и начать шататься. Тем самым меняя своё оригинальное направление. Плюсом к этому если включать режим ухудшенной сети, то иногда команды от сервера прилетали с опозданием, из-за чего всё могло совсем сломаться. Снова нужны были компенсации позиции. По факту я вернулся к тому, с чего начал.
Попутно я читал про сеть и про обработки столкновений, и решил написать вторую реализацию.
Попытка № 2. ENet и физический сервер
Моя вторая попытка реализации была достаточно простая. На компьютере был запущен сервер, написанный уже на Godot, а не NodeJS, с использованием ENet, к нему цеплялись устройства (пока что по локальной WiFi сети) и всё это работало.
Общий сервер крутится на компе, к нему присоединяются устройства и регистрируются в специальный список «игроки».
У игроков есть несколько состояний — покой (когда находится в меню), в игре (когда идёт гонка), и пауза (когда идёт гонка но игрок открыл меню паузы).
Физика и обработка объектов теперь на стороне сервера (Godot умеет). Это тут же решило проблемы с обработкой команд и вообще все объекты ведут себя полностью одинаково, даже при задержках сети.
Вся реализация была основана на официальной документации.
Когда основа была составлена, я решил выйти за пределы WiFi, оформил IP у провайдера, выделил порт, и начал пробовать подключаться.
Заезд по сети SkanerSoft
В целом я полностью удовлетворился работой игры по WiFi. Даже когда игра идёт через провайдера (у меня это ДомRу). То есть и в локальной сети и через интернет, но по WiFi, всё работает чётко.
Как только я перешел на мобильное соединение, снова начались проблемы.
Иногда данные просто не прилетают, то есть клиент повисает в ожидании отправки данных, а иногда сервер повисает в ожидании.
Пришлось делать ручной контроль пакетов. Хоть в документации и сказано, что движок сам понимает потери и компенсирует их, почему-то проблему с зависаниями сети он никак не решает. Я же решил её довольно примитивным способом. Пока что он работает, чего мне, в общем-то достаточно.
При отправке и приёме данных я с набором всяких «цифер» шлю абсолютный порядковый номер «транзакции». На сервере и на клиенте при этом слежу, чтобы номера пакетов отличались от предыдущих не более, чем на два.
Как только происходит расхождение, я отправляю параллельный запрос по WebSocket с корректировками. То есть приложение устанавливает сразу два соединения, одно основное, второе — резервное.
Пока я не могу точно сказать, в чем именно проблема, так как воюю с ней прямо сейчас, однако WS соединение к NodeJS на мобильном операторе работает фактически без сбоев, благодаря чему можно поддерживать соединение.Пока я делаю ещё один тестовый стенд для проверки сети, но что-то мне подсказывает, что резервное соединение не требуется и где-то у меня косяки.
Буду думать!
Скоро постараюсь выкатить тестовую сборку игры, если вдруг кому-то будет интересно, пишите в ЛС или в комментарии.
Всем большое спасибо за внимание! Удачных вам проектов!
Заказать разработку и создание браузерных онлайн игр под ключ по доступной стоимости в Москве. Разработка веб и мобильных Андроид приложений по цене от 250.000 рублей
Разработка онлайн игр
У вас есть отличная нереализованная идея? Вы хотите воплотить ее в реальность? Вы по адресу! Компания «App Android» предлагает свои услуги по разработке онлайн игр на заказ, цена вас приятно удивит.
Создание игры онлайн – это не только очень интересный и увлекательный процесс, но еще усердный и непростой труд специалистов в сфере разработки онлайн игр.
Доверить создание браузерной онлайн игры стоит компании «App Android» потому что у нас:
- Большой опыт работы в сфере интернет-маркетинга
- Огромное количество успешно завершенных проектов
- Авторский подход к каждому проекту
- Проверенная команда разработчиков и различных специалистов
- Высокий уровень качества работы
- Четкое соблюдение сроков
Создание браузерной онлайн игры
Создание онлайн игры с нуля требует немалого опыта и времени. Чтобы достичь максимально качественного результата и разработать онлайн игру на заказ цена которой будет радовать заказчика, необходимо обладать не только профессиональными качествами, но и быть творческой натурой для того, чтобы произвести нечто фантастическое и неповторимое.
В этом вам поможет команда нашей компании – у нас только самые креативные и профессиональные сотрудники. Они занимаются созданием простых онлайн игр на андроид, разработкой онлайн игр mmorpg, и созданием сложных онлайн игр для других платформ. Помимо этого мы осуществляем поддержку созданного нами проекта в дальнейшем его продвижении.Создание игр онлайн на заказ предполагает наличие нескольких типов игры:
- Инсталляционный тип. Это когда игра, которая устанавливается на компьютер с конкретным программным обеспечением.
- Браузерный тип. Это специальные технологии, с помощью которых пользователь может участвовать в игре при наличии одного лишь браузера и подключения к сети интернет. То есть не требует специальных установок и не занимает места на жестком диске.
Создание онлайн игр на заказ в компании «App Android» − это качественный уникальный результат. Мы создаем игры, которые не устаревают, наши разработчики предлагают высокую степень оригинальности, без приевшихся шаблонов и посредственных идей. Наши дизайнеры и художники создадут именно тот виртуальный мир игры, который вы задумали. Наша фирма создает игры под ключ, а также работает с иностранными заказчиками.Разработка браузерных онлайн игр от компании App-Android.ru — инвестиции в будущее.
Дополнительные услуги
3D Моделирование
Создание трёхмерной модели объекта. Задача 3D-моделирования — разработать визуальный объёмный образ желаемого объекта.Программирование
Создание и поддержание в рабочем состоянии мобильных приложений и игр. А так же доработка функционала.Дизайн приложений
Проектирование пользовательских веб-интерфейсов для мобильных приложений или игр.Озвучка игр
Процесс записи звукового сопровождения мобильных приложений или игр. А также рекламных роликов и презентаций. Разработка игр и мобильных приложений
info@app-android. ru
Остаповский проезд, д. 5
Москва
Москва
109316
Phone: +7 (499) 380-78-79
Разработка игр и мобильных приложений
Остаповский проезд, д. 5
Москва, Москва, 109316 Россия
+7 (499) 380-78-79
Разработка игр и мобильных приложений
Учебное пособие по разработке простых игр для Android для начинающих
Описание
Разработка 2D-игр для мобильных устройств в последнее время переживает настоящий подъем. Люди, кажется, заново открывают для себя интерес к таким простым, но привлекательным играм. Это, в свою очередь, приводит к росту интереса к разработке игр для Android. Однако, чтобы стать успешным разработчиком игр и научиться делать мобильную игру, которая поразит массы, вам необходимо изучить как основы разработки игр, так и все дополнительные навыки, которые могут вам понадобиться. И это именно то, что поможет вам сделать это руководство по разработке игр для Android с использованием Android Studio. Более того, вы получите простую игру Flappy Bird — исходный код для Android Studio.
Зачем изучать разработку игр для Android?Не секрет, что многие люди любят заниматься разработкой игр для Android. Однако, когда дело доходит до «почему?», у каждого свои причины. Кто-то хочет научиться создавать игры для Android для собственного личного использования, другим нужен учебник по разработке мобильных игр, чтобы получить навыки для своей работы. Преимущество этого в том, что это универсальный набор навыков — как только вы углубитесь в разработку 2D-игр для Android и научитесь создавать игры для Android, перед вами откроется множество потенциальных карьерных возможностей. Поскольку существует довольно много игр для Android на миллионы долларов, которые славятся своей простотой, вы найдете множество компаний, которые пытаются создать следующую лучшую вещь на рынке. Этим компаниям нужны профессиональные разработчики высшего уровня, которые знали бы не только, как создать игру для Android, но и как потом ею управлять.
Если вам не по душе работа в команде, разработка игр для Android может оказаться чрезвычайно полезной и для индивидуальных проектов. Если у вас есть четкое представление о том, что вы хотите создать, и вы уверены, что станете лучшим человеком, способным достичь этой цели — круто! Разработка мобильных игр удивительна тем, что позволяет вам создавать игры самостоятельно, обладая всеми необходимыми для этого навыками!
Чему вы научитесь в этом простом руководстве по игре для AndroidНесмотря на то, что разработка игр для Android действительно популярная тема, есть много сложностей, если вы хотите по-настоящему освоить ее. Вот почему так важно пройти руководство по разработке игр для Android Studio, которое действительно поможет вам научиться создавать игры для Android. После того, как вы зарегистрируетесь в этом руководстве по игре Android Studio для начинающих, вы увидите, что это все, что вам нужно для отличного начала обучения созданию мобильных игр! Это руководство по разработке игр для Android для начинающих составлено таким образом, чтобы избежать крутых кривых обучения, позволяя вам задать свой собственный темп и изучить информацию за удобный и приемлемый период времени.
Многие онлайн-курсы предлагают сухие и несколько общие уроки, которые кажутся вечными и не оставляют неизгладимого впечатления в самом конце. Однако ничего подобного вы здесь не найдете — по мере изучения материала курса у вас будет возможность создать свою самую первую мобильную 2D-игру, похожую на Flappy Birds! Вам также будет предоставлен исходный код Flappy Bird для Android Studio. Все, что вам нужно для начала, — это базовые знания о том, как работает программирование, и установленная последняя версия Android Studio. Не теряйте больше времени — запишитесь на этот простой учебник по игре для Android и начните изучать разработку игр для Android уже сегодня!
Показать больше Показать меньше
Чему вы научитесь?
- Как создать игру, похожую на Flappy Birds
- Как создать игровой цикл
- Изучение и понимание базовой платформы для игр
- Совершенствуйте свои навыки с помощью Java
Требования
- Установлена Android Studio
- Базовые знания программирования
Как сделать игровое приложение: Полное руководство для бизнеса
Константин Калинин
Начальник отдела контента
2 ноября 2022 г.
Почему мы играем в игры? Я думаю, есть по крайней мере три веские причины:
- убить время и пообщаться
- получить чувство достижения
- абстрагироваться от реальности игры обещают быстрое излечение дофамина, которого мы все жаждем. Бьюсь об заклад, люди будут продолжать тратить больше на касание экранов.
Вот вам еще одна ставка. Если вы ответите «да» на все три вопроса ниже, я выиграю, и вы проглотите этот блог за один раз, чтобы узнать общую основу того, как сделать игровое приложение для смартфонов и планшетов. Если вы ответите «нет», я проиграю, а вы сэкономите десять минут своего времени.
- Вы когда-нибудь удаляли мобильную игру, потому что лох был слишком голоден для вашего времени?
- Вам интересно, как Candy Crush Saga зарабатывает миллионы долларов каждый месяц?
- Хотите создать собственное игровое приложение?
Если вы все еще со мной, давайте обсудим, как создаются мобильные игры.
Ключевые выводы:
- Первое, что вам нужно знать, если вы решили создать игровое приложение, — это рискованное предприятие. У вас есть только один шанс, и вы должны тщательно продумать каждую мельчайшую деталь, начиная с листинга в App Store с самого начала. Трудно вернуть игроков после первого флопа (подробнее о том, как этого избежать, ниже).
- Действительно успешные мобильные игры — это замаскированная SaaS. Игроки либо оплачивают ежемесячную подписку, либо получают ежемесячную дозу счастья, потребляя постоянно растущий контент в приложении.
- К счастью, современные технологии мобильных игр напоминают кубики Lego . Вам не нужно разрабатывать игровое приложение полностью с нуля. Вместо этого вы можете выбрать готовые решения и интегрировать их, например, для создания серверной части (которую пользователи никогда не увидят и о которой они не заботятся, но которая должна быть безопасной, масштабируемой и иметь 99% времени безотказной работы).
Содержание
- Обзор рынка мобильных игровых приложений
- 8 шагов для создания игрового приложения
- Типы игровых приложений
- Особенности игрового приложения
- Стратегии монетизации игрового приложения
- Технический стек для создания игрового приложения
- Сколько стоит разработка игрового приложения
- Игры 5 9000 Обзор рынка приложений
Мобильные игры стали повсеместными; это невозможно отрицать. Они веселые, захватывающие и отнимают невероятно много времени. Я думаю, что мобильные игровые приложения были главным стимулом для Apple представить 9Функция 0108 Screen Time , которая поможет клиентам немного вернуть время.
Согласно одному из недавних исследований Future, игроки из США проводят 1,5 часа в день, играя в мобильные игры. Это приличный кусок из 5,4 часов в день в среднем на телефоне прямо здесь.
Если вы проверите самые прибыльные приложения в App Store прямо сейчас, то увидите, что не менее 50% из 100 лучших — это игры. Удивительно, но хотя потребители загружают мобильные игры реже, чем другие мобильные приложения, на игры по-прежнему приходится 50% расходов в App Store в США.
Изображение предоставлено: Sensor Tower (все права принадлежат Sensor Tower Inc.)
- 38M — 80M загрузок для 10 лучших игр для мобильных устройств приложения (во втором квартале 2022 г.)
Изображение предоставлено: Sensor Tower (все права принадлежат Sensor Tower Inc.)
Само количество категорий для игр в Google Play Store и App Store выдает их известность: 19игровые жанры против 22 категорий для обычных мобильных приложений. Типов игр столько же, сколько и «обычных» мобильных приложений.
Говоря о потенциале получения дохода, игры на смартфонах могут быть настоящими электростанциями. При создании игрового приложения учитывайте экономический импульс программного обеспечения для мобильных игр. По данным Statista:
- выручка, по прогнозам, достигнет $153 млрд в 2022 г.
- число пользователей, как ожидается, вырастет до 2,3 млрд к 2027 г.
- Проникновение пользователей составит 23% в 2022 году и, как ожидается, достигнет 29% к 2027 году.
- средний доход на одного пользователя (ARPU) в 2022 году прогнозируется на уровне 87 долларов. Только в 2021 году издатели выпустили 300 000 новых мобильных игр.
Изображение предоставлено: data.ai Intelligence, State of Mobile 2022 (все права принадлежат data.ai Inc.)
Самые популярные жанры (по загрузкам) включают гиперказуальные игры, раннеры, симуляторы, шутеры и развлекательные приложения для маленьких детей. А с точки зрения потребительских расходов лидерами являются:
- стратегии
- ролевые игры
- казино
- шутеры
- спорт
Я уверен, что вы найдете больше жемчужин в специализированных отчетах авторитетных компаний, таких как данные. ИИ и SensorTower.
Детализация различных категорий и поджанров, определение тенденций на различных рынках будет иметь важное значение, когда вы вступите на путь разработки мобильных игровых приложений. Потому что именно там вы начинаете это путешествие. Тем не менее, давайте сразу перейдем к обсуждению этапов разработки игры.
8 шагов по созданию игрового приложенияДопустим, у вас есть идея для игры. Я еще не знаю, что это такое, так что давайте воспользуемся моей старой идеей, которая восходит к тому времени, когда я был корпоративным толкателем ручек. Это будет боевой титул (вспомните карикатуру Street Fighter ), где вы главный герой, которому нужно победить своих коллег, в том числе боссов (очевидно, генерального директора, отдела кадров и руководства?), чтобы победить и оторваться от корпоративная матрица.
Главной особенностью является использование фотографий себя и своих сверстников на боевых аватарах. Они будут выглядеть как мини-карикатуры на вас и ваших коллег.
Ориентация экрана — это один из моментов, который следует учитывать при создании мобильной игры. Изображение предоставлено: App Store
[В качестве примечания я подумал, что такое игровое приложение могло бы помочь корпоративным жокеям, таким как я, снять стресс, связанный с работой. Если бы они начали делиться повторами того, как пинают своего босса по ягодицам (призывая сверстников присоединиться), название могло бы стать вирусным… Здесь мы ходим по тонкому льду для нашего эксперимента, но у руководителей, как правило, хорошее чувство юмора, верно? Кстати, не стесняйтесь украсть идею, потому что вскоре вы узнаете, что хитрость в разработке мобильных игр заключается скорее в исполнении, чем в самой идее.]
В любом случае, у нас есть идея. Как сделать из этого невероятно увлекательный игровой процесс?
Шаг №1: Исследование — строить или не строитьЧтобы не надоесть вам до смерти, вам все равно нужно исследовать, сможет ли такая игра найти свою аудиторию на текущем рынке. Итак, нам нужно:
- проверить самые популярные экшн-игры и посмотреть, есть ли что-то похожее, что набирает обороты
- расспросить всех наших друзей и коллег об этой идее; спросите любого, кто может уделить две минуты своего времени
- просмотрите Kickstarter и подобные платформы, чтобы узнать, не проводит ли кто-нибудь краудфандинговую кампанию для создания такой игры.
Это одно из направлений нашего исследования. Как видите, мы пытаемся оценить потенциальный интерес, прежде чем запускать игровое приложение. Однако это только полдела. Нам также нужно проверить, есть ли у мобильных платформ технологии для создания желаемого игрового процесса:
- можем ли мы иметь более или менее реалистичные лица у персонажей?
- как ускорить регистрацию, чтобы пользователю не нужно было загружать кучу фотографий, чтобы начать играть?
- Какая серверная платформа лучше всего подходит для быстрого масштабирования?
- с какими социальными сетями мы должны интегрироваться?
Наконец, мы должны также учитывать некоторые «нормативные» требования:
- нужно ли нам сделать кровь зеленой или применять аниме-фильтры к фотографиям (чтобы Apple приняла приложение в App Store)?
- Можем ли мы обойтись без мягких боевых приемов, например, аватар, использующий клавиатуру, или кактус в горшке?
Ответы на эти и подобные вопросы приблизят нас к разработке фантастического мобильного игрового приложения. Допустим, мы обнаружили, что:
- люди оценят такую мобильную игру
- искусственный интеллект поможет создать реалистичных аватаров
- мы заменим кровь на забавные восклицания
- мы заменим жестокие боевые приемы на абсурдные борцовские трюки
Где мы идем отсюда? Как мы создаем мобильное игровое приложение на основе наших выводов?
Шаг №2: Геймдизайн — каркас геймплеяНа этом этапе нам понадобится профессиональная помощь геймдизайнера. Это тот, кто живет и дышит мобильными играми и может воплотить любую идею в осуществимый геймплей.
Помимо прочего, гейм-дизайнер будет работать над документом по геймдизайну, в котором подробно описываются такие вещи, как:
- персонажи
- темы
- механика
- общий сюжет
В нашем случае они продумают, хотим ли мы 2D или 3D персонажей, механика боевых приемов, общий сеттинг игры, звуковые и музыкальные элементы и многое другое. Другими словами, они превращают нашу идею мобильной игры в осязаемые требования к продукту.
Теперь вы можете подумать, что с готовым документом по дизайну игры мы можем просто передать его разработчикам и попросить их поместить игру в код. Однако для этого еще слишком рано.
Шаг № 3: проверка концепции — можно ли играть?Если вы читаете наши блоги, то уже знаете, что дизайн играет важную роль в разработке приложений довольно рано. Однако это не совсем так с мобильными играми.
Во-первых, нам нужно убедиться, что игра будет увлекательной и что ее геймплей осуществим. В нашем случае (кстати, назовем наш заголовок Заклятые враги ), наиболее важными элементами являются персонажи, напоминающие реальных людей, и сражения.
Правильно, мы просим команду (я предполагаю, что вы уже объединились со студией разработки игр на шаге 2) создать одного персонажа со сменным лицом, чтобы мы могли загрузить разные фотографии и посмотреть, как персонаж выглядит.
Здесь мы проверим несколько вещей:
- сколько времени нужно, чтобы применить фотографию к аватару?
- Похож ли персонаж на карикатурную версию реального человека?
- Есть ли ограничения на изображение движущегося персонажа?
Обратите внимание, что на этом этапе может быть несколько итераций. Например, когда мы разобрались с персонажами, нам нужно попытаться анимировать хотя бы пару борцовских приемов на двух персонажах. Если это похоже на драку и это весело, мы на пути к тому, чтобы стать миллионерами.
Культовый файтинг для iPad; изображение предоставлено: App Store
Итак, у нас есть доказательство концепции. Что теперь? Ну, пожалуйста, обратите внимание, потому что следующие три шага будут происходить одновременно — просто разные люди работают над разными компонентами игры:
- графический дизайн
- звуковой дизайн
- старый добрый кодинг
Давайте рассмотрим, что происходит на каждом из этих этапов, пока мы продолжаем создавать приложение для игры на телефоне.
Шаг № 4: Графический дизайн — создание визуального великолепияДизайнеры начинают с создания набросков персонажей, окружения и т. д., а затем продолжают переходить от изображений с низкой точностью к изображениям с высокой точностью. Нам может понадобиться несколько разновидностей инженера-конструктора в таком проекте, как мы:
- концепт-художник
- 3D-моделлер
- фронтенд-дизайнер
- технический художник
По сути, на данный момент у нас уже есть главный актив — персонаж, которого мы создали для проверки концепции. Поэтому команда работает над заполнением остальных пробелов, включая декорации, меню и интро.
Еще одна вещь, которую должны сделать дизайнеры, — это создать рельсы, чтобы легко добавлять новые дизайны в будущих обновлениях. Например, мы можем захотеть погрузить игрока в корпоративный мир Google или Apple. Таким образом, шаблоны дизайна, созданные на этом этапе, должны быть легко модифицируемыми.
Для сюжетных игр написание сценариев является неотъемлемой частью процесса разработки
Шаг № 5. Звуковой дизайн — добавление нового измерения в игруМузыка и звуки являются важнейшими элементами любого игрового процесса. Вот почему нам очень нужен звукорежиссер, который сможет подобрать подходящие мелодии и звуковые эффекты для нашего файтинга. К счастью, нам не нужно сочинять музыку, потому что с этой точки зрения это довольно просто. Тем не менее, для создания захватывающих игровых впечатлений в крупных играх привлекаются композиторы.
Шаг № 6: Кодирование — объединение всех частей вместеКак вы хорошо знаете, кодированием занимаются разработчики программного обеспечения. На проекте могут быть разные разработчики — front-end инженеры, back-end и т.д., но у всех у них есть что-то общее.
Разработчики программного обеспечения — это люди, которые сопротивляются, когда мы придумываем новую функцию, например, просим добавить криптовалюту, потому что теперь мы думаем, что это весело — выбивать токены криптовалюты из наших оппонентов, а затем торговать ими на биржах.
Если серьезно, это просто напоминание о том, почему у нас были шаги 2 и 3. Я имею в виду, конечно, мы можем добавить токеномику к нашему названию, но это займет больше времени и увеличит бюджет разработчиков. Нам также потребуется синхронизировать шаги 4 и 5.
Разработчики тесно сотрудничают с командами дизайнеров и звукорежиссеров. Они также получают обратную связь от QA-инженеров, которые заняты тестированием каждой новой итерации после каждого спринта. Чтобы уточнить, разработчики каждые две недели собирают что-то поддающееся тестированию, чтобы помочь выявить ошибки и проблемы на ранней стадии.
Подводя итог, можно сказать, что когда программисты разрабатывают мобильное игровое приложение, они объединяют игровой движок, элементы дизайна и трехмерную графику, звуковые эффекты и все другие артефакты, созданные командой.
Связанный: Как создать минимально жизнеспособный продукт
Шаг № 7: Релиз — пора пить шампанское версия Frenemies , который готов к публичному запуску. Нам нужно будет загрузить игру в App Store и Google Play и заполнить списки заманчивыми превью видео и изображениями.Игры для мобильных устройств, занимающие верхние позиции в App Store; изображение предоставлено: data.ai Intelligence (все права принадлежат data.ai Inc.)
Одно предостережение здесь заключается в том, что мы можем сначала выпустить для небольшой аудитории, чтобы протестировать игровой процесс и отловить случайные ошибки. Это поможет нам приблизиться к основной сцене, будучи менее уязвимыми и стремясь к максимальному внедрению.
Шаг № 8: Техническое обслуживание — что дальше?Несмотря на то, что запускать игру довольно увлекательно, самое интересное начинается сейчас. Мы видим, как игроки изучают игру, где у них есть проблемы, какой новый контент им нужен, какие варианты монетизации они предпочитают и т. д.
Именно тогда игра начинает жить своей жизнью, разрастаясь обновлениями, новыми скинами, настройками. , темы, персонажи и т. д. Однако, чтобы собрать все необходимые данные для управления нашими обновлениями, нам необходимо интегрировать игру с соответствующими аналитическими сервисами (например, Kochava) на этапе кодирования.
Типы игровых приложенийКогда вы думаете об идее игрового приложения, может быть полезно взглянуть на нее с разных точек зрения, примерив разные категории. В конце концов, игра Frenemie , которую мы обсуждали, не обязательно должна быть игрой в жанре экшн-файтинг. Это также может быть приключение, головоломка, стратегия или ролевая игра.
В связи с этим предлагаю вам изучить категории игр, которые в широком смысле определяют все возможные типы игровых приложений в App Store и Google Play:
the App Store Google Play Games: - action
- adventure
- board
- card
- casino
- casual
- family
- music
- puzzle
- racing
- role игра
- симулятор
- спорт
- стратегия
- викторина
- слово
дети:
- до 5 лет
- ages 6-8
- ages 9-11
Games: - action
- adventure
- arcade
- board
- card
- casino
- casual
- educational
- music
- puzzle
- racing
- ролевые игры
- симуляторы
- спорт
- стратегия
- мелочи
- слова
Семья:
- боевик и приключения 0075 Brain Games
- Творчество
- Образование
- Music & Video
- Pretend Play
- Возраст 5 и до . много на выбор.
- социальные функции, такие как списки лидеров, совместное использование, дарение жизней друзьям и т. д.
- уведомления (сверхважные, но легко переусердствовать)
- расходных материалов и различных платных бонусов (те самые сладкие покупки в приложении)
- меню с настройками (вместе с профилем пользователя и другими вещами, которые игрокам не интересны)
- туториалы
- геолокация
- дополненная реальность / виртуальная реальность
- распознавание музыки/голоса
- акселерометр
- мобильной рекламе
- покупках в приложении
- играх с оплатой за загрузку
- уровнях подписки
- комбинации этих стратегий
- AdSense
- AdMob
- TapJoy
- AdColony
- Fusion
- RPG Maker
- Unity
- Unreal
- Cocos2d-x
- PlayFab
- Amazon Lumberyard
- Firebase
- GameSparks
Среди самых популярных игровых жанров лидируют экшены и казуальные игры, за ними следуют гонки и головоломки. Обратите внимание, однако, что я говорю это на основе анализа самых эффективных игр за второй квартал 2022 года. И этот ландшафт должен быть довольно динамичным. Хотя проверка данных за 2019 г.-2021, я могу подтвердить, что самыми популярными игровыми жанрами по-прежнему были гиперказуальные игры и шутеры (также известные как экшены).
Итак, наш выбор с категорией действия был точным.
И помните, что в App Store вы можете выбрать до двух подкатегорий игр. При этом Google Play предлагает одну категорию и до пяти дополнительных тегов для каждой игры.
Особенности игрового приложенияХорошо, странно говорить об обязательных функциях мобильной игры только потому, что каждая игра уникальна и опирается на свою игровую механику, чтобы поддерживать интерес игроков.
В то же время, если вы посмотрите на самые популярные игры, вы заметите несколько повторяющихся элементов с уникальным внешним видом, но схожей функциональностью. В нашем примере может оказаться полезным добавить следующие функции при создании игровых приложений:
Затем, в зависимости от специфики вашей игры, вам также может пригодиться:
Игры, как правило, максимально используют возможности наших телефонов с точки зрения использования их встроенных датчиков и функций программного обеспечения. Тем не менее, мы должны использовать эти функции с умом, ставя во главу угла опыт игрока.
Стратегии монетизации игрового приложенияВарианты монетизации при создании игрового приложения для мобильных телефонов мало чем отличаются от типичного мобильного программного обеспечения. Вы можете зарабатывать деньги на:
Android и встроенные покупки на iPhone. Сегодня все самые прибыльные мобильные игровые приложения используют сочетание рекламы и встроенных покупок, чтобы заработать миллионы долларов. Геймеры могут скачать такие приложения бесплатно и начать тратить, как только они окажутся в игре.
Игры, занимающие 100-е место в самых прибыльных играх, могут приносить от 500 тысяч до 2 миллионов долларов в месяц. А лучшие исполнители зарабатывают колоссальные 40 миллионов долларов в месяц.
Изображение предоставлено: Sensor Tower, App Intelligence (все права принадлежат Sensor Tower Inc.)
При выборе стратегии монетизации вы можете внедрить такие решения, как RevenueCat, которые помогут вам быстро добавлять различные варианты монетизации игры. . Что еще более важно, вы можете использовать подобные сервисы для A/B различных стратегий и выбирать оптимальные настройки.
Изображение предоставлено: домашняя страница RevenueCat (все права принадлежат RevenueCat, Inc.)
При принятии решения о том, как сделать мобильное игровое приложение с наиболее эффективной рекламой, вы можете выбирать из разных поставщиков, например:
Я бы, наверное, остановился на полноэкранной видеорекламе, чтобы заработать жизни и позволить игрокам продолжать играть, а также добавить покупки в приложении для удаления рекламы и покупки расходных материалов, которые делают геймплей веселее (различное «оружие» вроде степлера или факса и т. п.).
Мы также можем проводить простые акции, приуроченные к праздникам и другим важным событиям, чтобы привлечь больше внимания.
Стек технологий для создания игрового приложенияКогда дело доходит до выбора технологий для игры, мы должны сосредоточиться на выборе подходящего игрового движка. И таких движков на рынке предостаточно, например:
движок, идеально подходящий для нашего игрового процесса. Например, в случае Frenemies , я бы предпочел использовать что-то вроде Unity, потому что я хотел бы иметь 3D-персонажей. Мы также могли бы добавить функции дополненной реальности позже, потратив меньше времени.
Языками программирования, которые мы выберем, будут Swift и Kotlin, потому что мы хотим придерживаться нативных технологий.
Изображение предоставлено: data. ai Intelligence (все права принадлежат data.ai Inc.)
Другой альтернативой, если вы не хотите возиться с кодированием, является использование без кода (или с низким кодом). ) платформа для разработки игр, такая как GDevelop или GameMaker. Эти платформы для создания игр предлагают пользовательский интерфейс с возможностью перетаскивания и не требуют навыков программирования для создания игрового приложения.
Помимо выбора игрового движка, мы также должны учитывать, нужно ли будет интегрировать в игру какие-либо нативные API мобильных платформ — Metal для iOS и остальную часть экосистемы Apple, а также Android Game Development Kit/Game Mode для игровых приложений Android.
Еще один момент, который следует учитывать, — это задняя часть. Вашей игре потребуются серверы для хранения данных игроков, списков лидеров и загружаемых по запросу данных, среди прочего. К счастью, мы можем выбрать один из нескольких вариантов, чтобы не создавать серверную часть нашей игры с нуля:
Эти платформы не только устраняют препятствия, связанные с управлением конвейерами CI/CD (чтобы упростить разработку и сократить время выхода на рынок), но также включают аналитические сервисы, для приложений для онлайн-игр) и другие готовые компоненты, часто востребованные разработчиками игр.
Изображение предоставлено: домашняя страница Azure PlayFab (все права принадлежат PlayFab, Inc.)
Маленький секрет: ваш партнер по разработке игр должен посоветовать подходящий стек технологий для создания игрового приложения после просмотра документа по дизайну игры. Короче говоря, только игровой процесс должен определять наиболее подходящие технологии для создания игровых приложений.
Сколько стоит разработка игрового приложенияМиллионы — легко. Ходят слухи, что Blizzard потребовалось от 40 до 60 миллионов долларов на разработку Diablo Immortal. Тем не менее, это игра класса ААА с огромным количеством вечнозеленого контента и опций.
Откровенно говоря, составление бюджета проекта программного обеспечения для мобильных игр отличается от определения затрат на разработку приложений SaaS или обычных мобильных приложений.
Я помню, как разговаривал с генеральным директором студии разработки игр, который поделился, что они рассматривают возможность начала разработки только с бюджетом в 100 000 долларов или больше. Конечно, это было 10 лет назад. Итак, учитывая инфляцию и возросшую конкуренцию, я думаю, что мы говорим как минимум о диапазоне от 200 до 300 тысяч долларов за приличную мобильную игру.
В то же время инди-разработчикам удается начать со скудных бюджетов в 60-80 тысяч долларов, добиться успеха и получить достаточную прибыль, чтобы продолжать улучшать свое игровое программное обеспечение. Однако это обычно верно для казуальных игр. Любая попытка сделать игру-приложение с 3D-графикой и любой физикой обойдется в сумму, превышающую 100 000 долларов.
К счастью, люди тратят деньги и на мобильные игры.
В любом случае, пусть вас не пугают эти цифры. Если вы хотите создать игровое приложение, например казуальную игру, для развлечения или обучения своих пациентов или хотите обновить свое приложение, добавив в него увлекательные возможности AR/VR, свяжитесь с нами; у нас есть навыки.
Часто задаваемые вопросы
Какой главный совет для тех, кто обдумывает идею создания мобильной игры?
Выделите не менее 40% всего вашего бюджета на маркетинговые нужды. Без рекламы ваше название никуда не денется, буквально никуда. Любой независимый разработчик, пробившийся в чартах Apple или Google, — это чистая удача и неординарный геймплей с инновационной механикой. Конкуренция жесткая.
Можно ли сказать, что разработка игр занимает больше времени, чем приложений?
Да. Подумайте обо всем контенте, включая сюжет, который вам нужен для создания захватывающего мира.
Какие последние тенденции в мобильных играх?
О, их так много, правда. Например, Apple разрешает вам продавать NFT (последнее крипто-безумие), если они не разблокируют некоторые внутриигровые предметы. Но это хороший способ рекламировать торговую площадку NFT, верно?
Как убедиться, что моя игра успешна?
Об этом ничего не скажешь. Одна вещь, которую вы можете сделать, — это выпустить игру для небольшой аудитории, чтобы протестировать ее, даже если у вас есть полная игра. Таким образом, вы можете сгладить любые причуды и, возможно, обновить игровой процесс, прежде чем выпустить его в массы. Как правило, у вас будет одна попытка. Остальное зависит от ваших маркетинговых ограничений и таланта рекламной команды, с которой вы сотрудничаете.
Сколько времени занимает создание мобильного приложения?
От 6 до 9 месяцев для казуальной игры или игры для AR/VR и до года и более для чего-то более сложного, например, 3D-шутера или стратегии.
Константин Калинин
Руководитель отдела контента
Константин работает с мобильными приложениями с 2005 года (эра до iPhone). Помогая стартапам и компаниям из списка Fortune 100 создавать инновационные приложения, работая в разных сферах (консультант, директор по доставке, владелец мобильного агентства и аналитик приложений), Константин глубоко разбирается в мобильных и веб-технологиях. Он рад поделиться своими знаниями с партнерами Topflight.