Готовый перевод The Ultimate DirectX Tutorial (Directx 9) / Максимальные DirectX уроки (Directx 9): Win32 Basics( Lesson 1: The Parts of a Game)

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «идёт перевод»

Описания урока

Данный урок позволит вам понять базовую структуру видеоигры. Он даст вам некоторое представление о том, чего вы можете достичь с DirectX, так что вы не окажетесь в роли слепца без поводыря, как это бывает у многих начинающих программистов. Так как конструирование компьютерных игр может быть очень длительным и сложным, я предполагаю, что даже опытным программистам, незнакомым со средой разработки компьютерных игр, потребуется как минимум бегло познакомиться с данными материалами, чтобы они имели представление, что от них требуется.

7 этапов Игры

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

Что ж, давайте начнём с просмотра каждой конкретной игровой фазы по очереди, от начала до конца, а потом раскроем каждую конкретную фазу более подробно.

Последовательность в Компьютерной игре

Последовательность в Компьютерной игре

Этап 1: Инициализация программы

Вот здесь вы запускаете шоу. Вы создаёте окно, чтобы отобразить вашу игру, вы настраиваете DirectX для использования, подгружаете графические объекты, модели и другую мультимедиа-информацию, выделяете память и так далее.

Этап 2: Начала игры

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

Этап 3: Получаем ввод от игрока

Здесь вы получите всю информацию с клавиатуры, мыши, джойстика, контроллеров и других устройств, которые использует ваш игрок. Эта фаза в основном обеспечена туториалами DirectInput.

Этап 4: Включаем игровую логику, физику и AI

В этой части вы обрабатываете события, происходящие в вашем мире. Куда конкретно ваш игрок двигался последнюю шестидесятую долю секунды? Как много патронов у него осталось? Преследуют ли его противники? Что там с его союзников? Врезался ли его космический корабль в гору? Или это было просто облако, сквозь которое он прошёл? Всё это (и не только) определяется в эту фазу. У меня нет никаких туториалов на эту тему, но я надеюсь, что они появятся до конца года, так что будьте на связи.

Этап 5: Отображаем графику

Это то, где более всего используются функции DirectX. Здесь вы будете обрабатывать всю вашу 3D (и 2D) графику и отображать их на экране. Данная часть будет объяснена туториалами Direct3D.

Этап 6; Перезагружаем

Проще говоря, вы возвращаетесь к фазе 3 и начинаете сначала

Этап 7: Стираем

Обращаетесь к памяти? Теперь настал ваш последний шанс всё почистить, потому что программа, похоже, завершает свою работу. Кроме того, DirectX предусматривает обращение к различным интерфейсам, позволяющим выключать или "освобождать" его. Всё это делается здесь.

Комбинирование и Добавление Новых Этапов

Итак, как это выглядит вместе? Хорошо, вы заметите, что большая часть вышеописанного будет происходить единовременно, пока вы не выйдете из игры. Диаграмма, изображённая выше, показывает, как все вышеуказанные части складываются вместе.

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

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

Но давайте пока не касаться таких вещей. Мы ещё не написали ни единой строки кода, а уже говорим о таких сложных штуках. Давайте займёмся практикой программирования перед тем, как углубимся в дебри этих тем.

Далее мы рассмотрим, как работает программирование на Windows, создадим простое окно и основной игровой цикл.

Так что, даже если вы никогда не программировали до этого, теперь вы знаете, что вы будете делать. И давайте же, наконец, приступим!

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод

Переведено на Нотабеноиде
http://notabenoid.org/book/53957/233963

Переводчики: luch_kot, Myxach

Настройки

Готово:

100.00% КП = 1.0