Как стать автором
Обновить
145.71
Рейтинг
Lightmap
Разработчик мобильных игр
Сначала показывать
  • Новые
  • Лучшие

Батлрояль за 2 месяца: как мы обновили сетевой код и на 20% сократили траты на сервера

Блог компании LightmapРазработка игрСерверная оптимизацияUnityДизайн игр

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

В этой статье расскажу о том, как мы обновили сетевой код для собственной королевской битвы на Unity, ввели систему сетевых чанков, контролируемый рандом и в результате сократили траты на сервера на 20%.

Читать далее
Всего голосов 44: ↑44 и ↓0+44
Просмотры6.3K
Комментарии 10

PvP-шутер без даунтаймов: архитектура, аварийные режимы и сервера с рубильником

Блог компании LightmapРазработка игрСерверная оптимизацияСерверное администрированиеХранение данных

Мы уже рассказывали, почему первая версия архитектуры игры не была идеальной. Pixel Gun 3D изначально был прототипом в новом для команды жанре PvP-шутер. Хотели протестировать идею, чтобы собрать фидбек от игроков, но популярность игры начала расти достаточно быстро — писать ее заново было уже поздно. Сейчас подход к разработке новых проектов у нас сильно изменился, но зато тогда, без опыта, мы не потратили уйму времени на создание прототипа, который мог оказаться неинтересным для игроков.

С ростом функционала приходилось «на лету» менять архитектуру, делать ее масштабируемой, а также реализовать нашу идею — сделать шутер без даунтаймов даже во время технических работ или форс-мажора.

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

Читать далее
Всего голосов 34: ↑34 и ↓0+34
Просмотры4.9K
Комментарии 4

Как за день потерять 30% онлайна и за два месяца сделать батлрояль

Блог компании LightmapРабота с 3D-графикойРазработка игрUnityДизайн игр

Однажды в своем PvP-шутере мы за один день потеряли 30% от 60 тысяч одновременного онлайна. Это был 2018-й, в тот день на iOS вышел Fortnite. И хотя хайп был уже около года, а PUBG регулярно бил рекорды, без королевской битвы нам жилось вполне спокойно. Но тут стало очевидно, что батлрояль нельзя игнорировать, игрокам он нравится и нужно разрабатывать свой.

За два месяца мы проделали много интересной и сложной работы. Например, сделали свой редактор террейна, чтобы отрисовывать ландшафт не в 500 тысяч треугольников, как это делал Unity Terrain, а всего в 30 тысяч. Или написали мешбейкер, сократив количество запросов на отрисовку с 800 до 100, а освещение научились запекать за 5 минут вместо 30 часов. 

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

Читать далее
Всего голосов 66: ↑66 и ↓0+66
Просмотры23K
Комментарии 19

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

Блог компании LightmapJavaScriptРазработка игрХранение данныхДизайн игр

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

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

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

Читать далее
Всего голосов 41: ↑39 и ↓2+37
Просмотры9.8K
Комментарии 22

Интеграция и серверная валидация инаппов для стора Google Play — как защититься от читеров

Блог компании LightmapPythonРазработка мобильных приложенийРазработка игрUnity

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

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

Читать далее
Всего голосов 39: ↑37 и ↓2+35
Просмотры4K
Комментарии 21

Тренды для разработчиков игр: зачем добавлять режим Among Us в свой проект

Блог компании LightmapРазработка игрДизайн игрПродвижение игрИгры и игровые приставки

В прошлом году мы добавили в мобильный PvP-шутер режим Imposter по мотивам игры Among Us — переработанную и переосмысленную в 3D мини-игру с новыми механиками и фичами. Она стала популярным местом входа в игру даже среди тех, кто раньше не слышал про Pixel Gun. Другой пример: когда зарелизился Fortnite, мы за один день потеряли треть онлайна, и чтобы вернуть игроков, сделали свою реализацию батлрояля. Решение сработало — оказалось, им просто не хватало королевской битвы. То есть тренды, это не просто желание хайпануть — это возможность разговаривать с аудиторией на их языке.

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

Читать далее
Всего голосов 38: ↑37 и ↓1+36
Просмотры6.5K
Комментарии 19

Еще пять инструментов против читеров на мобильном проекте с DAU 1 млн пользователей

Блог компании LightmapРазработка мобильных приложенийРазработка игрUnityДизайн игр

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

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

• Защита от измененных версий.
• Photon Plugin.
• Серверная валидация инаппов.
• Защита от взлома оперативной памяти.
• Собственная аналитика.

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

Читать далее
Всего голосов 41: ↑41 и ↓0+41
Просмотры6K
Комментарии 10

От эскиза до релиза: пайплайн регулярного создания контента на примере идеи для оружия от игрока

Блог компании LightmapРабота с 3D-графикойРазработка игрДизайн игрИгры и игровые приставки

Огромное количество игр построено на сервисной поддержке, будь то тактический шутер Rainbow Six Siege или большая ролевая World of Warcraft. Игроков постоянно вовлекают ивентами, игровыми режимами, картами, персонажами или перками. Но когда в проекте уже сотни и тысячи единиц контента, а релизы ежемесячно — это может стать проблемой для разработчиков.

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

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Просмотры4.8K
Комментарии 4

Первые пять шагов для перелома ситуации с читерами в PvP-шутере

Блог компании LightmapРазработка мобильных приложенийРазработка игрUnityДизайн игр

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

Итак, эти шаги:

• Обфускация.
• Хранение данных.
• Миграция прогресса.
• Система бана.
• Подсчет хеша всех библиотек.
• Защита от переподписывания версий.
• Photon Plugin.
• Серверная валидация инаппов.
• Защита от взлома оперативной памяти.
• Собственная аналитика.
• И одновременный релиз всех решений.

Сегодня поговорим про первые пять пунктов.

Читать далее
Всего голосов 42: ↑41 и ↓1+40
Просмотры9.9K
Комментарии 83

Как мы «вырастили» и победили читеров в своем онлайн-шутере

Блог компании LightmapРазработка мобильных приложенийРазработка игрДизайн игрИгры и игровые приставки

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

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

Читать далее
Всего голосов 93: ↑88 и ↓5+83
Просмотры40K
Комментарии 110

Информация

Дата основания
Местоположение
Россия
Сайт
lightmap.ru
Численность
101–200 человек
Дата регистрации