Руководство по разработке игр для Windows
Добро пожаловать в руководство по разработке игр Windows!
Примечание.
Прежде чем инвестировать время разработки игры на основе платформы UWP, обратите внимание, что UWP больше не находится в активной разработке. Кроме того, игры на основе UWP больше не принимаются в Магазине Xbox.
В этом руководстве представлена сквозная коллекция ресурсов и сведений, необходимых для разработки игры универсальная платформа Windows (UWP). Версия этого руководства доступна в формате PDF.
Введение в разработку игр для универсальная платформа Windows (UWP)
В этом руководстве представлена сквозная коллекция информации и ресурсов, которые помогут вам при разработке игры. Разделы организованы в соответствии с этапами разработки игр, поэтому вы узнаете, где искать информацию при необходимости.
Если вы не знакомы с разработкой игр в Windows, руководство по началу работы может быть местом начала работы. В разделе "Ресурсы разработки игр" также представлен высокоуровневый обзор документации, программ и других ресурсов, которые полезны при создании игры. Если вы хотите начать с просмотра кода UWP вместо этого, см . примеры игр.
Ресурсы разработки игр
Документация по программам разработчика, форумам, блогам и примерам, доступно множество ресурсов, которые помогут вам в разработке игр. Вот округление ресурсов, чтобы узнать о том, как вы начинаете разработку игры Windows.
Примечание.
Некоторые функции управляются различными программами. В этом руководстве рассматривается широкий спектр ресурсов, поэтому некоторые ресурсы недоступны в зависимости от используемой программы или конкретной роли разработки. Сведения о партнерстве с корпорацией Майкрософт см. в разделе "Программы разработчика".
Документация по разработке игр
В этом руководстве вы найдете подробные ссылки на соответствующую документацию, упорядоченную по задачам, технологиям и этапу разработки игр. Чтобы дать вам широкий обзор доступных возможностей, здесь приведены основные порталы документации для разработки игр Windows.
Главный портал Windows Центр разработки | Центр разработки для Windows |
Разработка приложений Windows | Разработка приложений Windows |
разработка приложений универсальная платформа Windows | документация по универсальная платформа Windows |
Практическое руководство по играм UWP | Игры и DirectX |
Справочник и обзоры DirectX | Графика и игры DirectX |
Azure для игр | Создание и масштабирование игр с помощью Azure |
Azure PlayFab | Полное решение серверной части для динамических игр |
Интерактивная документация по Mixer | Добавление интерактивности в игру |
Центр партнеров
Регистрация в качестве разработчика в Центре партнеров — это первый шаг к публикации игры Windows. Учетная запись разработчика позволяет зарезервировать имя игры и отправлять бесплатные или платные игры в Microsoft Store для всех устройств Windows. Используйте свою учетную запись разработчика для управления продуктами игры и игр, получения подробной аналитики и предоставления услуг, которые создают отличные возможности для ваших игроков по всему миру.
Корпорация Майкрософт также предлагает несколько программ разработчиков для разработки и публикации игр Windows. Мы рекомендуем узнать, подходит ли вам перед регистрацией для учетной записи Центра партнеров. Дополнительные сведения см. в разделе "Программы разработчика"
Программы разработчика
Чтобы опубликовать игру в Microsoft Store, необходимо также создать учетную запись разработчика в Центре партнеров.
Примеры игр
Существует множество примеров игр и приложений 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 |
Примеры игр Windows (коллекция кодов MSDN) | Примеры игр в Microsoft Store |
Пример игры JavaScript 2D | Создание игры UWP в JavaScript |
Пример игры JavaScript 3D | Создание трехмерной игры JavaScript с помощью three.js |
Форумы разработчиков
Форумы разработчиков — это отличное место, чтобы задавать и отвечать на вопросы разработки игр, а также связываться с сообществом разработчиков игр. Форумы также могут быть фантастическими ресурсами для поиска существующих ответов на трудные вопросы, с которыми разработчики столкнулись и решены в прошлом.
Публикация приложений и игр на форумах разработчиков | Публикация и реклама в приложениях |
Форум разработчика приложений UWP | Разработка приложений универсальная платформа Windows |
Форумы разработчиков классических приложений | Форумы классических приложений Windows |
Игры DirectX Microsoft Store (архивированные сообщения форума) | Создание игр Microsoft Store с помощью DirectX (архивировано) |
Форумы разработчиков для управляемых партнеров Windows 10 | Форумы разработчиков XBOX: Windows 10 |
Форумы 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 позволяет высокореалистичной физике, интерактивным имитациям и потрясающим кинематографикам. Версия 2015.1 или более поздней официально поддерживает UWP в Visual Studio 2015 на x86, 64-разрядной версии и Arm.
Веб-сайт Havok | Хавок |
Unreal Engine
Unreal Engine — это полный набор средств разработки игр для всех типов игр и разработчиков. Для самых требовательных игр консоли и ПК Unreal Engine используется разработчиками игр по всему миру.
Обзор Unreal Engine | Unreal Engine |
Babylonjs
BabylonJS — это полная платформа JavaScript для создания трехмерных игр с помощью HTML5, WebGL, WebVR и Web Audio.
Babylonjs | Babylonjs |
Создание кроссплатформенной игры WebGL с помощью BabylonJS | Использование BabylonJS для разработки кроссплатформенной игры |
Прототип и проектирование
Теперь, когда вы решили тип игры, которую вы хотите создать, и инструменты и графические технологии, которые вы будете использовать для его создания, вы готовы приступить к разработке и прототипу. В своей основе ваша игра является универсальная платформа Windows приложением, так что вот где вы начнете.
Общие сведения о универсальная платформа Windows (UWP)
Универсальная платформа Windows (UWP) предоставляет общую платформу API на устройствах Windows. Игры, предназначенные для 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 для запуска, приостановки и возобновления работы |
Цветовая направляющая и палитра
После согласованного цветового руководства в игре улучшает эстетику, помогает навигации и является мощным инструментом для информирования игрока о функциях меню и 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 | Пространственный звук |
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 |
Повышение производительности путем получения эксклюзивного или приоритетного доступа к аппаратным ресурсам с помощью 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 только что началось. Вы хотите отслеживать использование и отчеты об ошибках, отвечать на отзывы пользователей и публиковать обновления в игре.
Аналитика и продвижение в Центре партнеров
Аналитика Центра партнеров | Анализ производительности приложений |
Реагирование на отзывы клиентов | Реагирование на отзывы клиентов |
Способы продвижения игры | Привлечение клиентов и повышение уровня приложений |
Visual Studio Application Insights
Visual Studio Application Insights предоставляет аналитику производительности, телеметрии и использования для опубликованной игры. Application Insights помогает обнаруживать и решать проблемы после выпуска игры, непрерывно отслеживать и улучшать использование, а также понимать, как игроки продолжают взаимодействовать с вашей игрой. Для работы 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 | Видео о разработке игр |