Войти

Статьи

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Игровой Дизайн / Статьи
Мотивирующие механики в геймдизайне.
Мотивирующие механики в геймдизайне.
Это вольный перевод, а местами и пересказ статьи 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

Программирование / Статьи / Графика
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

Арт / Статьи
Азы графической оптимизации на примере 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

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

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

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

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

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

Читать | Комментарии [55]
20 мая 2015

Игровая индустрия / Статьи
Опыт создания игры маленькой командой без бюджета и продажи её в Steam (Bravada - Interbellum team)
В этой статье я изложу свой опыт разработки и продажи первой игры в Стиме небольшой командой и без бюджета. Статья будет полезна тем кто плохо представляет себе этот сложный процесс в целом и тем кто хочет узнать некоторые подробности связанные с разработкой и продажей. Я не претендую на абсолютную истину но, буду писать только правду и постараюсь быть максимально кратким. И да, картинок не будет, извините.

Читать | Комментарии [96]
12 мар. 2015

Программирование / Статьи / Графика
Dynamic vertex pulling в Direct3D11
Dynamic vertex pulling в Direct3D11
Данная статья рассказывает про то, как можно рисовать миллионы уникальных объектов в Direct3D11 с минимальным оверхедом на CPU и максимально близкой к D3D12 или «AMD Mantle» скоростью. В статье показан пример использования так называемых Structured Buffers.

Читать | Комментарии [42]
21 янв. 2015

Программирование / Статьи / Графика
Screen space ambient occlusion с учетом нормалей и расчет одного отражения света.
Screen space ambient occlusion с учетом нормалей и расчет одного отражения света.
В этой статье я расскажу, как я с нуля делал SSAO (Screen Space Ambient Occlusion — расчёт фонового освещения в экранном пространстве) с учетом нормалей. Сразу следует отметить, что это наиболее простая и прямолинейная реализация «в лоб», не претендующая на оптимальность или новизну. Статья будет полезна в первую очередь тем, кто имеет желание разобраться, как это работает.

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

Игровой Дизайн / Статьи
Советы для молодых разработчиков, желающих собрать команду и создать игру
Советы для молодых разработчиков, желающих собрать команду и создать игру
Последние два с половиной года я активно занимаюсь созданием игр как инди-разработчик. За это время накопилось много опыта, в том числе полученного путём хождения по граблям. В этой статье я хочу поделиться своими наблюдениями насчёт того, как правильно подготовиться к созданию игры, как лучше собирать команду «на энтузиазме», как организовать работу, расскажу о некоторых подводных камнях. Этот материал также является следствием наблюдения за пользователями, готовящимися делать свои первые проекты.

Читать | Комментарии [53]
15 янв. 2015

Звук / Статьи
Основы гармонии и функциональности в музыке
Основы гармонии и функциональности в музыке
Так получилось, что одни из самых важных средств в прикладной музыке — средства гармонии, мелодики и ритма. Данные три параметра являются основой для применения остальных — фактуры, темпа, тембра, динамики, баланса инструментов, баланса частот и т.д. (Замечали, как наш слух узнаёт знакомые мелодии в любой обработке? И в исполнении оркестра, и в хороводе Floppy дисководов.)

Читать | Комментарии [49]
13 янв. 2015

Звук / Статьи
Принципы имитации объемного звучания
Принципы имитации объемного звучания
Данная статья основана на моей дипломной работе по теме «Разработка принципов имитации объемного звучания в развлекательной сфере», кафедра информационных технологий, МАИ 2011 год. Для адаптации текста вырезаны сухие статистические данные, язык сделан более живым, вставлены отсылки к книгам и статьям, которые я могу порекомендовать. Затронутые вопросы будут интересны тем, кто еще только изучает механизмы локализации звука. Программная часть в статье не затрагивается.

Читать | Комментарии [26]
14 ноя. 2014

Арт / Статьи
Как сгенерировать красивый запутанный лабиринт.
Как сгенерировать красивый запутанный лабиринт.
Игра «Тарас Бульба и платформы Хулиона» многих удивила своим генерируемым миром. Эта игра победила в конкурсе лабиринтов-платформеров. В статье рассказывается, как делаются игры с подобными лабиринтами, как сделать красивые пещеры, и про то, как их запутать.

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

Игровой Дизайн / Статьи
Завершение игры
Завершение игры
Это перевод поста, автором которого является Derek Yu, также известный разработкой игр Aquaria и Spelunky. Я уверен, что данный текст представляет интерес как для новичков, мечтающих создать свою первую игру, так и для опытных разработчиков, за спиной которых немало как завершенных, так и оставленных на полпути проектов.

Читать | Комментарии [28]
13 окт. 2014

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

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

Программирование / Статьи / Игровая логика и ИИ
Машина состояний
Машина состояний
Представлю на суд общественности свою реализацию машины состояний, также известную как конечный автомат. Машина состояний привлекательна тем, что обрабатывает логику поведения объекта в заранее настроенном алгоритме, что крайне необходимо для сложных объектов. В статье приведу логику объекта, использующегося в моей игре Tropic Defense.

Читать | Комментарии [39]
14 сен. 2014

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

Читать | Комментарии [78]
6 янв. 2014