Pull to refresh
24
0
Владимир @Vrenskiy

DevOps

Send message

Нетривиальное слияние репозиториев с помощью git-filter-repo

Reading time4 min
Views5K

Вторая часть истории про слияние репозиториев. Суть проблемы вкратце такова: надо слить репозиторий с подрепозиторием с сохранением истории. Решение на gitpython работало за 6 часов и выдавало удовлетворительный результат. Но, что-то не давало мне покоя...

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments3

«Почему надо фейлиться быстро»: Стив Коттон из Bungie о креативном процессе в компании

Reading time3 min
Views10K
Сегодня стало известно о разделении Activision и Bungie — а у нас на руках как раз оказался материал с подборкой принципов креативного директора Bungie Стивена Коттона в разработке, отложенный до лучших времен, а перевести решили как раз сейчас. За этот материал отдельное спасибо нашему продюсеру Анатолию Шестову, который поговорил со Стивом в офисе компании во время PAX West 2018. Поехали.


Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments13

Создаем стильный водопад из RiME прямо в Unity или UE4

Reading time6 min
Views14K
Есть игры с таким запоминающимся визуалом, что страшно считать потраченное на его разработку время, взять хотя бы последний God of War или RDR2. А бывают проекты, которые подкупают своей атмосферной, даже если они далеки от ААА. Как пример — RiME не раз хвалили за стиль, звук и историю. А недавно левел-дизайнер игры перешел в команду CD Projekt Red, чтобы работать над Cyberpunk 2077. Еще RiME вдохновила 3D-художника Math Roodhuizen на создание собственного арта.

И на фоне всего этого я наткнулся на ArtStation на гайд по созданию реалистичной воды. Если в прошлый раз речь шла про реку, то в этот раз про стилизованный водопад. В первой части разберем, как создавать «волновой эффект», да еще и прямо в игровом движке. Для удобства все шаги сопровождаются гифками и/или картинками.

Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments2

CG-моделинг 80 уровня: фотореалистичные персонажи real-time в Unreal

Reading time2 min
Views18K
На днях тестировали новую графику в War Robots и получили уйму положительного фидбека от игроков. И хотя речь о мобильной графике, места для роста там очень много. С десктопом еще интереснее. Если раньше на рендер качественной сцены с фотореалистичными моделями могли уйти недели, то сейчас это делается real-time в самом Unreal. Увидел работы 3D-художника на ArtStation, а следом нашел интервью с ним на 80 level, выглядит круто. Под катом преимущественно картинки и ролики.

Total votes 42: ↑41 and ↓1+40
Comments31

Модульный Sci-Fi уровень на UE4: вдохновляемся Ностромо и Серенити

Reading time9 min
Views13K
Баланс и реиграбельность, пожалуй, одни из главных моментов для PvP-шутера. Визуал тоже важен и для всего этого у нас есть целый пайплайн левел-дизайнера. Другое дело — жанры, где атмосфера окружения стоит на первом месте, а над уровнем работает один человек вместо целой команды. И воркфлоу такого «человека-оркестра» мне оказался очень интересен. Недавно наткнулся как раз на статью, где автор выполняет как раз такую роль и создает Sci-Fi локацию.

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

Total votes 42: ↑41 and ↓1+40
Comments4

Игровые фичи с помощью ECS: добавляем в шутер аптечки

Reading time8 min
Views14K


От ковров перейдем к серьезным вещам. Мы уже рассказали про ECS, какие есть фреймворки для Unity и почему написали свой (со списком можно ознакомиться в конце статьи). А сейчас остановимся на конкретных примерах, как используем ECS в нашем новом мобильном PvP-шутере и как реализуем игровые фичи. Отмечу, что применяем эту архитектуру мы только для симуляции мира на сервере и системы предсказания на клиенте. Визуализация и рендер объектов реализованы с помощью MVP-паттерна — но сегодня не об этом.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments9

Его ворсейшество из 11 полигонов, ничего общего с настоящим

Reading time2 min
Views35K


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

Поэтому, да, ковер из всего 11 полигонов. Просто, но изящно. Под катом перевод небольшого гайда.
Читать дальше →
Total votes 102: ↑99 and ↓3+96
Comments45

Симулируем реалистичную реку в Houdini и Unreal Engine 4

Reading time6 min
Views38K


Когда только начался переход с DX9 на DX10 стало появляться много игр с круто смоделированной водой с правильными эффектами. Тогда разница была очень заметной, особенно если сравнивать игры прошлых поколений и тот же Crysis. Поэтому когда наткнулся на гайд, как сделать простую, но реалистичную симуляцию реки через плагин Houdini для UE4, то даже не стал задумываться и быстро перевел.
Total votes 46: ↑46 and ↓0+46
Comments3

Общая игровая логика на клиенте и сервере

Reading time16 min
Views15K
На Pixonic DevGAMM Talks выступал еще наш DTO Антон Григорьев. Мы в компании уже говорили, что работаем над новым PvP-шутером и Антон поделился некоторыми нюансами архитектуры этого проекта. Он рассказал, как построить разработку, чтобы изменения в игровой логике клиента появлялись на сервере автоматически (и наоборот), и можно ли не писать код, но при этом минимизировать трафик. Ниже — запись и расшифровка доклада.

Total votes 34: ↑33 and ↓1+32
Comments6

Как создать процедуральный арт менее чем за 100 строк кода

Reading time6 min
Views23K


Generative art (генеративное или процедуральное искусство) может отпугнуть, если вы никогда с ним раньше не сталкивались. Если коротко, то это концепция искусства, которое буквально создает само себя и не требует хардкорных знаний программирования для первого раза. Поэтому я решил немного разбавить нашу ленту, погнали.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments21

Как создать игровой ИИ: гайд для начинающих

Reading time31 min
Views94K


Наткнулся на интересный материал об искусственном интеллекте в играх. С объяснением базовых вещей про ИИ на простых примерах, а еще внутри много полезных инструментов и методов для его удобной разработки и проектирования. Как, где и когда их использовать — тоже есть.

Большинство примеров написаны в псевдокоде, поэтому глубокие знания программирования не потребуются. Под катом 35 листов текста с картинками и гифками, так что приготовьтесь.

UPD. Извиняюсь, но собственный перевод этой статьи на Хабре уже делал PatientZero. Прочитать его вариант можно здесь, но почему-то статья прошла мимо меня (поиском пользовался, но что-то пошло не так). А так как пишу в блог, посвященный геймдеву, решил оставить свой вариант перевода для подписчиков (некоторые моменты у меня оформлены по-другому, некоторые — намеренно пропущены по совету разработчиков).
Читать дальше →
Total votes 60: ↑60 and ↓0+60
Comments19

Cucumber в облаке: использование BDD-сценариев для нагрузочного тестирования продукта

Reading time13 min
Views6.5K
Еще одна расшифровка доклада с Pixonic DevGAMM Talks. Антон Косякин — Technical Product Manager и работает над ALICE Platform (такая Jira для отелей). Он рассказывал, как они интегрировали воедино существующие в проекте инструменты для тестирования, зачем нужны нагрузочные тесты, какие инструменты предлагает комьюнити и как запустить эти инструменты в облаке. Ниже — выступление и текст доклада.

Total votes 31: ↑30 and ↓1+29
Comments8

Принцип KISS в разработке

Reading time7 min
Views17K
Следующий доклад с Pixonic DevGAMM Talks, который мы расшифровали, немного философский — это выступление Константина Гладышева. Он Lead Game Programmer в 1C Game Studios и рассказывал о принципе управления сложностью разработки в контексте всего продукта, а не отдельных фичей. И на примерах показал, почему главное в разработке — это определить, чего делать не надо. Про другие доклады можно почитать по ссылкам в конце статьи.

Total votes 30: ↑30 and ↓0+30
Comments3

Как ECS, C# Job System и SRP меняют подход к архитектуре

Reading time10 min
Views16K
Мы в компании давно работаем с Unity и не могли не пригласить их ребят на Pixonic DevGAMM Talks, который был в сентябре. Field Engineer Валентин Симонов рассказал, как планировать архитектуру игр с учетом преимуществ новых технологий. Unity работает над ними уже несколько лет, чтобы добиться недостижимого ранее уровня производительности. Послушать выступление можно на YouTube, а почитать расшифровку со слайдами — сразу под катом.

Total votes 34: ↑33 and ↓1+32
Comments11

Архитектура мета-сервера мобильного онлайн-шутера Tacticool

Reading time11 min
Views9.9K
Еще один доклад с Pixonic DevGAMM Talks — на этот раз от наших коллег из PanzerDog. Lead Software Engineer компании Павел Платто разобрал мета-сервер игры с сервисно-ориентированной архитектурой, рассказал, какие решения и технологии были выбраны, что и как у них масштабируется, и с какими трудностями пришлось столкнуться. Текст доклада, слайды и ссылки на другие выступления с митапа, как всегда, под катом.

Total votes 31: ↑30 and ↓1+29
Comments5

Практика использования модели акторов в бэкэнд-платформе игры Quake Champions

Reading time9 min
Views12K
Продолжаю выкладывать доклады с Pixonic DevGAMM Talks — нашего сентябрьского митапа для разработчиков высоконагруженных систем. Много делились опытом и кейсами, и сегодня публикую расшифровку выступления backend-разработчика из Saber Interactive Романа Рогозина. Он рассказывал про практику применения акторной модели на примере управления игроками и их состояниями (другие доклады можно посмотреть в в конце статьи, список дополняется).

Total votes 27: ↑27 and ↓0+27
Comments11

CICD: бесшовный деплой на распределенные кластерные системы без даунтаймов

Reading time11 min
Views18K
Выкладываю второй доклад с нашего первого митапа, который провели в сентябре. В прошлый раз можно было почитать (и посмотреть) про использование Consul для масштабирования stateful-сервисов от Ивана Бубнова из BIT.GAMES, а сегодня поговорим про CICD. Точнее расскажет об этом наш системный администратор Егор Панов, который отвечает за доступность инфраструктуры и сервисов в Pixonic. Под катом — расшифровка выступления.


Total votes 33: ↑33 and ↓0+33
Comments1

Использование Consul для масштабирования stateful-сервисов

Reading time12 min
Views18K
22 сентября провели наш первый нестандартный митап для разработчиков высоконагруженных систем. Было очень круто, много позитивного фидбека по докладам и поэтому решил не только их выложить, но и расшифровать для Хабра. Сегодня публикуем выступление Ивана Бубнова, DevOps из компании BIT.GAMES. Он рассказал о внедрении дискавери-сервиса Consul в уже рабочий высоконагруженный проект для возможности быстрого масштабирования и failover`а stateful-сервисов. А также об организации гибкого пространства имен для бэкэнд-приложения и подводных камнях. Теперь слово Ивану.


Я администрирую продакшн-инфраструктуру в студии BIT.GAMES и расскажу историю внедрения консула от Hashicorp в наш проект «Гильдия Героев» — fantasy RPG с асинхронным pvp для мобильных устройств. Выпускаемся на Google Play, App Store, Samsung, Amazon. DAU около 100 000, online от 10 до 13 тысяч. Игру делаем на Unity, поэтому клиент пишем на С# и используем свой собственный скриптовый язык BHL для игровой логики. Серверную часть пишем на Golang (перешли на него с PHP). Дальше — схематичная архитектура нашего проекта.
Total votes 27: ↑26 and ↓1+25
Comments9

Как мы отлаживаем в браузере самописный ECS на игровом сервере

Reading time6 min
Views5.7K


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

В предыдущих статьях подробно рассказывали (список сразу под катом) о том, как устроена ECS в нашем новом проекте в разработке и как выбирали готовые решения. Одним из таких решений был Entitas. Он не устроил нас в первую очередь из-за отсутствия хранения истории состояний, но очень понравился тем, что в Unity визуально и наглядно можно посмотреть всю статистику по использованию сущностей, компонентов, систему пулов, производительность каждой системы и т.д.

Это вдохновило нас на создание своих инструментов на игровом сервере, чтобы смотреть, что происходит в матче с игроками, как они играют, как перформит система в целом. На клиенте у нас тоже есть подобные наработки для визуальной отладки игры, но инструменты в клиенте чуть более простые по сравнению с тем, что мы сделали на сервере.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments4

А что, можно было дешевле?

Reading time6 min
Views13K
Я всегда любил и умел торговаться. Со стороны покупателя это своего рода игра на получение максимальной выгоды, а для продавца — способ показать, что он ценит труд и нелегкую жизнь человека, которому делает скидку. Видел, как торгуются за 10 рублей, за 5 и даже жвачку.

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


Читать дальше →
Total votes 46: ↑37 and ↓9+28
Comments43

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity