Секреты программирования игр


Содержание


Алгоритмы Поиска. Выслеживание игрока
Теория игр
Итог
Связь
Средства связи видеоигр
Последовательный интерфейс ПК
Универсальный асинхронный приемопередатчик
Установки и статус UART
Установки и статус UART - часть 2
Аппаратное обеспечение UART
Операции с ROM BIOS
Соединение через нуль-модем
Построение коммуникационной библиотеки
Инициализация последовательного порта
Инициализация последовательного порта - часть 2
Установка прерывания
Установка прерывания - часть 2
Чтение символа из буфера
Запись в последовательный порт
Коммуникационная программа: NLINK
Коммуникационная программа: NLINK - часть 2
Коммуникационная программа: NLINK - часть 3
Коммуникационная программа: NLINK - часть 4
Коммуникационная программа: NLINK - часть 5
Стратегия игровых коммуникаций
Стратегия игровых коммуникаций - часть 2
Синхронизация вектора состояния
Синхронизация состояния ввода/вывода
Временная синхронизация
Модем
Net Tank: танковый имитатор для двух игроков
Net Tank: танковый имитатор для двух игроков - часть 2
Анализ игры Net-Tank
Раздел 1: Инициализация
Раздел 2: Игровой цикл
Раздел 3: Удаление объектов
Раздел 4: Получение входных данных и передача состояния дистанционно управляемой системе
Раздел 5: Перемещение объектов
Раздел 6: Распознавание столкновений
Раздел 7: Рисование объектов
Раздел 8: Дублирующий буфер
Раздел 9: Всякая всячина
Итог
Инструментальные средства
Определение понятия инструментального средства
Определение понятия инструментального средства - часть 2
Редакторы изображений
Пакеты анимации
Производство кинофильма
Звуковые редакторы
Редактор поля WarEdit
Редактор поля WarEdit - часть 2
Использование WarEdit
Функциональное описание программы WarEdit
Функциональное описание программы WarEdit - часть 2
Функциональное описание программы WarEdit - часть 3
Функциональное описание программы WarEdit - часть 4
Функциональное описание программы WarEdit - часть 5
Улучшения WarEdit
Итог
Графическое оформление игры
Удобные детали и инструменты
Удобные детали и инструменты - часть 2
Первый этап: планирование
Разрешающая способность и количество цветов
Для кого вы пишете игру?
Содержание и общее настроение игры
Что детализировать, а что нет?
Несколько слов по поводу цвета
Разработка 256-цветной палитры
Наилучшие для использования цвета
Последовательный порядок цветов
Сохранение цвета для прозрачности
Применение палитр других изображений
Применение палитр других изображений - часть 2
Применение палитр других изображений - часть 3
Специальные соображения по поводу цифрового видео
Ну дайте мне место (разработка стен, пола и «кирпичиков» потолка!
Детали, детали и детали
Детали, детали и детали - часть 2
Придание «кирпичикам» стен глубины трехмерного пространства
Масштабирование изображения
Создание бесшовных мозаичных изображений
Особые ситуации
Переходы от одного кирпичика к другому
Двери и лифты
Специальные эффекты и движущиеся стены
Удаление неровностей
Как избежать цветовых проблем во время игры
Если б только у меня было оружие и еда! (разработка объекта)
Соотношение размеров объектов и стен
Помните о перспективе
Подайте сюда врагов! (разработка персонажей)
Существует ли легкий путь?
Пропорции
Основополагающие принципы для оживления персонажа
Технические приемы анимации
Чудовища и прочие кровожадные персонажи
Последние дорисовки
Начальная и конечная заставки
Оформление оценочного экрана
Экраны для отражения статуса и изменения конфигурации игры
Анимация
Кадры для привлечения внимания
ИТОГ
Техника созданий параллакса
Еще кое-что о режиме 13h
Примечание по поводу демонстрационной программы
Первый шаг
Первый шаг - часть 2
Первый шаг - часть 3
Первый шаг - часть 4
Первый шаг - часть 5
Первый шаг - часть 6
Первый шаг - часть 7
Первый шаг - часть 8
Несколько смещающихся слоев
«Прозрачные» пиксели
«Прозрачные» пиксели - часть 2
«Прозрачные» пиксели - часть 3
«Прозрачные» пиксели - часть 4
«Прозрачные» пиксели - часть 5
«Прозрачные» пиксели - часть 6
Оптимизированные версии OpaqueBlt() и TransparentBlt()
Оптимизированные версии OpaqueBlt() и TransparentBlt() - часть 2
Оптимизированные версии OpaqueBlt() и TransparentBlt() - часть 3
Смещение мозаичных изображений
Смещение мозаичных изображений - часть 2
Смещение мозаичных изображений - часть 3
Смещение мозаичных изображений - часть 4
Смещение мозаичных изображений - часть 5
Смещение мозаичных изображений - часть 6
Смещение мозаичных изображений - часть 7
Устранение эффекта сдвига кадра
PCX-графика
Примечания по выполнении
ИТОГ
ТЕХНИКА ОПТИМИЗАЦИИ
Введение
Передача параметров
Глобальные переменные
Указатели и использование псевдоимен
Использование регистров
Оптимизация компилятора
Развертка циклов
Развертка циклов - часть 2
Бинарное умножение
Таблицы поиска
Таблицы поиска - часть 2
Таблицы поиска - часть 3
Математика с фиксированной запятой
Математика с фиксированной запятой - часть 2
Приваивание
Сложение и вычитание
Умножение
Деление
Точность
Максимальное цифровое представшие
Максимальное цифровое представшие - часть 2
Встроенный ассемблер



Начало