Общее
Страницы:
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)
В этой короткой статье я поделюсь нехитрым алгоритмом, для процедурного генерирования геометрии карты, который я собрал как прототип для своей небольшой roguelike-like игры.
Читать | Комментарии [37]
11 ноя 2013
Модели многопоточности, или «Прощайте дедлоки»
Статья является выборочным переводом главы 5 из книги «Erlang and OTP in Action», Martin Logan, Eric Merritt, Richard Carlsson, издательство Manning.
Читать | Комментарии [41]
24 авг 2012
AngelScript
В данной статье мне хотелось бы показать почему мне понравился скриптовый язык AngelScript. Когда я выбирал язык для своего движка, я просмотрел множество кандидатур, и для подробного рассмотрения выбрал два скриптовых языка, ими были LUA и Python.
Читать | Комментарии [169]
2 ноя 2011
Пишем отладчик для Lua 5.1
В современных играх достаточно многое отдается на откуп скриптам. Самым распространенным и часто используемым для этого скриптовым языком является Lua . Удобный синтаксис, хорошая скорость (особенно при использовании LuaJIT), кроссплатформенность. Lua используется в проектах любых масштабов от небольших аркад, до монстров вроде World Of Warcraft.
Читать | Комментарии [25]
27 апр 2011
Компонентная система игровых сущностей.
Не раз поднималась тема об иерархии игровых объектов, их взаимодействии и управления ими. Я пробовал всякие варианты построения игрового объекта, и в итоге остановился на компонентной системе. Было это давненько, так что система успела себя оправдать по удобству и масштабируемости. О получившейся схеме и пойдет речь. Но для начала рассмотрим возможные варианты.
Читать | Комментарии [431]
3 апр 2011
ЧАВО по матрицам и кватернионам
Часто задаваемые вопросы по матрицам и кватернионам.
Читать | Комментарии [40]
9 мар 2011
Hello World приложение для Sony PSP
В этой статье я расскажу как написать ваше первое приложение для портативной консоли Sony PSP.
Читать | Комментарии [48]
20 апр 2010
Использование технологии 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 Следующая »