Войти

Публикации

Программирование / Статьи / Физика
Гидродинамика Шрёдингера на пальцах
Гидродинамика Шрёдингера на пальцах
В этой статье в качестве эксперимента я постараюсь максимально доступно рассказать, как работает новый метод расчёта гидродинамики, основанный на решении уравнения Шрёдингера.

Читать | Комментарии [86]
9 окт. 2019

Игровой Дизайн / Статьи
Всё, что вы знаете, — ложно! (полная русская транскрибация выступления Сида Мейера)
В этом выступлении Сид Мейер делится своим игродизайнерским опытом и находками, опираясь в примерах на серию Civilization и некоторые другие свои игры (Pirates!, Railroad Tycoon, авиасимуляторы).

Читать | Комментарии [48]
4 сен. 2019

Программирование / Статьи / Графика
Предрасчёт рейкаста для эффективного рендеринга травы и меха
Предрасчёт рейкаста для эффективного рендеринга травы и меха
Здравствуйте. В этой статье я хотел бы рассказать об алгоритме, который я разработал в результате своих экспериментов с предрасчётом трассировки лучей. Результат работы одной из промежуточных версий алгоритма можно увидеть здесь:

Читать | Комментарии [24]
18 авг. 2019

Программирование / Статьи / Графика
На пути к эффективному алгоритму Global Illumination, часть 1
В этой статье мы рассмотрим небольшой исторический контекст разработки алгоритмов global illumination, а также поразмышляем, какими свойствами должен обладать оптимальный алгоритм расчёта global illumination.

Читать | Комментарии [142]
22 апр. 2019

Игровая индустрия / Статьи / Управление
Как создать игру мечты, опубликовать её и не умереть в процессе.
Как создать игру мечты, опубликовать её и не умереть в процессе.
Вольный перевод статьи «How to make your dream game, publish it and not die in the process». Автор Juan Linietsky, главный разработчик игрового движка Godot.

Читать | Комментарии [106]
4 мар. 2019

Программирование / Статьи / Графика
Синхронизации в Vulkan
Синхронизации в Vulkan
Одно из важных отличий Vulkan от более старых графических API, это больший контроль над синхронизациями как с CPU, так и внутри GPU. И как всегда многопоточность и синхронизация — это достаточно сложная тема. Стоит помнить, что драйвер Vulkan не обязан оптимизировать вызовы API, поэтому для максимальной производительности синхронизации должны быть расставлены наиболее оптимальным образом.

Читать | Комментарии [36]
26 фев. 2019

Программирование / Подсказки / Общее
Подсветка кода и IntelliSense в Visual Studio для любых типов файлов.
Подсветка кода и IntelliSense в Visual Studio для любых типов файлов.
Привет всем! Сейчас я поделюсь с вами способом добавления кастомных типов исходников в MS Visual Studio.

Читать
20 ноя. 2018

Программирование / Статьи / Графика
Пишем простой рейтрейсер используя Vulkan Raytracing
Пишем простой рейтрейсер используя Vulkan Raytracing
Всем привет! Сегодня я расскажу вам, как получить результат, изображенный на заглавной картинке к этой статье, используя Vulkan Raytracing.

Читать | Комментарии [61]
18 ноя. 2018

Программирование / Статьи / Графика
Введение в Vulkan Raytracing
Введение в Vulkan Raytracing
В какое время мы живем! Казалось, еще недавно мы часами ждали пока CPU просчитает знаменитое изображение за авторством Тернера Уиттеда, а сегодня нам доступны потребительские модели видеокарт с аппаратной поддержкой рейтрейсинга! Любой программист трехмерной графики скажет, что он мечтал об этом дне, когда мы, наконец, можем трассироваться в мировом пространстве в реальном времени.

Читать | Комментарии [183]
4 ноя. 2018

Игровая индустрия / Статьи / Управление
С чего начать создание своей игры, если бюджет – полтора бомж-пакета?
С чего начать создание своей игры, если бюджет – полтора бомж-пакета?
Этим вопросом рано или поздно начинают задаваться многие, кто так или иначе связан с игровой индустрией. Тем более те, кто действительно пришел в нее, чтобы создать ту самую «Игру мечты».

Читать | Комментарии [81]
27 сен. 2018

Программирование / Термины / Графика
Universal Scene Description (USD)
Universal Scene Description (USD)
Universal Scene Description (USD) — файловый формат описания трехмерной сцены, разработанный компанией Pixar.

Читать
5 июня 2018

Программирование / Статьи / Общее
Генетические алгоритмы в разработке игр.
Генетические алгоритмы в разработке игр.
Привет детишки, сегодня я хочу рассказать вам сказку про генетические алгоритмы и их применение в игрострое. Простыми словами мы рассмотрим теорию и практику, а в качестве примера напишем небольшую утилиту для балансировки игры.

Читать | Комментарии [63]
20 мар. 2018

Программирование / Термины / Графика
Verge3D
Verge3D
Verge3D - трёхмерный движок для веба, использующий технологию WebGL. Основан на Three.js, от которого отличается наличием реалистичных материалов, визуальным редактором логики Puzzles, средой создания приложений и более тесной интеграцией с программами моделирования Blender и 3ds Max. 14 декабря 2017 года в рамках проекта был запущен облачный сервис Verge3D Network для публикации и распространения 3D-приложений.

Читать | Комментарии [19]
8 дек. 2017

Программирование / Подсказки / Физика
Экспорт геометрии коллизии с материалом из 3DS Max в формат XML.
В предыдущей статье http://www.gamedev.ru/code/tip/Collision_material мы разобрали как написать простой скрипт, с помощью которого можно создать костюмный материал, но мы не разобрали, как его использовать. В данной статье мы разберём как создать скрипт для экспорта из 3DS MAX геометрии коллизии с наложенным материалом.

Читать
6 дек. 2017

Игровой Дизайн / Статьи
Мотивирующие механики в геймдизайне.
Мотивирующие механики в геймдизайне.
Это вольный перевод, а местами и пересказ статьи Josh Bycer Motivating Mechanics in Game Design на тему мотивации и удержания игроков посредством внутриигрового прогресса.

Читать | Комментарии [22]
22 окт. 2017

Игровая индустрия / Статьи / Маркетинг
Чему я научился, играя в "SteamProphet" [перевод]
Чему я научился, играя в "SteamProphet" [перевод]
Это перевод статьи норвежского/американского разработчика Ларса Душе (Lars Doucet) «What I learned playing "SteamProphet"». «SteamProphet» («Steam-Предсказатель») - игра, участники которой выбирают игры, выходящие на следующей неделе в Steam, пытаясь предсказать, какие из них заработают больше. Автор делится своими наблюдениями и выводами о рынке инди-игр в Steam, а также призывает изучать рынок для увеличения своих шансов на успех.

Читать | Комментарии [8]
13 июля 2017

Игровая индустрия / Статьи / Управление
Когда и как перемещать игровую компанию за пределы России?
Если вы успешно занимаетесь разработкой и распространением игр, то в определенный момент вашей компании станет тесно на российском рынке. В этой статье мы попробуем определить, когда  стоит задуматься о трансформации в международную группу компаний. Будем рассматривать ситуацию с точки зрения бизнеса – считать деньги и измерять высоту юридических барьеров.

Читать | Комментарии [117]
21 мая 2017

Игровой Дизайн / Статьи
Математическая модель игры Доббль
Математическая модель игры Доббль
В статье рассказывается о математической модели настольной игры Доббль и приводятся ответы на вопросы:

Почему между любыми двумя карточками ровно одно совпадение?
Как построить набор символов для игры?
Каких карточек не хватает в комплекте игры?

Читать | Комментарии [3]
5 мая 2017

Программирование / Статьи / Общее
Детали плавающей точки
Детали плавающей точки
Цель статьи - дать читателю представление о работе с числами с плавающей точкой в программировании. Предполагается дать базовый объём информации и предоставить уровень понимания, достаточный для самостоятельного проведения оценок в задачах, возникающих на практике.

Читать | Комментарии [22]
4 мая 2017

Программирование / Статьи / Общее
Frustum Culling
Одной из важных оптимизаций в компьютерных играх является отсечение геометрии, не видимой на экране (Frustum Culling, далее фрустум кулинг). Раз мы все равно не увидим объект, то и не зачем тратить ресурсы компьютера на его подготовку и отрисовку.

Читать | Комментарии [65]
8 фев. 2017

Программирование / Статьи / Графика
Стоимость OpenGL команд.
Стоимость OpenGL команд.
В современных проектах для получения красивой картинки отрисовываются тысячи различных объектов: персонажи, строения, ландшафт, природа, эффекты и т.д. Разумеется есть разные способы отобразить на экране геометрию. В этой статье мы рассмотрим как сделать это эффективно, посчитаем и сравним стоимость различных API вызовов для отрисовки геометрии.

Читать | Комментарии [73]
8 фев. 2017

Программирование / Подсказки / Физика
Создание собственного материала для геометрии коллизии с помощью MAX Script
Создание собственного материала для геометрии коллизии с помощью MAX Script
Немного предистории. Поскольку наша команда писала свой игровой движок, постепенно развивая его, у нас появилась необходимость создать геометрию коллизии игрового мира. Но создать её — это одно дело, другое дело было наложить на неё соответсвующий материал и экспортировать саму геометрию с привязанными материалами и их флагами.

Читать | Комментарии [3]
17 янв. 2017

Программирование / Статьи / Графика
Rectilinear Texture Warping
Rectilinear Texture Warping
В данной статье я расскажу об адаптивном методе теневых карт под названием Rectilinear Texture Warping for Adaptive Shadow Maps, о его достоинствах и недостатках, а также о реальном опыте использования данного метода в проекте (и что из этого вышло).

Читать | Комментарии [29]
12 окт. 2016

Программирование / Статьи / Игровая логика и ИИ
Behavior Trees в Unreal Engine 4
Behavior Trees в Unreal Engine 4
Для программирования логики поведения искусственного интеллекта в Unreal Engine, используется Behavior Tree - древовидная структура которая задаёт действия для выполнения и условия для них. В этой статье будут описаны отличия реализации Behavior Tree в Unreal Engine 4 от классических реализаций. Кроме того приведен полный перечень имеющихся узлов для Behavior Tree с описанием.

Читать | Комментарии [13]
30 сен. 2016

Программирование / Статьи / Графика
Vulkan API «Hello Triangle»
Vulkan API «Hello Triangle»
Статья описывает основные принципы работы с Vulkan API и включает в себя материал по установке SDK, обработке ошибок, работе с различными сущностями API и краткий курс по выводу треугольника, в качестве практической части. Работа позиционирует себя как быстрый экскурс в основы Vulkan API, не претендуя на полноту и оставляя детали на самостоятельное рассмотрение.

Читать | Комментарии [69]
15 сен. 2016

Программирование / Статьи / Графика
Маленькая статья про Vulkan
Это небольшая статья для тех, кто хочет разобраться в основных концепциях нового графического API и его отличиях от предыдущего поколения. Я буду говорить о Vulkan vs OpenGL, но многие вещи можно применить и к другим API нового и старого поколений.

Читать | Комментарии [10]
1 сен. 2016

Программирование / Статьи / Физика
Unity Character Motor
Unity Character Motor
Когда-то давно, еще во времена Unity 3, мне стало интересно как работает физика персонажа. И я заглянул в класс CharacterMotor. Класс был написан на JavaScript, был огромный, страшный и непонятный. Я решил переписать его на C#, попутно отрефакторив. Недавно я вспомнил про свой старый CharacterMotor, решил еще немного подправить его и поделиться им. Тем более, тема физики персонажа не очень популярная (я вообще не видел никакой информации), хотя довольно интересная.

Читать | Комментарии [61]
29 июня 2016

Программирование / Статьи / Общее
Ассемблерные вставки в GCC
Статья является попыткой систематизировать brain-dump известной автору информации по ассемблерным вставкам в GCC.

Читать | Комментарии [33]
30 апр. 2016

Игровая индустрия / Статьи / Маркетинг
Как понять свою игру с помощью аналитики
Как понять свою игру с помощью аналитики
Это перевод статьи Сергея Галёнкина «Understanding your game through data». В этой статье автор пытается доказать, что если ты хочешь сделать свою игру лучше, то можно провести парочку простейших исследований, для которых не потребуются ни большие средства, ни покупка дорогостоящих отчетов. Он полагает, что правильные исследования и полученные знания – благо, которое поможет тебе принять взвешенное решение.

Читать | Комментарии [18]
31 мар. 2016

Игровой Дизайн / Статьи
Игровой аудит, или как вытащить на гору «велосипед с квадратными колёсами»
Игровой аудит, или как вытащить на гору «велосипед с квадратными колёсами»
При разработке игрового проекта возникают сотни вопросов, как сделать всё качественнее, интереснее, красивее и прибыльнее. Для эффективного улучшения игры целесообразен игровой аудит (гейм-консалтинг). Но немногие знают, что это. Статья опытного консультанта рассказывает про типы игрового аудита, описывает портрет специалиста, даёт примеры документов и ссылки на компании.

Читать | Комментарии [283]
19 янв. 2016

Программирование / Термины / Общее
Вуду-программирование
Вуду-программирование
Вуду-программирование (Voodoo programming) — программирование без чёткого понимания языка, основ программирования или используемой технологии; в результате программа обычно не работает, либо работает, но автор не может объяснить как.

Читать | Комментарии [62]
11 янв. 2016

Арт / Термины
Quixel SUITE
Quixel SUITE -  набор программ для создания текстур. Программа NDO позволяет создавать карты Normal Bump как с нуля, так и преобразовывая другие карты или фотоизображения. Программа DDO позволяет создавать текстуры Diffuse, Specular, Glossiness и др. на основе карты нормали и готовых материалов. Основным преимуществом DDO является параллельное создание вышеописанных карт, в результате чего пользователь получает готовый текстурный пак. Программа 3DO позволяет наблюдать наложение текстур на модель.

Читать | Комментарии [10]
10 янв. 2016

Арт / Статьи
Азы графической оптимизации на примере Crysis 3
Азы графической оптимизации на примере Crysis 3
Я собрал набор личных заметок о том, как ребята из Crytek элегантно решали вопросы оптимизации отрисовки и создания контента. Когда первый Крузис только маячил на горизонте и дразнил игроков продвинутым графоном, мои однокурсники с открытыми ртами ждали пришествия этой игры и предвкушали наслаждение графоном.

Читать | Комментарии [37]
25 дек. 2015

Игровая индустрия / Статьи / Маркетинг
Инди-апокалипсис: Что на самом деле убивает инди-игры?
Данная статья является вольным переводом статьи Сергея Галенкина «On #Indiepocalypse: What is really killing indie games». Сегодня выходит больше инди-игр, чем когда-либо, но, не смотря на это, грядет глобальное вымирание инди. Так, во всяком случае, говорят.

Читать | Комментарии [177]
10 дек. 2015

Программирование / Статьи / Общее
Простая система событий на С++11
При проектировании своих игр/программ/систем мы стараемся как можно больше следовать принципу SRP (Single responsibility principle) [1] - то есть каждая сущность инкапсулирует в себя одну конкретную обязанность.

Читать | Комментарии [107]
2 дек. 2015

Игровой Дизайн / Статьи
Что делает Инди хитом? Как выбрать верный дизайн (Ryan Clark)
Это перевод статьи Ryan Clark "Что делает Инди хитом? Как выбрать верный дизайн".

Читать | Комментарии [18]
16 ноя. 2015

Арт / Подсказки
Рендер сцены в карту нормали стандартным рендером
Рендер сцены в карту нормали стандартным рендером
Иногда, если нужно отрендерить карту нормали для сцены, есть простой способ как это сделать. Суть приёма в том, что мы располагаем 6 направленных источников света вдоль каждой оси, выставляем цвет красный для оси X, зеленый для оси Z и синий для оси Y, их интенсивность ставим 0.5 для источников которые светят с положительной стороны и –0.5 для источников которые светят с отрицательной стороны. Ambient для сцены нужно выставить в 0.5. Материал для объектов нужно использовать белого цвета. Далее по порядку.

Читать
10 ноя. 2015

Программирование / Статьи / Графика
Coverage Buffer из CryENGINE в деталях
Coverage Buffer из CryENGINE в деталях
Некоторое время назад я наткнулся в замечательной презентации Secrets of CryEGNINE 3 Graphics Technology от не менее замечательных Nickolay Kasyan, Nicolas Schulz и Tiago Sousa на описание любопытной технологии, названной авторами.

Читать | Комментарии [23]
21 окт. 2015

Программирование / Статьи / Графика
Вставка одной поверхности в другую (многопоточный алгоритм)
Вставка одной поверхности в другую (многопоточный алгоритм)
В статье рассматривается метод встраивания одной поверхности в другую. Данная статья имеет некоторые «нечеткие» определения, и в ней не гарантируется работа метода на любой геометрии. Она носит скорее исследовательский и теоретический характер, но возможно и это кому-то поможет.

Читать | Комментарии [28]
9 сен. 2015

Арт / Термины
HUD
HUD
Элементы, постоянно отображающиеся на экране, чья задача показывать статус игрока.

Читать | Комментарии [7]
1 июня 2015