Войти
ПрограммированиеСтатьи

Общее

Страницы: 1 2 Следующая »
Строковые идентификаторы в движке. string pools.

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

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

С++ корутины, начальный уровень

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

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

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

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

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

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

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

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

Frustum Culling

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

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

Ассемблерные вставки в GCC

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

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

Простая система событий на С++11

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

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

Процедурная генерация карты (часть 1)
Процедурная генерация карты (часть 1)

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

Читать | Комментарии [37]
11 ноя 2013

Модели многопоточности, или «Прощайте дедлоки»

Статья является выборочным переводом главы 5 из книги «Erlang and OTP in Action», Martin Logan, Eric Merritt, Richard Carlsson, издательство Manning.

Читать | Комментарии [41]
24 авг 2012

AngelScript
AngelScript

В данной статье мне хотелось бы показать почему мне понравился скриптовый язык AngelScript. Когда я выбирал язык для своего движка, я просмотрел множество кандидатур, и для подробного рассмотрения выбрал два скриптовых языка, ими были LUA и Python.

Читать | Комментарии [169]
2 ноя 2011

Пишем отладчик для Lua 5.1
Пишем отладчик для Lua 5.1

В современных играх достаточно многое отдается на откуп скриптам. Самым распространенным и часто используемым для этого скриптовым языком является Lua . Удобный синтаксис, хорошая скорость (особенно при использовании LuaJIT), кроссплатформенность. Lua используется в проектах любых масштабов от небольших аркад, до монстров вроде World Of Warcraft.

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

Компонентная система игровых сущностей.
Компонентная система игровых сущностей.

Не раз поднималась тема об иерархии игровых объектов, их взаимодействии и управления ими. Я пробовал всякие варианты построения игрового объекта, и в итоге остановился на компонентной системе. Было это давненько, так что система успела себя оправдать по удобству и масштабируемости. О получившейся схеме и пойдет речь. Но для начала рассмотрим возможные варианты.

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

ЧАВО по матрицам и кватернионам

Часто задаваемые вопросы по матрицам и кватернионам.

Читать | Комментарии [40]
9 мар 2011

Hello World приложение для Sony PSP
Hello World приложение для Sony PSP

В этой статье я расскажу как написать ваше первое приложение для портативной консоли Sony PSP.

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

Использование технологии ATI Stream
Использование технологии ATI Stream

В этой статье я хочу рассказать о технологии ATi Stream — она аналогична CUDA, созданной конкурирующей компанией NVIDIA. Однако о последней в Интернете существует огромная куча статей как на английском так и на русском, в то время как по Stream ‘у я не нашёл ничего, кроме официального мануала. Итак приступим.

Читать | Комментарии [36]
25 дек 2009

Запись изображения и звука в avi файл, с помощью API MS Windows

В данном документе рассматривается запись видео и аудио данных в avi файл, с помощью библиотеки «AviFile» операционной системы Microsoft Windows. Данный файл является контейнером звуковых и видео данных. Конкретный формат зависит от применяемого кодека. Рассмотрим по порядку этапы которые необходимы для записи.

Читать | Комментарии [4]
21 июня 2009

Theora — воспроизведение видео в играх.

Во Имя и Ради Геймдева Всея Руси.

Читать | Комментарии [60]
11 авг 2005

Работа с файлами форматов ZIP, JPEG и PNG.

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

Читать | Комментарии [32]
12 июля 2004

Вращение и кватернионы. Сборник рецептов.

Давайте коротко определимся с терминологией. Каждый представляет себе, что такое ориентация объекта. Термин "ориентация" подразумевает, что мы находимся в некоторой заданной системе отсчета. Например, фраза "он повернул голову влево" осмыслена только тогда, когда мы представляем, где находится "лево" и где находилась до этого голова. Это важный для понимания момент, ведь если бы это был монстр с головой на животе макушкой вниз то фраза "он повернул голову влево" уже не покажется такой однозначной.

Читать | Комментарии [40]
4 июня 2004

Введение в BSP деревья или BSP для самых «маленьких». Часть первая, теоретическая.

Эпиграф:

Читать | Комментарии [92]
7 мая 2004

Применение нетрадиционных (ненормированных) кватернионов для управления ориентацией твердого тела.

Автор: В.В. Цисарж, Р.И. Марусик

Читать | Комментарии [33]
17 апр 2004

Реализация процедурных текстур методом Шума Перлина.

Автор: Волошин Дмитрий aka WDW

Читать | Комментарии [39]
18 янв 2004

Написание интерпретатора скриптов на С++. Часть 2: Лексический Анализатор.

О чем речь:

Читать | Комментарии [18]
14 дек 2003

Применение многопоточности в играх.

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

Читать | Комментарии [138]
9 ноя 2003

Начала применения спецификаций для игровых объектов.

В статье “Compile-time vs run-time: назад в будущее”, недавно опубликованной на GameDev.ru, обсуждалась возможность использования спецификации отображаемого объекта. Одним из результатов применения данного подхода является автоматически построенный интерфейс к отображаемому объекту для доступа к нему из игровых структур и объектов.

Читать
29 авг 2003

Практическое применение SSE расширения.

Этой статьей я как обычно попытаюсь угодить обоим категориям читателей: начинающим, дав общее понимание SIMD принципов, лежащих в основе таких расширений как MMX, SSE, SSE2, 3DNOW! и Enhanced 3DNOW!,более опытным - поделившись некоторыми на мой взгляд интересными фактами и примерами с которыми я столкнулся в процессе работы над темой. Однако основной упор будет сделан именно на SSE расширение и его практическом применении.

Читать | Комментарии [9]
26 авг 2003

Введение в Lua.

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

Читать | Комментарии [74]
17 авг 2003

Compile-time vs run-time: назад в будущее

“In theory, there is no difference between theory and practice.

Читать | Комментарии [364]
29 июля 2003

Философия программирования: Интерфейс пользователя.

Автор: Anatol

Читать
29 апр 2003

Объекты в играх: организация игрового цикла.

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

Читать | Комментарии [30]
4 апр 2003

Управление устройствами ввода через Windows API и DirectX.

Автор: Михаил Гусаренко

Читать | Комментарии [11]
4 апр 2003

Реализация Скрипт-Движка.

Автор: Jan Niestadt

Читать | Комментарии [6]
15 июня 2002

Использование контейнеров в разработке игр.

Ни одна игра, сложная или простая не может обойтись без контейнеров. В своих играх вы используете собственные контейнеры (возможно не подозревая как они называются:) или стандартные на основе шаблонов. Контейнерами называют объекты, способные хранить списки данных определенного типа. Контейнеры делятся по способу обращения к информации на векторы, карты (или словари) и списки. Шаблоны контейнеров входят в стандартную библиотеку C++ — STL. Целью этой серии статей является рассмотреть применение контейнеров в разработке игр.

Читать | Комментарии [6]
14 июня 2002

Программирование игр, часть X: Фишки и ухищрения.

Автор: Joseph Farrell

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

Применение иерархии объектов в играх.

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

Читать | Комментарии [34]
12 июня 2002

Основы 3D математики: Работа с камерой.

1. Проецирование.

Читать
12 июня 2002

Основы 3D математики: Векторные и матричные преобразования.

1. Векторы.

Читать | Комментарии [10]
11 июня 2002

Введение в программирование игр. С чего начать?

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

Читать
7 июня 2002

Введение в программирование под Windows.

Как ни хотелось, а избежать этой темы не удалось.

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

Обзор DirectX9.

В этой статье я постараюсь рассмотреть большинство интересных нововведений (насколько мне это позволит мой воспалённый житейскими неурядицами и радостями разум) DirectX 9, по возможности разбавляя сухие выдержки из прилагаемой с СДК документации своими собственными наблюдениями. Эта статья будет также полезна и для новичков, так как я постараюсь затронуть некоторые общие аспекты, без которых приведённое описание для человека впервые начавшего заниматься компьютерной графикой и DirectX в частности, будет неполным.

Читать
31 мая 2002

Страницы: 1 2 Следующая »