Разработка Marble Maze — игра универсальная платформа Windows (UWP), созданная с помощью C++ для DirectX
В этом разделе описывается, как использовать DirectX и C++ для создания трехмерной игры универсальная платформа Windows (UWP). Игра, называемая Marble Maze, принимает несколько форм-факторов, таких как планшеты, традиционные настольные пк и ноутбуки.
Примечание.
Чтобы скачать исходный код Marble Maze , см. пример на сайте GitHub.
Внимание
Marble Maze иллюстрирует конструктивные шаблоны, которые мы рекомендуем использовать для создания игр UWP. Вы можете адаптировать множество сведений о реализации в соответствии с собственными методиками и уникальными требованиями к развиваемой игре. Вы можете использовать различные методы или библиотеки, когда они лучше подходят для ваших потребностей. (Однако всегда убедитесь, что код передает код Комплект сертификации приложений Windows.) Когда мы рассмотрим реализацию, используемую здесь, чтобы быть важной для успешной разработки игр, мы подчеркиваем ее в этой документации.
Знакомство с Marble Maze
Мы выбрали Marble Maze , потому что это относительно базовый, но по-прежнему демонстрирует широту функций, которые находятся в большинстве игр. В нем показано, как использовать графику, обработку входных данных и звук. Он также демонстрирует игровые механики, такие как правила и цели.
Marble Maze напоминает таблицу верхнего лабиринта, которая обычно построена из коробки, содержащей отверстия и сталь или стеклянный мрамор. Цель Marble Maze аналогична табличной версии: наклон лабиринта, чтобы направлять мрамор с начала до конца лабиринта как можно меньше времени, не позволяя мрамору попасть в любое из отверстий. Marble Maze добавляет концепцию контрольных точек. Если мрамор падает в отверстие, игра перезапускается в последнем месте контрольной точки, над которым передается мрамор.
Marble Maze предлагает несколько способов взаимодействия пользователя с игровой доской. Если у вас есть устройство с поддержкой сенсорного ввода или акселерометра, вы можете использовать эти устройства для перемещения игровой доски. Вы также можете использовать контроллер или мышь для управления игрой.
Необходимые компоненты
- Windows 10 Creators Update
- Microsoft Visual Studio 2017
- Знания по программированию на C++
- Знакомство с терминологией DirectX и DirectX
- Базовые знания о COM
Для кого предназначена эта статья?
Если вы хотите создавать трехмерные игры или другие графические приложения для Windows 10, это для вас. Мы надеемся, что вы используете принципы и методики, описанные в этой документации, для создания собственной игры UWP. Фоновый или сильный интерес к программированию C++ и DirectX поможет вам получить большую часть этой документации. Если у вас нет опыта работы с DirectX, вы по-прежнему можете воспользоваться преимуществами, если у вас есть аналогичные трехмерные графические среды программирования.
Пошаговое руководство по документу . Создание простой игры UWP с помощью DirectX описывает еще один пример, реализующий простую трехмерную стрельбу с помощью DirectX и C++.
Сведения об этой документации
В этой документации описано, как:
- Используйте API среда выполнения Windows и DirectX для создания игры UWP.
- Используйте Direct3D и Direct2D для работы с визуальным содержимым, такими как модели, текстуры, вершины и шейдеры пикселей и 2D-наложения.
- Интегрируйте механизмы ввода, такие как сенсорный, акселерометр и игровой контроллер.
- Используйте XAudio2 для включения музыкальных и звуковых эффектов.
Сведения о том, что эта документация не охватывает
В этой документации не рассматриваются следующие аспекты разработки игр. За этими аспектами следует дополнительные ресурсы, охватывающие их.
- Принципы проектирования игр 3D.
- Основы программирования C++ или DirectX.
- Как создавать такие ресурсы, как текстуры, модели или звук.
- Устранение неполадок с поведением или производительностью в игре.
- Как подготовить игру к использованию в других частях мира.
- Как сертифицировать и публиковать игру в Microsoft Store.
Marble Maze также использует библиотеку DirectXMath для работы с трехмерной геометрией и выполнения вычислений физики, таких как столкновения. DirectXMath не рассматривается подробно в этом разделе. Дополнительные сведения о том, как Marble Maze использует DirectXMath, см. в исходном коде.
Хотя Marble Maze предоставляет множество повторно используемых компонентов, это не полная платформа разработки игр. Когда мы рассмотрим компонент Marble Maze для повторного использования в игре, мы подчеркиваем его в документации.
Следующие шаги
Мы рекомендуем начать с примера основы Marble Maze, чтобы узнать о структуре Marble Maze и некоторых рекомендациях по программированию и стилю, которые следует исходному коду Marble Maze. В следующей таблице описаны документы в этом разделе, чтобы их можно было легко найти.
В этом разделе
Заголовок | Description |
---|---|
Основы примера Marble Maze | Содержит общие сведения о структуре игры и некоторые рекомендации по коду и стилю, приведенные в исходном коде. |
Структура приложения Marble Maze | Описывает структуру кода приложения Marble Maze и структуру приложения DirectX UWP отличается от структуры традиционного классического приложения. |
Добавление визуального содержимого в пример Marble Maze | Описывает некоторые ключевые методики, которые следует учитывать при работе с Direct3D и Direct2D. Также описывается, как Marble Maze применяет эти методики для визуального содержимого. |
Добавление входных и интерактивных данных в пример Marble Maze | Описывает, как Marble Maze работает с акселерометром, сенсорным и игровым контроллером, чтобы пользователи могли перемещаться по меню и взаимодействовать с игровой доской. Кроме того, описаны некоторые рекомендации, которые следует учитывать при работе с входными данными. |
Добавление звука в пример Marble Maze | Описывает, как Marble Maze работает с звуком для добавления музыки и звуковых эффектов в игровой интерфейс. |