Публикации
Игровая индустрия / Статьи /
Tenebris: 7 кругов ада инди-разработки
Друзья, меня зовут Пётр, и в этой статье я попробую рассказать о нашем уже трехлетнем опыте в разработке инди-игры Tenebris: Terra Incognita. Через какие сложности мы прошли, и чего добились. Работа над игрой началась в мае 2019 года, а сегодня мы имеем на руках Альфа-версию игры и работаем над сборкой для раннего доступа.
Читать | Комментарии [141]
22 фев 2023
Программирование / Статьи /
Строковые идентификаторы в движке. string pools.
В программировании игр часто приходится ссылаться на объекты, используя строковые идентификаторы: например, получить текстуру по имени её файла или найти актора по его имени. Однако, хранение и частое сравнение большого количества строк может оказаться дорогим как с вычислительной точки зрения, так и с точки зрения используемой памяти.
Читать | Комментарии [39]
8 ноя 2022
Программирование / Статьи /
С++ корутины, начальный уровень
Coroutine (сопрограмма, корутина) - функция, выполнение которой можно явно прерываться методами языка программирования. В отличие от прерывания выполнения потока (thread), который реализован в ОС и происходит неявно и в любой момент. (wiki)
Читать | Комментарии [58]
7 ноя 2022
Unity / Блог
Unity приобрела Ziva Dynamics
Компания Unity пополнила свои покупки компанией Ziva Dynamics – лидером в симуляции компьютерных персонажей. В линейку приобретений компании уже входят Weta Digital, SpeedTree, SyncSketch, Pixyz, and RestAR.
Читать | Комментарии [46]
25 янв 2022
Программирование / Статьи /
Recursive Tile-based architecture
Данная статья вводит понятие Recursive Tile-Based Architecture (RTBA), расширяющее возможности традиционной tile-based архитектуры. Предложенный подход позволяет работать с аппаратно-ускоренным тайловым растеризатором в терминах когерентного рейтрейсинга, каждый тайл рассматривается, как средство обработки пучка лучей.
Читать | Комментарии [116]
8 янв 2022
Unity / Статьи /
Создание веревки в Unity на базовых SpringJoint.
В этой статье я расскажу к какому способу создания веревок (тросов, цепей) я смог прийти в ходе разработки игры для конкурса Платформеров на GameDev.ru. Пример будет разобран на 2Д проекте, но думаю нет никаких сложностей адаптировать его для 3Д проекта.
Читать
24 дек 2021
Unity / Блог
Unity приобрела создателя SpeedTree
Компания Unity приобрела компанию Interactive Data Visualization (IDV) — разработчика пакета SpeedTree. SpeedTree — инструмент моделирования растительности для игр и компьютерных симуляций.
Читать | Комментарии [1]
22 июля 2021
Мобильные платформы / Термины
XCode
XCode - IDE от Apple для разработки приложений для macOS, iOS, iPadOS, watchOS и tvOS.
Читать | Комментарии [1]
22 фев 2021
Мобильные платформы / Термины
Android SDK
Android SDK - (расшифровывается как Android Software Development Kit) - пакет программ для разработки Java и Kotlin приложений для ОС Android.
Читать | Комментарии [4]
22 фев 2021
Мобильные платформы / Термины
Android NDK
Android NDK - (расшифровывается как Android Native Development Kit) - набор инструментов для создания приложений для ОС Android с использованием C/C++.
Читать | Комментарии [16]
22 фев 2021
Программирование / Статьи /
Имитация раскачивания дерева под воздействием ветра
Статья демонстрирует простой метод имитации воздействия ветра на дерево (куст), реализованный на вертексном шейдере.
Читать | Комментарии [19]
9 окт 2020
Игровая индустрия / Статьи /
CryENGINE глазами разработчика проекта DEBT.
Всем привет. На дворе 2020 год, геймдев растет как на дрожжах, и не смотря на пандемию и прочие трудности, ежедневно появляются новые инди-разработчики, которые горят желанием явить миру что-то свое, будь то это какой-то ремейк своей любимой игры, или нечто уникальное. И когда речь заходит о том, чтоб использовать готовый движок, в поле зрения попадает несколько решений, на одном из которых мы сегодня и остановимся — CryENGINE.
Читать | Комментарии [13]
8 июня 2020
Программирование / Статьи /
Освещение с использованием фотометрического профиля
Фотометрический профиль (ФП) описывает распределение интенсивности света точечного источника, полученные с помощью соответствующего измерительного оборудования. Используя данные ФП можно добиться эффекта симуляции сложных теней и нестандартного затухания света.
Читать | Комментарии [25]
3 июня 2020
Игровой Дизайн / Статьи
Ошибки геймдизайна. Почему Battlefield-3 — не шедевр.
Начну с лирического отступления. Я наиграл в третью «батлу» over 600 часов, и, несмотря на множество грубых косяков в геймдизайне, воспоминания об игре в основном положительные, поскольку эти косяки я активно использовал себе во благо, как моральное, так и материальное.
Читать | Комментарии [42]
22 мая 2020
Unity / Статьи /
Контент-ориентированная генерация уровня в Unity в конкурсе «Храм Хаоса»
Я, как и обещал, делюсь своими идеями насчет процедурной генерации уровней. Все то, что я опишу далее, ни в коем разе не претендует на истину, новаторство и, тем более, на что-то амбициозно-гениальное. Все это родилось лишь из непонимания общепринятых принципов современной процедурщины и математики, а также жгучего желания облегчить себе жизнь.
Читать | Комментарии [8]
15 мая 2020
Программирование / Подсказки /
MAX Script: Разделение 3D модели на элементы по группам нормаль векторов.
Читать
10 мая 2020
Программирование / Подсказки /
Delphi: Точный таймер (Win API)
Всем привет! Выкладываю код точного таймера. Время измеряется в секундах и миллисекундах. Код для Delphi (серия XE). Вставки на ассемблере сделаны для 64-х битной версии и избежания лишнего чтения/записи из стека из-за процедурных фреймов.
Читать | Комментарии [87]
24 апр 2020
Программирование / Подсказки /
^ Матрица LookAt
Доступно пользователям со статусом Участник
Читать | Комментарии [13]
29 янв 2020
Программирование / Подсказки /
Инверсия матрицы 4x4
Ниже приведен вариант инверсии для матриц 4x4, где порядок элементов строки горизонтальный (RowMajor). Не самый быстрый, но вполне рабочий (проверено под OpenGL) код для Pascal/Delphi.
Читать | Комментарии [87]
25 янв 2020
Программирование / Статьи /
Гидродинамика Шрёдингера на пальцах
В этой статье в качестве эксперимента я постараюсь максимально доступно рассказать, как работает новый метод расчёта гидродинамики, основанный на решении уравнения Шрёдингера.
Читать | Комментарии [99]
9 окт 2019
Игровой Дизайн / Статьи
Всё, что вы знаете, — ложно! (полная русская транскрибация выступления Сида Мейера)
В этом выступлении Сид Мейер делится своим игродизайнерским опытом и находками, опираясь в примерах на серию Civilization и некоторые другие свои игры (Pirates!, Railroad Tycoon, авиасимуляторы).
Читать | Комментарии [57]
4 сен 2019
Программирование / Статьи /
Предрасчёт рейкаста для эффективного рендеринга травы и меха
Здравствуйте. В этой статье я хотел бы рассказать об алгоритме, который я разработал в результате своих экспериментов с предрасчётом трассировки лучей. Результат работы одной из промежуточных версий алгоритма можно увидеть здесь:
Читать | Комментарии [62]
18 авг 2019
Программирование / Статьи /
На пути к эффективному алгоритму Global Illumination, часть 1
В этой статье мы рассмотрим небольшой исторический контекст разработки алгоритмов global illumination, а также поразмышляем, какими свойствами должен обладать оптимальный алгоритм расчёта global illumination.
Читать | Комментарии [157]
22 апр 2019
Игровая индустрия / Статьи /
Как создать игру мечты, опубликовать её и не умереть в процессе.
Вольный перевод статьи «How to make your dream game, publish it and not die in the process». Автор Juan Linietsky, главный разработчик игрового движка Godot.
Читать | Комментарии [107]
4 мар 2019
Программирование / Статьи /
Синхронизации в Vulkan
Одно из важных отличий Vulkan от более старых графических API, это больший контроль над синхронизациями как с CPU, так и внутри GPU. И как всегда многопоточность и синхронизация — это достаточно сложная тема. Стоит помнить, что драйвер Vulkan не обязан оптимизировать вызовы API, поэтому для максимальной производительности синхронизации должны быть расставлены наиболее оптимальным образом.
Читать | Комментарии [36]
26 фев 2019
Программирование / Подсказки /
Подсветка кода и IntelliSense в Visual Studio для любых типов файлов.
Привет всем! Сейчас я поделюсь с вами способом добавления кастомных типов исходников в MS Visual Studio.
Читать
20 ноя 2018
Программирование / Статьи /
Пишем простой рейтрейсер используя Vulkan Raytracing
Всем привет! Сегодня я расскажу вам, как получить результат, изображенный на заглавной картинке к этой статье, используя Vulkan Raytracing.
Читать | Комментарии [62]
18 ноя 2018
Программирование / Статьи /
Введение в Vulkan Raytracing
В какое время мы живем! Казалось, еще недавно мы часами ждали пока CPU просчитает знаменитое изображение за авторством Тернера Уиттеда, а сегодня нам доступны потребительские модели видеокарт с аппаратной поддержкой рейтрейсинга! Любой программист трехмерной графики скажет, что он мечтал об этом дне, когда мы, наконец, можем трассироваться в мировом пространстве в реальном времени.
Читать | Комментарии [183]
4 ноя 2018
Игровая индустрия / Статьи /
С чего начать создание своей игры, если бюджет – полтора бомж-пакета?
Этим вопросом рано или поздно начинают задаваться многие, кто так или иначе связан с игровой индустрией. Тем более те, кто действительно пришел в нее, чтобы создать ту самую «Игру мечты».
Читать | Комментарии [81]
27 сен 2018
Программирование / Термины /
Universal Scene Description (USD)
Universal Scene Description (USD) — файловый формат описания трехмерной сцены, разработанный компанией Pixar.
Читать
5 июня 2018
Программирование / Статьи /
Генетические алгоритмы в разработке игр.
Привет детишки, сегодня я хочу рассказать вам сказку про генетические алгоритмы и их применение в игрострое. Простыми словами мы рассмотрим теорию и практику, а в качестве примера напишем небольшую утилиту для балансировки игры.
Читать | Комментарии [63]
20 мар 2018
Программирование / Термины /
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 на тему мотивации и удержания игроков посредством внутриигрового прогресса.
Читать | Комментарии [20]
22 окт 2017
Игровая индустрия / Статьи /
Чему я научился, играя в "SteamProphet" [перевод]
Это перевод статьи норвежского/американского разработчика Ларса Душе (Lars Doucet) «What I learned playing "SteamProphet"». «SteamProphet» («Steam-Предсказатель») - игра, участники которой выбирают игры, выходящие на следующей неделе в Steam, пытаясь предсказать, какие из них заработают больше. Автор делится своими наблюдениями и выводами о рынке инди-игр в Steam, а также призывает изучать рынок для увеличения своих шансов на успех.
Читать | Комментарии [8]
13 июля 2017
Игровая индустрия / Статьи /
Когда и как перемещать игровую компанию за пределы России?
Если вы успешно занимаетесь разработкой и распространением игр, то в определенный момент вашей компании станет тесно на российском рынке. В этой статье мы попробуем определить, когда стоит задуматься о трансформации в международную группу компаний. Будем рассматривать ситуацию с точки зрения бизнеса – считать деньги и измерять высоту юридических барьеров.
Читать | Комментарии [117]
21 мая 2017
Игровой Дизайн / Статьи
Математическая модель игры Доббль
В статье рассказывается о математической модели настольной игры Доббль и приводятся ответы на вопросы:
Почему между любыми двумя карточками ровно одно совпадение?
Как построить набор символов для игры?
Каких карточек не хватает в комплекте игры?
Читать | Комментарии [4]
5 мая 2017
Программирование / Статьи /
Детали плавающей точки
Цель статьи - дать читателю представление о работе с числами с плавающей точкой в программировании. Предполагается дать базовый объём информации и предоставить уровень понимания, достаточный для самостоятельного проведения оценок в задачах, возникающих на практике.
Читать | Комментарии [23]
4 мая 2017
Программирование / Статьи /
Frustum Culling
Одной из важных оптимизаций в компьютерных играх является отсечение геометрии, не видимой на экране (Frustum Culling, далее фрустум кулинг). Раз мы все равно не увидим объект, то и не зачем тратить ресурсы компьютера на его подготовку и отрисовку.
Читать | Комментарии [73]
8 фев 2017
Программирование / Статьи /
Стоимость OpenGL команд.
В современных проектах для получения красивой картинки отрисовываются тысячи различных объектов: персонажи, строения, ландшафт, природа, эффекты и т.д. Разумеется есть разные способы отобразить на экране геометрию. В этой статье мы рассмотрим как сделать это эффективно, посчитаем и сравним стоимость различных API вызовов для отрисовки геометрии.
Читать | Комментарии [85]
8 фев 2017