Руководство по разработке игр для Windows

Добро пожаловать в руководство по разработке игр Windows!

В этом руководстве представлена сквозная коллекция ресурсов и сведений, необходимых для разработки игры универсальная платформа Windows (UWP). Версия этого руководства доступна в формате PDF.

Введение в разработку игр для универсальная платформа Windows (UWP)

При создании игры с Windows у вас есть возможность достичь миллионов игроков по всему миру на пк и Xbox One. С помощью Xbox в Windows, Xbox Live, функции многопользовательской игры на разных устройствах, потрясающего сообщества игроков и невероятных новых функций, например универсальной платформы Windows (UWP) и DirectX 12, игры на Windows увлекут игроков всех возрастов и жанровых предпочтений. Универсальная платформа Windows (UWP) обеспечивает совместимость для игры на устройствах Windows с общим API для ПК и Xbox One, а также средствами и параметрами для адаптации игры к каждому устройству.

В этом руководстве представлена сквозная коллекция информации и ресурсов, которые помогут вам при разработке игры. Разделы организованы в соответствии с этапами разработки игр, поэтому вы узнаете, где искать информацию при необходимости.

Если вы не знакомы с разработкой игр в Windows или Xbox, руководство по началу работы может быть местом начала работы. В разделе "Ресурсы разработки игр" также представлен высокоуровневый обзор документации, программ и других ресурсов, которые полезны при создании игры. Если вы хотите начать с просмотра кода UWP вместо этого, см . примеры игр.

Ресурсы разработки игр

Документация по программам разработчика, форумам, блогам и примерам, доступно множество ресурсов, которые помогут вам в разработке игр. Вот округление ресурсов, чтобы узнать о том, как вы начинаете разработку игры Windows.

Примечание.

Некоторые функции управляются различными программами. В этом руководстве рассматривается широкий спектр ресурсов, поэтому некоторые ресурсы недоступны в зависимости от используемой программы или конкретной роли разработки. Примерами являются ссылки, разрешающие developer.xboxlive.com, forums.xboxlive.comxdi.xboxlive.comили сеть разработчика игр (GDN). Сведения о партнерстве с корпорацией Майкрософт см. в разделе "Программы разработчика".

Документация по разработке игр

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

Главный портал Windows Центр разработки Центр разработки для Windows
Разработка приложений Windows Разработка приложений Windows
разработка приложений универсальная платформа Windows документация по универсальная платформа Windows
Практическое руководство по играм UWP Игры и DirectX
Справочник и обзоры DirectX Графика и игры DirectX
Azure для игр Создание и масштабирование игр с помощью Azure
Azure PlayFab Полное решение серверной части для динамических игр
Приложения UWP для Xbox One Создание приложений UWP на Xbox One
UWP в HoloLens Создание приложений UWP на HoloLens
Документация по Xbox Live Руководство разработчика Xbox Live
Документация по разработке Xbox One (XGD) Разработка Xbox One
Технические документы по разработке Xbox One (XGD) Технические документы
Интерактивная документация по Mixer Добавление интерактивности в игру

Центр партнеров

Регистрация в качестве разработчика в Центре партнеров — это первый шаг к публикации игры Windows. Учетная запись разработчика позволяет зарезервировать имя игры и отправлять бесплатные или платные игры в Microsoft Store для всех устройств Windows. Используйте свою учетную запись разработчика для управления продуктами игры и игр, получения подробной аналитики и предоставления услуг, которые создают отличные возможности для ваших игроков по всему миру.

Корпорация Майкрософт также предлагает несколько программ разработчиков для разработки и публикации игр Windows. Мы рекомендуем узнать, подходит ли вам перед регистрацией для учетной записи Центра партнеров. Дополнительные сведения см. в разделе "Программы разработчика"

Программы разработчика

Корпорация Майкрософт предлагает несколько программ разработчиков, которые помогут вам разрабатывать и публиковать игры с Windows. Попробуйте присоединиться к программе разработчика, если вы хотите разработать игры для Xbox One и интегрировать функции Xbox Live в игру. Чтобы опубликовать игру в Microsoft Store, необходимо также создать учетную запись разработчика в Центре партнеров.

Программа создателей Xbox Live

Программа Xbox Live Creators Program позволяет всем пользователям интегрировать Xbox Live в их название и публиковать в Xbox One и Windows. Существует упрощенный процесс сертификации, и не требуется утверждение концепции за пределами стандартных политик Microsoft Store.

Вы можете развернуть, разработать и опубликовать игру в программе Creators Program без выделенного комплекта средств разработки, используя только розничное оборудование. Чтобы приступить к работе, скачайте приложение активации в режиме разработки в Xbox One.

Если вы хотите получить доступ к еще более возможностям Xbox Live, выделенной маркетинговой поддержке и поддержке разработки, а также возможность быть представлена в основном магазине Xbox One, а затем применить к программе ID@Xbox .

Программа создателей Xbox Live Дополнительные сведения о программе Xbox Live Creators

ID@Xbox

Программа ID@Xbox помогает квалифицированным разработчикам самостоятельно публиковать игры в Windows и Xbox One. Если вы хотите разработать для Xbox One или добавить функции Xbox Live, такие как Gamerscore, достижения и лидеры в игру Windows, а затем зарегистрируйтесь.ID@Xbox Станьте разработчиком ID@Xbox , чтобы получить инструменты и поддержку, необходимые для развертывания вашего творчества и максимальной успешности. Перед регистрацией учетной записи разработчика в Центре партнеров рекомендуется обратиться ID@Xbox к ней.

программа разработчика ID@Xbox Независимая программа разработчика для Xbox One
ID@Xbox потребительский сайт ID@Xbox

Примеры игр

Существует множество примеров игр и приложений Windows, которые помогут вам понять функции windows gaming и начать разработку игр. Примеры разрабатываются и публикуются регулярно, поэтому не забывайте иногда проверка обратно на образцах порталов, чтобы увидеть новые возможности. Вы также можете просматривать репозитории GitHub, чтобы получать уведомления об изменениях и дополнениях.

универсальная платформа Windows примеры приложений Windows-universal-samples
Примеры графики Direct3D 12 DirectX-Graphics-Samples
Примеры графики Direct3D 11 directx-sdk-samples
Пример игры Direct3D 11 первого человека Создание простой игры UWP с помощью DirectX
Пример пользовательских эффектов изображений Direct2D D2DCustomEffects
Пример сетки градиентов Direct2D D2DGradientMesh
Пример корректировки фотографий Direct2D D2DPhotoAdjustment
Общедоступные примеры группы расширенных технологий Xbox Xbox-ATG-Samples
Примеры Xbox Live xbox-live-samples
Примеры игр Xbox One (XGD) Примеры
Примеры игр Windows (коллекция кодов MSDN) Примеры игр в Microsoft Store
Пример игры JavaScript 2D Создание игры UWP в JavaScript
Пример игры JavaScript 3D Создание трехмерной игры JavaScript с помощью three.js
Пример игры MonoGame 2D UWP Создание игры UWP в MonoGame 2D

Форумы разработчиков

Форумы разработчиков — это отличное место, чтобы задавать и отвечать на вопросы разработки игр, а также связываться с сообществом разработчиков игр. Форумы также могут быть фантастическими ресурсами для поиска существующих ответов на трудные вопросы, с которыми разработчики столкнулись и решены в прошлом.

Публикация приложений и игр на форумах разработчиков Публикация и реклама в приложениях
Форум разработчика приложений UWP Разработка приложений универсальная платформа Windows
Форумы разработчиков классических приложений Форумы классических приложений Windows
Игры DirectX Microsoft Store (архивированные сообщения форума) Создание игр Microsoft Store с помощью DirectX (архивировано)
Форумы разработчиков для управляемых партнеров Windows 10 Форумы разработчиков XBOX: Windows 10
Форум Xbox Live Форум по разработке Xbox Live
Форумы PlayFab Форумы PlayFab

Блоги разработчиков

Блоги разработчиков — это еще один отличный ресурс для получения последних сведений о разработке игр. Вы найдете записи о новых функциях, сведениях о реализации, рекомендациях, фоне архитектуры и т. д.

Создание приложений для Windows (блог) Создание приложений для Windows
Windows 10 (записи блога) Записи в Windows 10
Блог группы разработчиков Visual Studio Блог Visual Studio
Блоги средств разработчика Visual Studio Блог о средствах для разработчиков
Блог разработчиков Somasegar Блог Somasegar
Блог разработчика DirectX Блог разработчика DirectX
Введение в DirectX 12 (запись блога) DirectX 12
Блог группы средств Visual C++ Блог команды разработчиков Visual C++
Блог группы PIX Настройка производительности и отладка для игр DirectX 12 в Windows и Xbox
Блог группы развертывания универсальных приложений Windows Создание и развертывание блога группы приложений UWP

Концепция и планирование

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

Обзор технологий разработки игр

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

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

Опрос игровых технологий UWP Игровые технологии для приложений UWP

Планирование игры

Это некоторые высокоуровневые концепции и темы планирования, которые следует учитывать при планировании игры.

Сделать игру доступной Специальные возможности для игр
Создание игр с помощью облака Облако для игр
Монетизация игры Монетизация для игр

Выбор графической технологии и языка программирования

Существует несколько языков программирования и графических технологий, доступных для использования в играх Windows. Путь, который вы принимаете, зависит от типа игры, которую вы разрабатываете, опыт и предпочтения вашей студии разработки, и конкретных требований к функциям игры. Будет ли использоваться C#, C++или JavaScript? DirectX, XAML или HTML5?

DirectX

Microsoft DirectX — это выбор для высокопроизводительной трехмерной графики и мультимедиа.

DirectX 12 быстрее и эффективнее, чем любая предыдущая версия. Direct3D 12 позволяет более богатые сцены, больше объектов, более сложные эффекты и полное использование современного оборудования GPU на компьютерах с Windows и Xbox One.

Если вы хотите использовать знакомый графический конвейер Direct3D 11, вы по-прежнему сможете воспользоваться новыми функциями отрисовки и оптимизации, добавленными в Direct3D 11.3. И если вы являетесь разработчиком api Windows для настольных компьютеров с корнями в Win32, то вы все равно сможете использовать этот вариант для игры с Windows.

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

Разработка DirectX для UWP Программирование для DirectX
Руководство. Создание игры UWP DirectX Создание простой игры UWP с помощью DirectX
Обзоры и справочные материалы DirectX Графика и игры DirectX
Руководство и справочник по программированию Direct3D 12 Графика Direct3D 12
Видео по разработке графики и DirectX 12 (канал YouTube) Microsoft DirectX 12 и графическое образование

XAML

XAML — это простой декларативный язык пользовательского интерфейса с удобными функциями, такими как анимация, раскадровки, привязка данных, масштабируемая графика на основе векторов, динамическое изменение размера и графы сцен. XAML отлично подходит для пользовательского интерфейса игры, меню, спрайтов и 2D-графики. Чтобы упростить макет пользовательского интерфейса, XAML совместим с инструментами проектирования и разработки, такими как Expression Blend и Microsoft Visual Studio. XAML часто используется с C#, но C++ также является хорошим выбором, если это ваш предпочтительный язык или если ваша игра имеет высокие требования к ЦП.

Обзор платформы XAML Платформа XAML
Пользовательский интерфейс XAML и элементы управления Элементы управления, макеты и текст

HTML 5

Язык разметки HyperText (HTML) — это распространенный язык разметки пользовательского интерфейса, используемый для веб-страниц, приложений и расширенных клиентов. Игры Windows могут использовать HTML5 в качестве полнофункционированного слоя презентации с знакомыми функциями HTML, доступом к универсальная платформа Windows и поддержкой современных веб-функций, таких как AppCache, веб-рабочие роли, холст, перетаскивание, асинхронное программирование и SVG. За кулисами отрисовка HTML использует преимущества аппаратного ускорения DirectX, поэтому вы по-прежнему можете получить преимущества производительности DirectX без написания дополнительного кода. HTML5 — это хороший выбор, если вы опытно используете веб-разработку, перенос веб-игры или хотите использовать языковые и графические слои, которые могут быть проще подходить, чем другие варианты. HTML5 используется с JavaScript, но также может вызывать компоненты, созданные с помощью C# или C++/CX.

Сведения об объектной модели HTML5 и документе Справочник по HTML и DOM
Рекомендация ПО HTML5 W3C HTML5

Объединение технологий презентации

Инфраструктура графики Microsoft DirectX (DXGI) обеспечивает взаимодействие и совместимость нескольких графических технологий. Для высокопроизводительной графики можно объединить XAML и DirectX; с помощью XAML для меню и других простых пользовательских интерфейсов и DirectX для отрисовки сложных трехмерных и трехмерных сцен. DXGI также обеспечивает совместимость между Direct2D, Direct3D, DirectWrite, DirectCompute и Microsoft Media Foundation.

Руководство по программированию и справочник по инфраструктуре графики DirectX DXGI
Объединение DirectX и XAML Взаимодействие DirectX и XAML

C++

C++/WinRT — это высокопроизводительный, низкоуровневый язык, обеспечивающий эффективное сочетание скорости, совместимости и доступа к платформе. C++/WinRT упрощает использование всех отличных игровых функций в Windows, включая DirectX и Xbox Live. Вы также можете повторно использовать существующий код и библиотеки C++. C++/WinRT создает быстрый машинный код, который не приводит к затратам на сборку мусора, поэтому ваша игра может иметь большую производительность и низкое потребление энергии, что приводит к длительной жизни батареи. Используйте C++/WinRT с DirectX или XAML или создайте игру, которая использует сочетание обоих.

C#

C# (произнесенная "C sharp") — это современный, инновационный язык, который является простым, мощным, типобезопасным и объектно-ориентированным. C# обеспечивает быструю разработку, сохраняя знакомство и экспрессивность языков C. Несмотря на простоту использования, C# имеет множество расширенных языковых функций, таких как полиморфизм, делегаты, лямбда-выражения, закрытия, методы итератора, ковариация и выражения LINQ. C# — отличный выбор, если вы нацелены на XAML, хотите быстро начать разработку игры или использовать предыдущий интерфейс C#. C# используется в основном с XAML, поэтому если вы хотите использовать DirectX, а затем выберите C++ или напишите часть игры в качестве компонента C++, взаимодействующего с DirectX. Или рассмотрим Win2D: немедленный режим графической библиотеки Direct2D для C# и C++.

Руководство по программированию на C# и справочник Справочник по языку C#

Использование компонентов среда выполнения Windows для объединения языков

Благодаря универсальная платформа Windows легко объединить компоненты, написанные на разных языках. Создайте компоненты среда выполнения Windows в C++, C#или Visual Basic, а затем вызовите их из JavaScript, C#, C++или Visual Basic. Это отличный способ программировать части вашей игры на выбранном языке. Компоненты также позволяют использовать внешние библиотеки, доступные только на определенном языке, а также использовать устаревший код, который вы уже написали.

Создание компонентов среда выполнения Windows Создание компонентов среды выполнения Windows с помощью C++/WinRT

Какую версию DirectX следует использовать в игре?

Если вы выбираете DirectX для игры, вам потребуется решить, какая версия будет использоваться: Microsoft Direct3D 12 или Microsoft Direct3D 11.

DirectX 12 быстрее и эффективнее, чем любая предыдущая версия. Direct3D 12 позволяет более богатые сцены, больше объектов, более сложные эффекты и полное использование современного оборудования GPU на компьютерах с Windows и Xbox One. Так как Direct3D 12 работает на очень низком уровне, он может дать экспертной группе разработки графики или опытной команде разработки DirectX 11 все элементы управления, которые они нуждаются в максимальной оптимизации графики.

Direct3D 11.3 — это низкоуровневый графический API, который использует знакомую модель программирования Direct3D и обрабатывает больше сложности, связанной с отрисовкой GPU. Она также поддерживается в Windows и Xbox One. Если у вас есть существующий механизм, написанный в Direct3D 11, и вы не совсем готовы сделать переход к Direct3D 12, вы можете использовать Direct3D 11 на 12 для достижения некоторых улучшений производительности. Версии 11.3+ содержат новые функции отрисовки и оптимизации, включенные также в Direct3D 12.

Выбор Direct3D 12 или Direct3D 11 Что такое Direct3D 12?
Обзор Direct3D 11 Графика Direct3D 11
Обзор Direct3D 11 на 12 Direct3D 11 на 12

Мосты, игровые механизмы и ПО промежуточного слоя

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

Azure PlayFab

Теперь часть семьи Майкрософт, Azure PlayFab является полной серверной платформой для динамических игр и мощным способом для независимых студий для начала работы. Откройте для себя выгодные возможности, привлекайте новых пользователей и сократите период удержания благодаря службам игр, возможностям аналитики в реальном времени и LiveOps.

PlayFab Обзор средств и служб
Начало работы Что такое PlayFab?
Серия учебников по видео Серия демонстрационных видео о основных системах PlayFab
Рецепты Рецепты
Репозиторий GitHub Получение скриптов и пакетов SDK для различных платформ, включая Android, iOS, Windows, Unity и Unreal.
Документация по API Обзор REST API
Форумы Форумы PlayFab

Unity

Unity предлагает платформу для создания красивых и привлекательных 2D, 3D, VR и ar игр и приложений AR. Это позволяет быстро реализовать свое творческое видение и доставлять содержимое практически любому носителю или устройству.

Начиная с версии Unity 5.4, Unity поддерживает разработку Direct3D 12.

Игровой механизм Unity Unity — игровой механизм
Получение Unity Получение Unity
Документация по Unity для Windows Unity Manual / Windows
Добавление LiveOps с помощью PlayFab Краткое руководство. Клиентская библиотека PlayFab для C# в Unity
Добавление интерактивности в игру с помощью Mixer Interactive Руководство по началу работы
Пакет SDK для Mixer для Unity Подключаемый модуль Mixer Unity
Справочная документация по пакету SDK mixer для Unity Справочник по API для подключаемого модуля Mixer Unity
Устранение неполадок с отсутствующими ссылками на сборки, связанные с API .NET Отсутствие интерфейсов API .NET в Unity и UWP
Публикация игры Unity в виде приложения универсальная платформа Windows (видео) Публикация игры Unity в качестве приложения UWP
Использование Unity для создания игр и приложений Windows (видео) Создание игр и приложений Windows с помощью Unity
Разработка игр Unity с помощью Visual Studio (серия видео) Использование Unity с Visual Studio 2015

Havok

Модульный набор инструментов и технологий Havok помогает создателям игр достичь новых уровней интерактивности и иммерсии. Havok позволяет высокореалистичной физике, интерактивным имитациям и потрясающим кинематографикам. Версия 2015.1 или более поздней официально поддерживает UWP в Visual Studio 2015 на x86, 64-разрядной версии и Arm.

Веб-сайт Havok Havok

MonoGame

MonoGame — это открытый код кроссплатформенная платформа разработки игр на основе XNA Framework 4.0 Корпорации Майкрософт. Monogame в настоящее время поддерживает Windows и Xbox, а также Linux, macOS, iOS, Android и несколько других платформ.

MonoGame Посетите веб-сайт
Документация по MonoGame Посетите документацию
Выпуски Monogame Получение последнего выпуска с помощью NuGet

Cocos2d

Cocos2d-x — это кроссплатформенный открытый код подсистема разработки игр и набор инструментов, поддерживающий создание игр UWP. Начиная с версии 3, также добавляются 3D-функции.

Cocos2d-x Что такое Cocos2d-x?
Руководство программиста Cocos2d-x Руководство программистов Cocos2d-x
Cocos2d-x в Windows 10 (запись блога) Запуск Cocos2d-x в Windows 10
Добавление LiveOps с помощью PlayFab Краткое руководство по Cocos2D-x

Unreal Engine

Unreal Engine — это полный набор средств разработки игр для всех типов игр и разработчиков. Для самых требовательных игр консоли и ПК Unreal Engine используется разработчиками игр по всему миру.

Обзор Unreal Engine Unreal Engine

Babylonjs

BabylonJS — это полная платформа JavaScript для создания трехмерных игр с помощью HTML5, WebGL, WebVR и Web Audio.

Babylonjs Babylonjs
Создание кроссплатформенной игры WebGL с помощью BabylonJS Использование BabylonJS для разработки кроссплатформенной игры

Перенос игры

Если у вас есть игра, есть много ресурсов и руководств, которые помогут вам быстро перенести игру в UWP.

Перенос приложения Windows 8 в приложение универсальная платформа Windows Переход от среды выполнения Windows 8.x к UWP
Перенос приложения Windows 8 в приложение универсальная платформа Windows (видео) Перенос приложений 8.1 в Windows 10
Перенос приложения iOS в приложение универсальная платформа Windows Переход с iOS на UWP
Перенос приложения Silverlight в приложение универсальная платформа Windows Переход из Windows Телефон Silverlight в UWP
Перенос из XAML или Silverlight в приложение универсальная платформа Windows (видео) Перенос приложения из XAML или Silverlight в Windows 10
Перенос игры Xbox в приложение универсальная платформа Windows Приложения UWP для Xbox One
Перенос из DirectX 9 в DirectX 11 Порт из DirectX 9 в универсальная платформа Windows (UWP)
Перенос из Direct3D 11 в Direct3D 12 Перенос из Direct3D 11 в Direct3D 12
Перенос из OpenGL ES в Direct3D 11 Порт из OpenGL ES 2.0 в Direct3D 11
OpenGL ES в Direct3D 11 с помощью ANGLE УГОЛ
Классические эквиваленты API Windows в UWP Альтернативные интерфейсы API Windows в приложениях универсальная платформа Windows (UWP)

Прототип и проектирование

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

Общие сведения о универсальная платформа Windows (UWP)

Windows — это главная универсальная платформа Windows (UWP), которая предоставляет общую платформу API на устройствах Windows. UWP развивается и расширяет модель среда выполнения Windows (WinRT) и обновит ее в сплоченный, унифицированный ядро. Игры, предназначенные для UWP, могут вызывать API WinRT, которые являются общими для всех устройств. Так как UWP предоставляет гарантированные уровни API, вы можете создать один пакет приложения, который будет устанавливаться на устройствах Windows. И если вы хотите, ваша игра по-прежнему может вызывать API (включая некоторые классические API Windows из Win32 и .NET), которые относятся к устройствам, на которых выполняется игра.

Ниже приведены отличные руководства, которые подробно обсуждают универсальная платформа Windows приложения и рекомендуется читать, чтобы понять платформу.

Общие сведения о приложениях универсальная платформа Windows Что такое приложение универсальная платформа Windows?

Начало разработки UWP

Подготовка и подготовка к разработке приложения универсальная платформа Windows является быстрым и простым. Следующие руководства помогут вам выполнить пошаговые инструкции по процессу.

Начало разработки UWP Начало работы с приложениями Windows
Настройка для разработки UWP Подготовка

Если вы абсолютный начинающий программирование UWP и рассматриваете возможность использования XAML в игре (см. раздел "Выбор графической технологии и язык программирования"), разработка Windows 10 для абсолютных начинающих серии видео является хорошим местом для начала.

Объявление об абсолютной серии начинающих Windows 10 с помощью XAML (запись блога) Разработка Windows 10 для абсолютных начинающих

Основные понятия разработки UWP

Обзор разработки приложений универсальная платформа Windows Разработка приложений Windows
Обзор сетевого программирования в UWP Сети и веб-службы
Использование Windows.Web.HTTP и Windows.Networking.Sockets в играх Поддержка сети в играх
Основные понятия асинхронного программирования в UWP Асинхронное программирование

API рабочего стола Windows и UWP

Это некоторые ссылки, которые помогут вам взаимодействовать между классическим кодом и кодом UWP.

Использование существующего кода C++ для разработки игр UWP Практическое руководство. Использование существующего кода C++ в приложении UWP
API среда выполнения Windows для API Win32 и COM Интерфейсы API Win32 и COM для приложений UWP
Неподдерживаемые функции CRT в UWP Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows
Альтернативные варианты для API Windows Альтернативные интерфейсы API Windows в приложениях универсальная платформа Windows (UWP)

Управление временем существования процесса

Управление жизненным циклом процесса или жизненный цикл приложений описывает различные состояния активации, через которые может перейти приложение универсальная платформа Windows. Ваша игра может быть активирована, приостановлена, возобновлена или прекращена и может переходить через эти состояния различными способами.

Обработка переходов жизненного режима приложения Жизненный цикл приложения
Использование Microsoft Visual Studio для активации переходов приложений Как активировать приостановку, возобновление и фоновые события для приложений UWP в Visual Studio

Проектирование пользовательского интерфейса игры

Рождение большой игры вдохновляет дизайн.

Игры используют некоторые распространенные элементы пользовательского интерфейса и принципы проектирования с приложениями; но игры часто имеют уникальный внешний вид, чувство и цель разработки для их взаимодействия с пользователем. Игры преуспевают, когда мыслительный дизайн применяется к обоим аспектам— когда ваша игра должна использовать проверенный UX, и когда она должна разоружиться и инноваций? Технология презентации, которую вы выбираете для игры— DirectX, XAML, HTML5 или некоторые сочетания этих трех, влияет на детали реализации, но применяемые принципы проектирования в значительной степени независимы от этого выбора.

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

Основы и рекомендации по проектированию UWP Проектирование приложений UWP
Проектирование состояний жизненного цикла приложения Рекомендации по UX для запуска, приостановки и возобновления работы
Разработка приложения UWP для экранов Xbox One и телевизоров Проектирование для Xbox и ТВ

Цветовая направляющая и палитра

После согласованного цветового руководства в игре улучшает эстетику, помогает навигации и является мощным инструментом для информирования игрока о функциях меню и HUD. Согласованный цвет элементов игры, таких как предупреждения, повреждение, XP и достижения, могут привести к более чистому пользовательскому интерфейсу и снизить потребность в явных метках.

Руководство по цвету Цвет в Windows 11

Оформление текста

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

Руководство по типографии Рекомендации. Типография

Карта пользовательского интерфейса

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

Руководство по карте пользовательского интерфейса Рекомендации. Схема пользовательского интерфейса

Звук игры

Ниже приведены руководства и ссылки на реализацию звука в играх с помощью XAudio2, XAPO и Windows Sonic. XAudio2 — это низкоуровневый API звука, обеспечивающий обработку сигналов и создание основы для разработки высокопроизводительных звуковых модулей. API XAPO позволяет создавать кроссплатформенные объекты обработки звука (XAPO) для использования в XAudio2 как в Windows, так и в Xbox. Поддержка звука Windows Sonic позволяет добавлять Dolby Atmos для домашнего театра, Dolby Atmos для наушников и windows HRTF поддержки в вашей игре или потоковом приложении мультимедиа.

API XAudio2 Руководство по программированию и справочник по API для XAudio2
Создание кроссплатформенных объектов обработки звука Обзор XAPO
Введение в основные понятия аудио Звук для игр
Обзор Windows Sonic Пространственный звук
Примеры пространственного звука Windows Sonic Примеры звука для группы расширенных технологий Xbox

Direct3D 12

Узнайте, что нового и отличается в Direct3D 12 (по сравнению с Direct3D 11) и как начать программирование с помощью Direct3D 12.

Руководство и справочник по программированию Direct3D 12 Графика Direct3D 12
Настройка среды программирования Настройка среды программирования Direct3D 12
Создание базового компонента Создание базового компонента Direct3D 12
Изменения в Direct3D 12 Важные изменения, перенесенные с Direct3D 11 на Direct3D 12
Перенос из Direct3D 11 в Direct3D 12 Перенос из Direct3D 11 в Direct3D 12
Основные понятия привязки ресурсов (охватывающие дескриптор, таблицу дескриптора, кучу дескриптора и корневую подпись) Привязка ресурсов в Direct3D 12
Управление памятью Управление памятью в Direct3D 12

Разработка DirectX

Руководства и ссылки на разработку игр DirectX.

Разработка DirectX для UWP Программирование для DirectX
Руководство. Создание игры UWP DirectX Создание простой игры UWP с помощью DirectX
Взаимодействие DirectX с моделью приложения UWP Объект приложения и DirectX
Обзоры и справочные материалы DirectX Графика и игры DirectX
Основы DirectX 12 (видео) Улучшенная мощность, улучшенная производительность: ваша игра на DirectX 12

Набор инструментов и библиотеки DirectX

Набор инструментов DirectX, библиотека обработки текстур DirectX, библиотека обработки геометрии DirectXMesh, библиотека UVAtlas и библиотека DirectXMath предоставляют текстуру, сетку, спрайт и другие вспомогательные классы для разработки DirectX. Эти библиотеки помогут сэкономить время разработки и усилия.

Получение пакета инструментов DirectX для DirectX 12 DirectXTK 12
Получение пакета инструментов DirectX для DirectX 11 DirectXTK
Получение библиотеки обработки текстур DirectX DirectXTex
Получение библиотеки обработки геометрии DirectXMesh DirectXMesh
Получение UVAtlas для создания и упаковки изохартного атласа текстуры UVAtlas
Получение библиотеки DirectXMath Directxmath
Поддержка Direct3D 12 в DirectXTK (проблема с GitHub) Поддержка DirectX 12

Ресурсы DirectX от партнеров

Ниже приведена дополнительная документация DirectX, созданная внешними партнерами.

Nvidia: DX12 Do и Do'ts (запись блога) DX12 Do и Do'ts, обновлено!
Intel: параллельная обработка с помощью DirectX 3D 12 Параллельная обработка с помощью DirectX 3D 12
Intel: как реализовать явное многоадаптерное приложение с помощью DirectX 12 Поддержка нескольких адаптеров в DirectX 12
Intel: Совместная документация по Intel, Suzhou Snail и Майкрософт Руководство. Перенос приложений в DirectX 12 — часть 1

Производственный экземпляр

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

Уведомления и живые плитки

Плитка — это представление игры в меню "Пуск". Плитки и уведомления могут стимулировать интерес игрока, даже если они в настоящее время не играют в вашу игру.

Разработка плиток и значков Плитки, значки и уведомления
Пример иллюстрации динамических плиток и уведомлений Пример уведомлений
Адаптивные шаблоны плиток (запись блога) Адаптивные шаблоны плиток — схема и документация
Проектирование плиток и индикаторов событий Рекомендации по плиткам и значкам
Приложение Windows 10 для интерактивной разработки шаблонов динамических плиток Визуализатор уведомлений
Расширение генератора плиток UWP для Visual Studio Инструмент для создания всех необходимых плиток с помощью одного образа
Расширение генератора плиток UWP для Visual Studio (запись блога) Советы с помощью средства генератора плиток UWP

Включение покупок в приложении (надстройка)

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

Устойчивые надстройки Включение покупок продуктов в приложении
Потребляемые надстройки Включение покупки потребляемых продуктов в приложении
Сведения о надстройке и отправке Отправка надстроек
Мониторинг продаж и демографических данных надстроек для игры Отчет о приобретениях надстроек

Отладка, оптимизация производительности и мониторинг

Чтобы оптимизировать производительность, вы можете воспользоваться режимом игры в Windows, чтобы предоставить игрокам лучший игровой интерфейс, полностью используя емкость их текущего оборудования.

Набор средств производительности Windows (WPT) состоит из средств мониторинга производительности, которые создают подробные профили производительности операционных систем и приложений Windows. Это особенно полезно для мониторинга использования памяти и повышения производительности игры. Набор средств производительности Windows включается в пакет SDK для Windows и Windows ADK. Этот набор средств состоит из двух независимых средств: средства записи производительности Windows (WPR) и Windows Анализатор производительности (WPA). ProcDump, который является частью Windows Sysinternals, — это программа командной строки, которая отслеживает пики ЦП и создает файлы дампа во время сбоя игры.

Тест производительности кода Azure Test Plans
Получение типа консоли Xbox с помощью сведений об игровых устройствах Сведения об игровых устройствах
Повышение производительности путем получения эксклюзивного или приоритетного доступа к аппаратным ресурсам с помощью API режима игры Режим игры
Получение набор средств производительности Windows (WPT) Набор средств для оценки производительности Windows
Получение набор средств производительности Windows (WPT) из Windows ADK Windows ADK
Получение ProcDump ProcDump;

Расширенные методы и понятия DirectX

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

Средство настройки производительности и отладки Для DirectX 12 в Windows Знакомство с PIX в Windows
Руководство по программированию Direct3D 12 Графика Direct3D 12
Объединение DirectX и XAML Взаимодействие DirectX и XAML

Разработка содержимого с высоким динамическим диапазоном (HDR)

Создайте игровое содержимое, использующее возможности HDR с полным цветом.

Узнайте, как отобразить содержимое HDR и определить, поддерживает ли текущий дисплей его. Пример HDR Direct3D 12
Создание и настройка расширенного цвета с помощью DirectX Пример отрисовки расширенного цветного изображения Direct2D

Глобализация и локализация

Разработка игр, готовых к миру для платформы Windows, и узнайте о международных функциях, встроенных в основные продукты Майкрософт.

Подготовка игры к глобальному рынку Глобализация и локализация

Отправка и публикация игры

Следующие руководства и сведения помогут сделать процесс публикации и отправки как можно более плавно.

Публикация

Вы будете использовать Центр партнеров для публикации и управления пакетами игр.

Публикация приложений Центра партнеров Публикация приложений для Windows
Добавление пользователей в учетную запись Центра партнеров с помощью Azure Active Directory (AAD) Создание групп пользователей
Оценка игры (запись блога) Теперь доступно: единая система оценки возрастов для упрощения отправки приложений

Упаковка и отправка

Разделение и группирование содержимого для включения потоковой установки Установка потоковой передачи приложений UWP
Создание необязательных пакетов, таких как игровое содержимое DLC Разработка дополнительных пакетов и связанных наборов
Упаковка игры UWP Пакеты приложений
Упаковка игры DirectX UWP Упаковка игры DirectX UWP
Упаковка игры в качестве 3-го участника разработчика (запись блога) Создание загруженных пакетов без доступа к учетной записи хранилища издателя
Создание пакетов приложений и пакетов приложений с помощью MakeAppx Создание пакетов с помощью средства пакета приложений MakeAppx.exe
Подписывание файлов цифровым образом с помощью SignTool Подписывая файлы и проверяйте подписи в файлах с помощью SignTool
Отправка и управление версиями игры Отправка пакетов приложений

Политики и сертификация

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

Соглашение разработчика приложений Microsoft Store Соглашение разработчика приложений
Политики публикации приложений в Microsoft Store Политики для Microsoft Store
Как избежать некоторых распространенных проблем с сертификацией приложений Избегайте распространенных сбоев сертификации

Манифест хранилища (StoreManifest.xml)

Манифест магазина (StoreManifest.xml) — это необязательный файл конфигурации, который можно включить в пакет приложения. Манифест хранилища предоставляет дополнительные функции, которые не являются частью AppxManifest.xml файла. Например, манифест магазина можно использовать для блокировки установки игры, если целевое устройство не имеет указанного минимального уровня компонентов DirectX или указанной минимальной системной памяти.

Схема манифеста хранилища Схема StoreManifest (Windows 10)

Управление жизненным циклом игры

Завершив разработку и отправив игру, это не игра. Возможно, вы закончите разработку с версией 1, но путешествие вашей игры в Marketplace только что началось. Вы хотите отслеживать использование и отчеты об ошибках, отвечать на отзывы пользователей и публиковать обновления в игре.

Аналитика и продвижение в Центре партнеров

Аналитика Центра партнеров Анализ производительности приложений
Узнайте, как ваши клиенты взаимодействуют с функциями Xbox в игре Отчет аналитики Xbox
Реагирование на отзывы клиентов Реагирование на отзывы клиентов
Способы продвижения игры Привлечение клиентов и повышение уровня приложений

Visual Studio Application Insights

Приложение Visual Studio Аналитика предоставляет аналитику производительности, телеметрии и использования для опубликованной игры. Приложение Аналитика помогает обнаруживать и устранять проблемы после выпуска игры, непрерывно отслеживать и улучшать использование, а также понимать, как игроки продолжают взаимодействовать с вашей игрой. Для работы Application Insights в приложение необходимо добавить пакет SDK, который отправляет данные телеметрии на портал Azure.

Аналитика производительности и использования приложений Общие сведения об Application Insights
Azure Monitor Общие сведения о службе Azure Monitor

Сторонние решения для аналитики и продвижения

Общие сведения о поведении игрока с помощью GameAnalytics GameAnalytics
Подключение игру UWP в Google Analytics Получение пакета SDK для Windows для Google Analytics
Использование Facebook App Installs Ads для продвижения игры пользователям Facebook Получение пакета SDK для Windows для Facebook
Добавление видео рекламы в игры с помощью Vungle Скачивание пакета SDK Vungle для Windows

Создание обновлений содержимого и управление ими

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

Обновление и управление версиями игры Нумерирование версий пакета
Руководство по управлению пакетами игр Руководство по управлению пакетами приложений

Добавление Xbox Live в игру

Xbox Live — это высококлассная игровая сеть, которая объединяет миллионы игроков по всему миру. Разработчики получают доступ к функциям Xbox Live, которые могут органично расти аудитории своей игры, включая присутствие Xbox Live, лидеры, облачные экономии, игровые центры, клубы, партийный чат, игровой DVR и многое другое.

Примечание.

Если вы хотите разработать названия с поддержкой Xbox Live, вам доступны несколько вариантов. Дополнительные сведения о различных программах см. в разделе "Выбор программы разработчика Xbox Live".

Обзор Xbox Live Документация по Xbox Live

Для разработчиков в программе Xbox Live Creators

Обзор Присоединение к программе Creators

Для управляемых партнеров и разработчиков в программе ID@Xbox

Обзор Начало работы с Xbox Live для управляемых партнеров
Примеры Примеры разработки игр Xbox

Дополнительные ресурсы

Видео из крупных конференций, таких как GDC и //build Видео о разработке игр