Pull to refresh
9
0
Send message

Игровая техподдержка в мобильном шутере: тандем Discord и Zendesk

Reading time7 min
Views1.8K

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

Поэтому занялись улучшением процессов: расширили штат сотрудников, обновили график для поддержки 24/7 и внедрили саппорт-сервис Zendesk. Подробнее обо всем под катом.

Читать далее
Total votes 38: ↑35 and ↓3+32
Comments1

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

Reading time7 min
Views2.7K

Нашему мобильному шутеру Pixel Gun 3D уже 9 лет. За это время у проекта появилось немало блогеров, в основном, ютуберов. Некоторые становились популярными и могли влиять на мнение игроков, с ними мы время от времени выходили на связь, но регулярной работы не было.

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

Читать далее
Total votes 35: ↑35 and ↓0+35
Comments0

Переработали батлрояль и увеличили его онлайн в 2 раза

Reading time9 min
Views9.4K

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

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

Читать далее
Total votes 58: ↑53 and ↓5+48
Comments7

Искусственный интеллект в DOOM

Reading time11 min
Views39K

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

Читать далее
Total votes 122: ↑120 and ↓2+118
Comments23

Elden Ring игнорирует 20 лет дизайна опенворлдов, и игре это только на пользу

Reading time5 min
Views37K

Как и любой проект From Software, Elden Ring похвалили практически со всех сторон — и пресса, и игроки. Любопытно, что несмотря на восторженные отзывы большинства, некоторые разработчики считают, что «ужасное управление» и «плохой UX» являются секретом популярности проекта.

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

Читать далее
Total votes 77: ↑67 and ↓10+57
Comments123

6 наблюдений о хорошем сюжете для видеоигр

Reading time5 min
Views17K

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

Своими наблюдениями об игровых сюжетах поделился сценарист инди-игр, а мы перевели.

Дисклеймер: под катом идет мнение автора оригинальной статьи. Местами очень спорное, местами любопытное. Делитесь своим в комментариях.

Читать далее
Total votes 63: ↑58 and ↓5+53
Comments46

Устану ли я играть, нужно ли уметь кодить и чем вообще занимаются QA в геймдеве

Reading time11 min
Views33K

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

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

Читать далее
Total votes 59: ↑58 and ↓1+57
Comments34

Децентрализованная конфигурация webpack или как упростить сборку проекта

Reading time8 min
Views8.8K

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

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

Но если говорить о конфигурации сборки, то такая декомпозиция скорее редкость, и в больших проектах часто можно встретить огромные webpack.config.js, модификация которых может доставить немало проблем и привести к ошибкам.

Если вам хочется сделать работу со сборкой проще и надёжнее при модификациях, то добро пожаловать под кат.

Читать далее
Total votes 51: ↑51 and ↓0+51
Comments19

Кластеризация изображений с помощью нейросети CLIP

Reading time5 min
Views5.9K

В статье пойдёт речь о том, как можно автоматически разделить датасет изображений на кластеры, которые поделены по качественному контекстному признаку, благодаря эмбедингам из нашумевшей нейронной сети CLIP от компании Илона Маска. Расскажу на примере контента из нашего приложения iFunny.

Кластеризация считается unsupervised задачей — это значит, что нет никакой явной разметки целевых значений, то есть нет «учителя». В нашем случае мы загружаем некий датасет картинок и хотим произвольно, но качественно побить его на кластеры. 

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

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

Читать далее
Total votes 53: ↑52 and ↓1+51
Comments11

Российский ядерный планетолёт

Reading time13 min
Views105K

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

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

Читать далее
Total votes 162: ↑134 and ↓28+106
Comments318

Шесть лет «Хаябусы-2»

Reading time10 min
Views32K
Может быть, в фантастике вам попадался такой сюжет: на орбите планеты появляется враждебный космический флот, бомбит ее и обстреливает, высаживает десант, а потом улетает с награбленным. Поразительно, но в современной космонавтике есть почти полный аналог — японский аппарат «Хаябуса-2» вышел на орбиту астероида Рюгу, затем высадил на его поверхность три ровера, сбросил кумулятивную бомбу, сделал по астероиду два выстрела и улетел на Землю с образцами, доставив их 5 декабря 2020. И все это было сделано с мирными целями во имя науки.


«Хаябуса-2» в 21 метре над астероидом, фото JAXA
Читать дальше →
Total votes 172: ↑172 and ↓0+172
Comments30

Как добавить обязательный запрос на IDFA через App Tracking Transparency

Reading time6 min
Views4.4K

С весны этого года каждый iOS-разработчик должен запрашивать разрешение пользователя на использование рекламного идентификатора IDFA. В предыдущей статье мы сделали подробный обзор изменений в App Store и их влияния на мир iOS-разработки.

А сегодня — практический материал. Расскажем, как с помощью нового фреймворка App Tracking Transparency добавить в своё приложение обязательный запрос на использование персональных данных, как потом эти данные передавать рекламным сетям и что делать, если пользователь решил не делиться своей активностью. 

Читать далее
Total votes 48: ↑45 and ↓3+42
Comments6

Чаты на вебсокетах. Теперь про бэкенд

Reading time4 min
Views14K

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

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

Читать далее
Total votes 51: ↑51 and ↓0+51
Comments17

Добавляем ботов в мультиплеерный шутер на Unity

Reading time7 min
Views8.7K

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

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

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

Читать далее
Total votes 47: ↑46 and ↓1+45
Comments2

20 вещей, которые я узнал за 20 лет работы инженером-программистом

Reading time8 min
Views99K

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

Особенно отзываются пункты «стройте компактные системы» и «лучший код — это отсутствие кода». Последний совет я превращаю в цитату из какого-то второсортного фильма про самураев: «Лучшая победа — та, которую ты одержал, не доставая меч из ножен» (думаю, сослуживцы за моей спиной уже закатывают глаза). И, конечно, бесконечные разговоры про легендарных 10x-программистов постоянно хочется прервать советом не связываться с 0,1x-программистами (которые реально существуют, в отличие от 10x).

Читать далее
Total votes 186: ↑181 and ↓5+176
Comments158

App Tracking Transparency: что изменилось с новой политикой приватности от Apple

Reading time6 min
Views6.2K

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

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

Читать далее
Total votes 41: ↑41 and ↓0+41
Comments2

Оптимизация игр на Unity: проверенный в деле план

Reading time10 min
Views31K

Оптимизация игр — отдельная головная боль разработчиков, процесс, который может идти бесконечно. Нужно учесть загрузку процессора, видеокарты и не потерять FPS. Нашли статью, автор которой 13 лет разрабатывает на Unity и делится советами по оптимизации. Под катом есть пошаговый план, как сделать проект на Unity более производительным.

Читать далее
Total votes 33: ↑32 and ↓1+31
Comments2

Перешли всем отделом геймдизайна на Notion. Полёт нормальный

Reading time10 min
Views21K

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

Notion — это такой мегакомбайн, совмещающий в себе Jira, Confluence и Google Docs. В нем бок о бок уживаются огромная база данных, совместная работа над документами, календари, напоминания, списки задач, канбан-доски, интеграции сторонних инструментов и много-много другого.

Для себя мы организовали удобное хранилище всех геймдизайнерских материалов (ГДД, концепт-доки, фоллоу-апы, планы по контенту и так далее), сделали систему тегов, которая быстро позволяет найти любой документ, и создали готовые шаблоны для создания ТЗ в пару кликов.

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

Читать далее
Total votes 50: ↑50 and ↓0+50
Comments18

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

Reading time12 min
Views6.6K

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

• approved — картинки идут в раздел collective (развлекательный контент и мемы);
• not suitable — не попадают в общую ленту, но остаются в ленте пользователя (селфи, пейзажи и другие);
• risked — получают бан и удаляются из приложения (расизм, порнография, расчленёнка и всё, что попадает под определение «противоправный контент»).

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

Читать далее
Total votes 49: ↑48 and ↓1+47
Comments0

Jetpack Compose — как легко построить UI на Android

Reading time4 min
Views14K

В июле этого года вместе с Android Studio Arctic Fox вышла одна из долгожданных библиотек — Jetpack Compose. Она позволяет создавать пользовательский интерфейс в декларативном стиле и обещает быть революцией в построении UI.

Разбираемся, так ли это на самом деле, какие у библиотеки преимущества и недостатки. Подробности — в статье.

Читать далее
Total votes 51: ↑46 and ↓5+41
Comments15
1

Information

Rating
Does not participate
Registered
Activity