Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Добро пожаловать в руководство по разработке игр 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 |
Рекомендация W3C по HTML5 | HTML5 |
Объединение технологий презентации
Инфраструктура графики Microsoft DirectX (DXGI) обеспечивает взаимодействие и совместимость нескольких графических технологий. Для высокопроизводительной графики можно объединить XAML и DirectX, используя XAML для меню и других простых пользовательских интерфейсов, а DirectX для отрисовки сложных 2D и 3D сцен. 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 Runtime для объединения языков
Благодаря универсальной платформе 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 на платформе Direct3D 12 | Direct3D 11 на 12 |
Мосты, игровые механизмы и ПО промежуточного слоя
В зависимости от потребностей вашей игры, использование мостов, игровых движков или промежуточного программного обеспечения может сэкономить время и ресурсы на разработку и тестирование. Ниже приведены некоторые общие сведения и ресурсы для мостов, игровых двигателей и ПО промежуточного слоя.
Azure PlayFab
Теперь часть семьи Майкрософт, Azure PlayFab является полной серверной платформой для динамических игр и мощным способом для независимых студий для начала работы. Увеличивайте доход, вовлечённость и удержание – при этом снижая затрат, с помощью игровых сервисов, аналитики в реальном времени и LiveOps.
PlayFab | Обзор средств и служб |
Начало работы | Что такое PlayFab? |
Серия учебников по видео | Серия демонстрационных видео о основных системах PlayFab |
Рецепты | Рецепты |
Репозиторий GitHub | Получите скрипты и SDK для различных платформ, включая Android, iOS, Windows, Unity и Unreal. |
Документация по API | Обзор REST API |
Форумы | Форумы PlayFab |
Единство
Unity предлагает платформу для создания красивых и привлекательных игр и приложений для 2D, 3D, VR и 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 |
Устранение проблем с отсутствующими ссылками на сборки, связанные с .NET API | Отсутствие интерфейсов API .NET в Unity и UWP |
Публикуйте свою игру Unity как приложение для Universal Windows Platform (видео) | Публикация игры 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 Runtime для 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 или некоторые сочетания этих трех, влияет на детали реализации, но применяемые принципы проектирования в значительной степени независимы от этого выбора.
Помимо UX, или опыта взаимодействия, дизайн игрового процесса, такой как дизайн уровней, темпы игры, мировой дизайн и другие аспекты, представляет собой отдельную художественную форму — это задача для вашей команды и не рассматривается в этом руководстве по разработке.
Основы и рекомендации по проектированию UWP | Проектирование приложений UWP |
Проектирование состояний жизненного цикла приложения | Рекомендации по UX для запуска, приостановки и возобновления работы |
Цветовая направляющая и палитра
Следование согласованным цветовым руководствам в вашей игре улучшает эстетическое восприятие, облегчает навигацию и является мощным инструментом для информирования игрока о функциях меню и интерфейса. Согласованный цвет элементов игры, таких как предупреждения, повреждение, 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 (пост в блоге) | DX12: Что можно и нельзя, обновлено! |
Intel: параллельная обработка с помощью DirectX 3D 12 | Параллельная обработка с помощью DirectX 3D 12 |
Intel: как реализовать явное многоадаптерное приложение с помощью DirectX 12 | Поддержка нескольких адаптеров в DirectX 12 |
Совместная белая книга 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 Performance Recorder (WPR) и Windows Performance Analyzer (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 | Пакеты приложений |
Упакуйте вашу игру UWP DirectX | Упаковка игры DirectX UWP |
Упаковка вашей игры как стороннего разработчика (пост в блоге) | Создание загружаемых пакетов без доступа к учетной записи магазина издателя |
Создание пакетов приложений и пакетов пакетов приложений с помощью MakeAppx | Создание пакетов с помощью средства пакета приложений MakeAppx.exe |
Подписывание файлов цифровым образом с помощью SignTool | Подписывайте файлы и проверяйте подписи в файлах с помощью SignTool |
Загрузка и управление версиями вашей игры | Отправка пакетов приложений |
Политики и сертификация
Не позволяйте проблемам сертификации отложить выпуск игры. Ниже приведены политики и распространенные проблемы сертификации, которые следует учитывать.
Соглашение разработчика приложений Microsoft Store | Соглашение разработчика приложений |
Политики публикации приложений в Microsoft Store | Политики для Microsoft Store |
Как избежать некоторых распространенных проблем с сертификацией приложений | Избегайте распространенных сбоев сертификации |
Манифест магазина (StoreManifest.xml)
Манифест магазина (StoreManifest.xml
) — это необязательный файл конфигурации, который можно включить в пакет приложения. Манифест хранилища предоставляет дополнительные функции, которые не являются частью AppxManifest.xml
файла. Например, манифест магазина можно использовать для блокировки установки игры, если целевое устройство не имеет указанного минимального уровня компонентов DirectX или указанной минимальной системной памяти.
Схема описания хранилища | Схема StoreManifest (Windows 10) |
Управление жизненным циклом игры
Завершив разработку и отправив игру, это еще не конец игры. Возможно, вы уже закончили разработку версии 1, но путешествие вашей игры на рынке только началось. Вы хотите отслеживать использование и отчеты об ошибках, отвечать на отзывы пользователей и публиковать обновления в игре.
Аналитика и продвижение в Центре партнеров
Аналитика Центра партнеров | Анализ производительности приложений |
Реагирование на отзывы клиентов | Реагирование на отзывы клиентов |
Способы продвижения игры | Привлекайте клиентов и продвигайте свои приложения |
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 | Скачать Windows SDK для 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 | Видео о разработке игр |