Как стать автором
Обновить
91
0
Антон Григорьев @fischer

CTO в Pixonic

Отправить сообщение

Custom Pod Autoscaler – сверхгибкое автоскалирование в Kubernetes

Время на прочтение8 мин
Количество просмотров4.3K

Преимущества использования системы оркестрации контейнеров — удобство их развертывания, обновления и масштабирования. И одним из наиболее популярных таких инструментов является Kubernetes. 

Многие знают, что Kubernetes имеет встроенный механизм для автоскалирования подов — Horizontal Pod Autoscaling (HPA). Но что, если надо принимать решение с учетом множества факторов: суммы метрик, зависимости от количества готовых контейнеров, процента или доли доступных/недоступных подов или даже времени суток? А если эти показатели важны для нас все вместе? 

Мы в студии Whalekit смогли решить эту задачу. И отличным решением для этого стал Custom Pod Autoscaler (CPA).

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии0

Фантастические формулы и как они работают

Время на прочтение16 мин
Количество просмотров13K

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

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

Читать далее
Всего голосов 23: ↑22 и ↓1+25
Комментарии6

Какое тестовое задание выдать джависту? Лучше просто поговорить

Время на прочтение4 мин
Количество просмотров8.8K

Всем привет, меня зовут Сергей, я руковожу группой серверных программистов студии Whalekit и активно занимаюсь наймом в эту группу. Сервер пишем на Java — соответственно, нанимаем мы тоже джавистов.

В 2016 году мы выдавали кандидатам тестовое задание, успешным кандидатам назначалось техническое собеседование.

В 2018 мы добавили 45-минутный «мотивирующий на выполнение тестового задания» этап, чтобы кандидаты лучше понимали, соответствует ли вакансия их ожиданиям.

В 2021 мы полностью отказались от тестовых заданий.

Но обо всем по порядку.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии13

Облачный гейминг обречен из-за физики? Или подробнее о задержках ввода, откуда они берутся и как с ними бороться

Время на прочтение9 мин
Количество просмотров13K

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

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

Кажется, слишком много действий, долго и сложно? Давайте разбираться.

Читать далее
Всего голосов 20: ↑19 и ↓1+21
Комментарии35

Как мы придумали свою диаграмму Ганта

Время на прочтение15 мин
Количество просмотров15K

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

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

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

Читать далее
Всего голосов 26: ↑25 и ↓1+26
Комментарии9

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

Время на прочтение8 мин
Количество просмотров6.2K

Привет! Меня зовут Денис Рычковский. Всю сознательную жизнь я люблю две вещи: арт и игры. С 2015 года я работаю в геймдев-индустрии, а последние 3,5 года — на позициях лида и арт-директора.

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

Итак, начнем
Всего голосов 20: ↑19 и ↓1+21
Комментарии0

Создаём единую инфраструктуру для параллельной разработки мобильных игр

Время на прочтение10 мин
Количество просмотров2.3K

Она помогла нам переиспользовать игровые механики в непохожих проектах и увеличила скорость разработки на 25%.

Читать далее
Всего голосов 13: ↑12 и ↓1+12
Комментарии0

Пересаживаем высоконагруженный игровой проект с Photon на кастомные решения

Время на прочтение5 мин
Количество просмотров6K


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

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

В нашем случае такая обработка вылилась в собственные реализации тех или иных компонентов. Матчмейкинг и социальные фичи перекочевали в отдельные сервисы, новые игровые механики реализовывались на сервере для лучшей согласованности. В итоге от Photon остался транспорт, прослойка PUN на стороне клиента и некоторые сопутствующие расходы в виде лицензии, привязки к Windows и .Net Framework и чрезмерных аллокаций на клиенте.

Стало понятно, что затраты на фреймворк превышают его ценность, и надо тiкать.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии3

Как протащить верблюда сквозь игольное ушко, или обновление компилятора С++ на проекте старше 10 лет

Время на прочтение12 мин
Количество просмотров22K

Привет! Меня зовут Колосов Денис, я являюсь разработчиком клиентской части проекта «Allods Online» в студии IT Territory. Сегодня я расскажу о том, как мы решились обновить среду разработки и заодно компилятор на нашем проекте с Visual C++ 2010 на 2019. 

О чем пойдет речь?

1. Как мы докатились до такой жизни и отважились на этот шаг;
2. О сборке вендерских библиотек и всего окружения, которое у нас есть;
3. С какими кастомными проблемами мы столкнулись;
4. К чему это все привело.

Читать далее
Всего голосов 78: ↑78 и ↓0+78
Комментарии29

Unity «Best» Practices

Время на прочтение11 мин
Количество просмотров27K

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

Что такое AssetPostprocessor и чем Animation отличается от Animator? Почему не стоит доверять OnTriggerExit и зачем вам CanvasGroup? Чем хорош GameObject.Find и как вас спасут Property?

Далее в статье обсудим это, а также другие «особенности» работы с движком Unity.

Читать далее
Всего голосов 33: ↑31 и ↓2+36
Комментарии12

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

Время на прочтение24 мин
Количество просмотров168K

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее
Всего голосов 336: ↑324 и ↓12+411
Комментарии300

Внутриигровые эмодзи: как мы создаем анимации для Rush Royale

Время на прочтение4 мин
Количество просмотров3.9K

Привет! Я Виталий, ведущий 2D-художник, аниматор и специалист по эффектам в мобильной tower-defence игре Rush Royale студии IT Territory. Сегодня я расскажу об одной довольно важной части нашего проекта — эмодзи. Именно благодаря ним игроки могут выразить эмоции в жарких боях за башни — что, на наш взгляд, очень немаловажно.

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

Читать далее
Всего голосов 20: ↑19 и ↓1+20
Комментарии4

Сжатые атласы в Unity Runtime

Время на прочтение10 мин
Количество просмотров12K

Привет, меня зовут Юрий Грачев, я программист из студии Whalekit — автора зомби-шутера Left to Survive и мобильного PvP-шутера Warface: Global Operations. Кстати, именно о его технологиях мы и поговорим подробнее далее.

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

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Комментарии30

2022 год для мобильного геймдева (и не только): чего ждать и к чему готовиться

Время на прочтение6 мин
Количество просмотров20K

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

О дефиците железа, IDFA и 5G, влиянии пандемии и статистике в цифрах — обо всем этом подробнее под катом.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

Укрощение батчинга за счет оптимизации масок UI

Время на прочтение8 мин
Количество просмотров6.2K

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

В какой-то момент мы в War Robots столкнулись с необходимостью оптимизировать экран акций: обнаружилось, что для отрисовки этого экрана Unity совершала более 300 батчей. Для сравнения: куда более сложный экран ангара, содержащий 3D-сцену, 3D- и 2D-интерфейсы, эффекты и анимации, рисовался примерно за 100 батчей.

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

Читать далее
Всего голосов 20: ↑19 и ↓1+21
Комментарии2

Урок цифры: как мальчишки и девчонки, а также их родители профориентировались в геймдеве

Время на прочтение9 мин
Количество просмотров5K

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

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

Читать далее
Всего голосов 16: ↑15 и ↓1+17
Комментарии1

The Matrix Awakens — новое технодемо Unreal Engine 5

Время на прочтение2 мин
Количество просмотров37K

Пару часов назад прямо во время The Game Awards Epic Games выпустила бесплатное демо Unreal Engine 5 для Xbox Series X|S и PS5, предзагрузкой которого компания дразнилась еще в начале недели.

Отчасти снятое с реальными актерами, отчасти воссозданное в игровом движке, демо создано при участии членов оригинальной команды кинотрилогии «Матрица», в том числе Ланой Вачовски, Джеймсом МакТейгу и Джоном Гаэтой, в сотрудничестве с командой Epic Games.

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

Читать далее
Всего голосов 49: ↑49 и ↓0+49
Комментарии68

Почему мы решили делать сервис облачного гейминга на видеокартах AMD

Время на прочтение7 мин
Количество просмотров14K

Рынок облачного гейминга в России развивается ударными темпами. Здесь у нас и Loudplay, и MY.GAMES Cloud (ех. Playkey), GFN.ru. Мобильные операторы связи тоже находят свою выгоду и заключают партнерские соглашения с перечисленными сервисами, запуская собственные проекты. Так поступила «Вымпелком», запустив Beeline Gaming, а вслед за ней — МТС, Мегафон и Tele2. Особых проблем запуск таких сервисов не доставляет — ведь они реализованы на основе платформ партнеров, которые давно отлажены и работают как нужно.

Год назад мы в Playkey стали частью MY.GAMES, вложив технологию своего облачного сервиса в основу MY.GAMES Cloud. Все это время сервис находится в состоянии soft launch. А недавно объявили о своем партнерстве с AMD, в рамках которого адаптировали протокол передачи видеопотока сервиса и будем тестировать видеокарты AMD Radeon™ RX 6700 XT на своих серверах. В чем профит этого партнерства для конечного пользователя, почему мы остановились именно на AMD, а не NVIDIA с их мощной трассировкой лучей, а также о том, насколько эта технология критична для игр, запускаемых через стриминговые сервисы, разбираемся в статье.

Читать далее
Всего голосов 25: ↑22 и ↓3+26
Комментарии45

Разделяй и властвуй: детерминированный и скриптованный Match-3 движок

Время на прочтение11 мин
Количество просмотров7.2K

Привет! Я Павел Щеваев, CTO студии BIT.GAMES, части MY.GAMES. Вы можете знать нас по таким играм, как «Гильдия Героев» и «Домовята» в Одноклассниках (да, это тоже были мы), а также по нашему текущему флагману Storyngton Hall — это классическая три-в-ряд с сюжетом в викторианском стиле. О нем-то и пойдет речь далее.

Когда я писал про тестовую ферму из Android-устройств, я не раз упоминал наш самописный детерминированный движок Match-3, благодаря которому и возникла возможность повсеместного покрытия игры тестами без ущерба для жизни и здоровья QA-команды.

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

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии21

Что такое ECS и с чем его компилят

Время на прочтение27 мин
Количество просмотров32K

Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев в России и мире в целом, о современных трендах и новостях индустрии. 

Меня зовут Андрей Боронников, и я работаю в команде экспериментальных проектов студии IT Territory, где занимаюсь разработкой игровых прототипов. Как-то раз в процессе поиска новых подходов к быстрой разработке прототипов мы вспомнили о таком замечательном подходе, как Entity Component System. О нем уже многое было раньше сказано, но мало что показано. 

О чем сегодня пойдет речь?

Для начала мы поговорим, куда в общем и целом движется Unity и зачем им Data Orientation System. Рассмотрим принцип работы ECS, зачем он нужен, кто вообще его использует и наиболее популярные реализации — и, конечно же, примеры практического применения ECS в играх.

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии5

Информация

В рейтинге
Не участвует
Откуда
Одинцово, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность