Войти

Публикации

Игровая индустрия / Статьи /
Tenebris: 7 кругов ада инди-разработки
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

Компания Unity пополнила свои покупки компанией Ziva Dynamics – лидером в симуляции компьютерных персонажей. В линейку приобретений компании уже входят Weta Digital, SpeedTree, SyncSketch, Pixyz, and RestAR.

Читать | Комментарии [46]
25 янв 2022

Программирование / Статьи /
Recursive Tile-based architecture
Recursive Tile-based architecture

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

Читать | Комментарии [116]
8 янв 2022

Unity / Статьи /
Создание веревки в Unity на базовых SpringJoint.
Создание веревки в 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.
CryENGINE глазами разработчика проекта DEBT.

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

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

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

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

Читать | Комментарии [25]
3 июня 2020

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

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

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

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

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

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

Программирование / Подсказки /
MAX Script: Разделение 3D модели на элементы по группам нормаль векторов.
MAX Script: Разделение 3D модели на элементы по группам нормаль векторов.

Здесь представлен скрипт 3D Studio MAX, при помощи которого можно разделить 3D модели на элементы по группам нормалей, также смотрите «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

Одно из важных отличий 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.

Читать | Комментарии [62]
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 на тему мотивации и удержания игроков посредством внутриигрового прогресса.

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

Игровая индустрия / Статьи /
Чему я научился, играя в "SteamProphet" [перевод]
Чему я научился, играя в "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 команд.
Стоимость OpenGL команд.

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

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

Компьютерный форум , Серверные прокси сервера IPv4 с неограниченым тарифком для любых целей , Оригинальный аккумулятор на ноутбук или планшет.