Войти

Статьи

Графика 109
Физика 17
2D графика и изометрия 2
Игровая логика и ИИ 8
Сеть 8
Звук 4
Общее 46

Программирование 3
Общее 2

Разработка 9
Управление 9
События 3
Маркетинг 3

28 фев 2024

Руководство «Как найти сценариста в команду на энтузиазме»

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

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

22 фев 2023

Tenebris: 7 кругов ада инди-разработки

Друзья, меня зовут Пётр, и в этой статье я попробую рассказать о нашем уже трехлетнем опыте в разработке инди-игры Tenebris: Terra Incognita. Через какие сложности мы прошли, и чего добились. Работа над игрой началась в мае 2019 года, а сегодня мы имеем на руках Альфа-версию игры и работаем над сборкой для раннего доступа.

Читать | Комментарии [143]

8 ноя 2022

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

Читать | Комментарии [39]

7 ноя 2022

Coroutine (сопрограмма, корутина) — функция, выполнение которой можно явно прерываться методами языка программирования. В отличие от прерывания выполнения потока (thread), который реализован в ОС и происходит неявно и в любой момент. Здесь я разбираю в чем преимущество корутин и какие корутины добавлены в C++20.

Читать | Комментарии [58]

8 янв 2022

Recursive Tile-based architecture

Данная статья вводит понятие Recursive Tile-Based Architecture (RTBA), расширяющее возможности традиционной tile-based архитектуры. Предложенный подход позволяет работать с аппаратно-ускоренным тайловым растеризатором в терминах когерентного рейтрейсинга, каждый тайл рассматривается, как средство обработки пучка лучей.

Читать | Комментарии [116]

24 дек 2021

Создание веревки в Unity на базовых SpringJoint.

В этой статье я расскажу к какому способу создания веревок (тросов, цепей) я смог прийти в ходе разработки игры для конкурса Платформеров на GameDev.ru. Пример будет разобран на 2Д проекте, но думаю нет никаких сложностей адаптировать его для 3Д проекта.

Читать

9 окт 2020

Имитация раскачивания дерева под воздействием ветра

Статья демонстрирует простой метод имитации воздействия ветра на дерево (куст), реализованный на вертексном шейдере.

Читать | Комментарии [19]

8 июня 2020

CryENGINE глазами разработчика проекта DEBT.

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

Читать | Комментарии [13]

3 июня 2020

Освещение с использованием фотометрического профиля

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

Читать | Комментарии [25]

22 мая 2020

Ошибки геймдизайна. Почему Battlefield-3 — не шедевр.

Начну с лирического отступления. Я наиграл в третью «батлу» over 600 часов, и, несмотря на множество грубых косяков в геймдизайне, воспоминания об игре в основном положительные, поскольку эти косяки я активно использовал себе во благо, как моральное, так и материальное.

Читать | Комментарии [50]

15 мая 2020

Контент-ориентированная генерация уровня в Unity в конкурсе «Храм Хаоса»

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

Читать | Комментарии [8]

9 окт 2019

Гидродинамика Шрёдингера на пальцах

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

Читать | Комментарии [99]

4 сен 2019

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

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

18 авг 2019

Предрасчёт рейкаста для эффективного рендеринга травы и меха

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

Читать | Комментарии [62]

22 апр 2019

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

Читать | Комментарии [157]

4 мар 2019

Как создать игру мечты, опубликовать её и не умереть в процессе.

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

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

26 фев 2019

Синхронизации в Vulkan

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

Читать | Комментарии [36]

18 ноя 2018

Пишем простой рейтрейсер используя Vulkan Raytracing

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

Читать | Комментарии [62]

4 ноя 2018

Введение в Vulkan Raytracing

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

Читать | Комментарии [183]

27 сен 2018

С чего начать создание своей игры, если бюджет – полтора бомж-пакета?

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

Читать | Комментарии [81]

20 мар 2018

Генетические алгоритмы в разработке игр.

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

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

22 окт 2017

Мотивирующие механики в геймдизайне.

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

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

13 июля 2017

Чему я научился, играя в "SteamProphet" [перевод]

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

Читать | Комментарии [8]

21 мая 2017

Когда и как перемещать игровую компанию за пределы России?

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

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

5 мая 2017

Математическая модель игры Доббль

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

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

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

4 мая 2017

Детали плавающей точки

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

Читать | Комментарии [23]

8 фев 2017

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

Читать | Комментарии [73]

8 фев 2017

Стоимость OpenGL команд.

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

Читать | Комментарии [85]

12 окт 2016

Rectilinear Texture Warping

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

Читать | Комментарии [29]

30 сен 2016

Behavior Trees в Unreal Engine 4

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

Читать | Комментарии [14]