Технологии игр для приложений UWPGame technologies for UWP apps

В этом руководстве содержатся сведения о технологиях, доступных для разработки игр универсальной платформы Windows (UWP).In this guide, you'll learn about the technologies available for developing Universal Windows Platform (UWP) games.

Преимущества Windows 10 для разработки игрBenefits of Windows 10 for game development

С появлением UWP в Windows 10 ваши продукты для Windows 10 можно будет использовать на всех платформах Майкрософт.With the introduction of UWP in Windows 10, your Windows 10 titles will be able to span all of the Microsoft platforms. Благодаря возможности бесплатного перехода с предыдущих версий Windows количество пользователей Windows 10 стабильно растет.With free migration from previous versions of Windows, there is a steadily increasing number of Windows 10 clients. Сочетание этих двух факторов означает, что с помощью Microsoft Store ваши продукты для Windows 10 увидит огромное количество клиентов.The combination of these two things means that your Windows 10 titles will be able to reach a huge number of customers through the Microsoft Store.

Кроме того, Windows 10 предлагает множество новых функций, особенно полезных для игр:In addition, Windows 10 offers many new features that are particularly beneficial to games:

  • Уменьшение подкачки памяти и уменьшение общего размера системы памяти.Reduced memory paging and reduced overall memory system size
  • Улучшенная система управления видеопамятью активно выделяет и защищает больший объем памяти для игры, выполняющейся на переднем плане.Improved graphics memory management actively allocates and protects more memory for the foreground game

Игры UWP с C++ и DirectXUWP games with C++ and DirectX

Для игр, работающих в режиме реального времени и требующих высокой производительности, необходимо использовать API DirectX.Real-time games requiring high performance should make use of the DirectX APIs. DirectX — это набор собственных API для создания игр и мультимедийных приложений, требующих высокой производительности, например трехмерных игр.DirectX is a collection of native APIs for creating games and multimedia applications that require high performance, such as 3D games.

Среда разработкиDevelopment environment

Чтобы создать игры для UWP, необходимо настроить среду разработки, установив Visual Studio 2015 или более поздней версии.To create games for UWP, you'll need to set up your development environment by installing Visual Studio 2015 or later. Рекомендуется установить последнюю версию Visual Studio, предоставив вам доступ к последним обновлениям для разработки и безопасности.We recommend that you install the latest version of Visual Studio, giving you access to the latest development and security updates. Visual Studio позволяет создавать приложения UWP и предоставляет средства для разработки игр:Visual Studio allows you to create UWP apps and provides tools for game development:

  • Средства Visual Studio для программирования игр DX: в Visual Studio имеются средства для создания, редактирования, предварительного просмотра и экспорта ресурсов изображений, моделей и шейдеров.Visual Studio tools for DX game programming - Visual Studio provides tools for creating, editing, previewing, and exporting image, model, and shader resources. Кроме того, есть средства, с помощью которых можно преобразовывать ресурсы во время сборки и выполнять отладку графического кода DirectX.There are also tools that you can use to convert resources at build time and debug DirectX graphics code. Дополнительные сведения см. в статье Использование средств Visual Studio для программирования игр.For more information, see Use Visual Studio tools for game programming.
  • Функции Visual Studio для диагностики графики: теперь средства диагностики графики доступны в Windows в качестве дополнительной функции.Visual Studio graphics diagnostics features - Graphics diagnostic tools are now available from within Windows as an optional feature. Благодаря средствам диагностики можно выполнять отладку графики, анализ кадров графики и отслеживать использование GPU в режиме реального времени.The diagnostic tools allow you to do graphics debugging, graphics frame analysis, and monitor GPU usage in real time. Дополнительные сведения см. в статье Использование функций среды выполнения DirectX и диагностики графики в Visual Studio.For more information, see Use the DirectX runtime and Visual Studio graphics diagnostic features.

Дополнительные сведения см. в статье "Подготовка универсальной платформы Windows" и Программирование в DirectX.For more information, see Prepare your Universal Windows Platform and DirectX programming.

Приступая к работе с шаблонами проектов игр DirectXGetting started with DirectX game project templates

После настройки среды разработки можно использовать один из шаблонов проектов, связанных с DirectX, для создания игры UWP на базе DirectX.After setting up your development environment, you can use one of the DirectX related project templates to create your UWP DirectX game. В Visual Studio 2015 есть три шаблона, которые можно использовать при создании проектов для UWP и DirectX, приложений для DirectX 11 (универсальных приложений для Windows), приложений для DirectX 12 (универсальных приложений для Windows) и приложений для DirectX 11 и XAML (универсальных приложений для Windows).Visual Studio 2015 has three templates available for creating new UWP DirectX projects, DirectX 11 App (Universal Windows), DirectX 12 App (Universal Windows), and DirectX 11 and XAML App (Universal Windows). Дополнительные сведения см. в статье Создание проекта игры для универсальной платформы Windows и DirectX на основе шаблона.For more information, see Create a Universal Windows Platform and DirectX game project from a template.

API-интерфейсы Windows 10Windows 10 APIs

В Windows 10 имеется обширная коллекция API, которые можно использовать для разработки игр.Windows 10 provides an extensive collection of APIs that are useful for game development. Существуют API для работы практически со всеми аспектами игр, включая трехмерную и двумерную графику, звук, ввод, текстовые ресурсы, пользовательский интерфейс и сеть.There are APIs for almost all aspects of games including, 3D Graphics, 2D Graphics, Audio, Input, Text Resources, User Interface, and networking.

Существует много API, связанных с разработкой игр, но не во всех играх требуется использовать все API.There are many APIs related to game development, but not all games need to use all of the APIs. Например, в некоторые играх будет использоваться только трехмерная графика и, соответственно, Direct3D, в других — только двумерная графика (и Direct2D). Кроме того, в ряде игр используются оба типа графики.For example, some games will only use 3D graphics and only make use of Direct3D, some games may only use 2D graphics and only make use of Direct2D, and still other games may make use of both. На схеме ниже показаны API, связанные с разработкой игр и сгруппированные по типам функций.The following diagram shows the game development related APIs grouped by functionality type.

Технологии платформы игр

  • Трехмерная графика: Windows 10 поддерживает два набора API для работы с трехмерной графикой, Direct3D 11 и Direct3D 12.3D Graphics - Windows 10 supports two 3D graphics API sets, Direct3D 11, and Direct3D 12. Оба эти API позволяют создавать трехмерную и двумерную графику.Both of these APIs provide the capability to create 3D and 2D graphics. Direct3D 11 и Direct3D 12 не используются совместно, но и тот, и другой интерфейс можно использовать с любыми API в группе двумерной графики и пользовательского интерфейса.Direct3D 11 and Direct3D 12 are not used together, but either can be used with any of the APIs in the 2D Graphics and UI group. Дополнительные сведения об использовании этих API графики в игре см. в статье Простая трехмерная графика для игр DirectX.For more information about using the graphics APIs in your game, see Basic 3D graphics for DirectX games.

    APIAPI ОписаниеDescription
    Direct3D 12Direct3D 12

    В Direct3D 12 появилась новая версия Direct3D. Direct3D — это API для работы с трехмерной графикой, лежащий в основе DirectX.Direct3D 12 introduces the next version of Direct3D, the 3D graphics API at the heart of DirectX. Эта версия Direct3D разработана так, что она работает быстрее и эффективнее, чем предыдущие версии Direct3D.This version of Direct3D is designed to be faster and more efficient than previous versions of Direct3D. Увеличение скорости работы Direct3D 12 достигнуто за счет того, что этот компонент работает на более низком уровне. Чтобы воспользоваться преимуществами возросшей скорости работы, вам придется самостоятельно управлять ресурсами графики. Кроме того, вам потребуется больший опыт программирования графики.The tradeoff for Direct3D 12's increased speed is that it is lower level and requires you to manage your graphics resources yourself and have more extensive graphics programming experience to realize the increased speed.

    Время использованияWhen to use

    Используйте Direct3D 12, когда необходимо достигнуть максимальной производительности вашей игры и при этом производительность зависит от ресурсов ЦП.Use Direct3D 12 when you need to maximize your game's performance and your game is CPU bound.

    Дополнительные сведенияFor more information

    См. документацию по Direct3d 12.See the Direct3d 12 documentation.

    Direct3D 11Direct3D 11

    Direct3D 11 — это предыдущая версия Direct3D. Она позволяет создавать трехмерную графику с помощью более высокого уровня абстрагирования оборудования, чем Direct3D 12.Direct3D 11 is the previous version of Direct3D and allows you to create 3D graphics using a higher level of hardware abstraction than D3D 12.

    Время использованияWhen to use

    Используйте Direct3D 11, если у вас есть код для Direct3D 11, производительность ваших игр не зависит от ресурсов ЦП или вы не хотите заниматься управлением ресурсами.Use Direct3D 11 if you have existing Direct3D 11 code, your game is not CPU bound, or you want the benefit of having resources managed for you.

    Дополнительные сведенияFor more information

    См. документацию по Direct3D 11.See the Direct3D 11 documentation.

     

  • Двумерная графика и пользовательский интерфейс: API для работы с двумерной графикой, например с текстом или пользовательскими интерфейсами.2D Graphics and UI - APIs concerning 2D graphics such as text and user interfaces. Все API двумерной графики и пользовательских интерфейсов являются необязательными.All of the 2D graphics and UI APIs are optional.

    APIAPI ОписаниеDescription
    Direct2DDirect2D

    Direct2D — это API для работы с двумерной графикой в непосредственном режиме с аппаратным ускорением, обеспечивающий высокую производительность и высококачественную отрисовку двумерной геометрии, растровых изображений и текста.Direct2D is a hardware-accelerated, immediate-mode, 2-D graphics API that provides high performance and high-quality rendering for 2-D geometry, bitmaps, and text. API Direct2D создан на базе Direct3D и разработан так, чтобы хорошо взаимодействовать с GDI, GDI+ и Direct3D.The Direct2D API is built on Direct3D and is designed to interoperate well with GDI, GDI+, and Direct3D.

    Время использованияWhen to use

    Direct2D можно использовать вместо Direct3D, чтобы реализовать графику в чисто двумерных играх, например играх с горизонтальной прокруткой или настольных играх. Кроме того, его можно использовать совместно с Direct3D, чтобы упростить создание двумерной графики в трехмерных играх, например для пользовательского интерфейса или отображения уведомлений.Direct2D can be used instead of Direct3D to provide graphics for pure 2D games such as a side-scroller or board game, or can be used with Direct3D to simplify creation of 2D graphics in a 3D game, such as a user interface or heads-up-display.

    Дополнительные сведенияFor more information

    См. документацию по Direct2D.See the Direct2D documentation.

    DirectWriteDirectWrite

    DirectWrite предоставляет дополнительные возможности для работы с текстом. Его можно использовать совместно с Direct3D и Direct2D, чтобы организовать вывод текста в пользовательских интерфейсах или в других областях, где необходим текст.DirectWrite provides extra capabilities for working with text and can be used with Direct3D or Direct2D to provide text output for user interfaces or other areas where text is required. DirectWrite имеет функции измерения, рисования и проверку попадания текста с несколькими форматами.DirectWrite supports measuring, drawing, and hit-testing of multi-format text. DirectWrite обрабатывает текст на всех поддерживаемых языках для глобальных и локализованных приложений.DirectWrite handles text in all supported languages for global and localized applications. Кроме того, в DirectWrite имеется API низкоуровневой отрисовки глифов, предназначенный для разработчиков, которым необходимо использовать собственные раскладки и выполнять преобразование из Юникода в глифы.DirectWrite also provides a low-level glyph rendering API for developers who want to perform their own layout and Unicode-to-glyph processing.

    Время использованияWhen to use

    Дополнительные сведенияFor more information

    См. документацию по DirectWrite.See the DirectWrite documentation.

    DirectCompositionDirectComposition

    DirectComposition — это компонент Windows, позволяющий с высокой скоростью формировать растровые изображения с преобразованиями, эффектами и анимацией.DirectComposition is a Windows component that enables high-performance bitmap composition with transforms, effects, and animations. Разработчики приложений могут использовать API DirectComposition для создания визуально привлекательных пользовательских интерфейсов с плавными анимированными переходами от одного визуального элемента к другому.Application developers can use the DirectComposition API to create visually engaging user interfaces that feature rich and fluid animated transitions from one visual to another.

    Время использованияWhen to use

    DirectComposition предназначен для упрощения формирования визуальных элементов и создания анимированных переходов.DirectComposition is designed to simplify the process of composing visuals and creating animated transitions. Если для игры необходимы сложные пользовательские интерфейсы, можно использовать компонент DirectComposition, чтобы упростить создание пользовательского интерфейса и управление им.If your game requires complex user interfaces, you can use DirectComposition to simplify the creation and management of the UI.

    Дополнительные сведенияFor more information

    См. документацию по DirectComposition.See the DirectComposition documentation.

     

  • Звук: API для воспроизведения звука и использования звуковых эффектов.Audio - APIs concerning playing audio and applying audio effects. Сведения об использовании API для работы со звуком в играх см. в статье Звук для игр.For information about using the audio APIs in your game, see Audio for games.

    APIAPI ОписаниеDescription
    XAudio2XAudio2

    XAudio2 — это низкоуровневый API для работы со звуком, который обеспечивает обработку сигналов и микширование звука.XAudio2 is a low-level audio API that provides a foundation for signal processing and mixing. Компонент XAudio разработан так, чтобы очень быстро реагировать при работе с звуковыми движками игр. При этом он позволяет создавать пользовательские звуковые эффекты и сложные цепочки звуковых эффектов и фильтров.XAudio is designed to be very responsive for game audio engines while maintaining the ability to create custom audio effects and complex chains of audio effects and filters.

    Время использованияWhen to use

    Используйте XAudio2, если в вашей игре необходимо воспроизводить звук с минимальными дополнительными временными затратами и задержками.Use XAudio2 when your game needs to play sounds with minimal overhead and delay.

    Дополнительные сведенияFor more information

    См. документацию по XAudio2.See the XAudio2 documentation.

    Звуковые графыAudio graphs

    Для функций, которые можно реализовать с помощью XAudio2, вместо них можно использовать API среда выполнения Windows Audio Graph.For functionality that you can implement with XAudio2, you have the alternative of using the Windows Runtime audio graph APIs instead. Сведения о выборе между двумя альтернативами см. в разделе выбор среда выполнения Windows аудиограф или XAudio2.To help you decide between the two alternatives, see Choosing Windows Runtime AudioGraph or XAudio2.

    Время использованияWhen to use

    Используйте звуковые графики, когда в игре требуется воспроизвести звуки с минимальными издержками и задержками, но с гораздо проще в использовании API, чем XAudio2, и с возможностью поддержки C#.Use audio graphs when your game needs to play sounds with minimal overhead and delay, but with a significantly easier-to-use API than XAudio2, and with the option of C# support.

    Дополнительные сведенияFor more information

    См. документацию по графам аудио .See the Audio graphs documentation.

    Media FoundationMedia Foundation

    Компонент Microsoft Media Foundation разработан для воспроизведения файлов мультимедиа и аудио- и видеопотоков. Кроме того, его можно использовать в играх, когда необходимы функции более высокого уровня, чем имеющиеся в XAudio2, и при этом допустимы дополнительные непроизводительные затраты.Microsoft Media Foundation is designed for the playback of media files and streams, both audio and video, but can also be used in games when higher level functionality than XAudio2 is required and some additional overhead is acceptable.

    Время использованияWhen to use

    Компонент Media Foundation особенно полезен для кинематографических сцен или неинтерактивных компонентов вашей игры.Media foundation is particularly useful for cinematic scenes or non-interactive components of your game. Кроме того, Media Foundation удобно использовать для декодирования звуковых файлов, воспроизводимых с помощью XAudio2.Media foundation is also useful for decoding audio files for playback using XAudio2.

    Дополнительные сведенияFor more information

    См. Обзор Microsoft Media Foundation .See the Microsoft Media Foundation overview.

     

  • Ввод данных: API для ввода с клавиатуры, мыши и игровых контроллеров и других источников входных данных.Input - APIs concerning input from the keyboard, mouse, gamepad, and other user input sources.

    APIAPI ОписаниеDescription
    XInputXInput

    API игрового устройства управления XInput позволяет приложениям получить входные данные с игровых устройств управления.The XInput Game Controller API enables applications to receive input from game controllers.

    Время использованияWhen to use

    Если в вашей игре необходимо получать данные с игровых устройств управления и у вас есть код для XInput, вы можете продолжать использовать XInput.If your game needs to support gampad input and you have existing XInput code, you can continue to make use of XInput. Компонент XInput заменен компонентом Windows.Gaming.Input для UWP. Если вы пишете новый код для ввода данных, используйте Windows.Gaming.Input вместо XInput.XInput has been replaced by Windows.Gaming.Input for UWP, and if you're writing new input code, you should use Windows.Gaming.Input instead of XInput.

    Дополнительные сведенияFor more information

    См. документацию по XInput.See the XInput documentation.

    Windows.Gaming.InputWindows.Gaming.Input

    API Windows.Gaming.Input заменяет XInput, предоставляет те же функции, но с указанными ниже преимуществами по сравнению с Xinput.The Windows.Gaming.Input API replaces XInput and provides the same functionality with the following advantages over Xinput:

    • Меньшая интенсивность использования ресурсов.Lower resource usage
    • Меньшие задержки вызовов API при получении входных данных.Lower API call latency for retrieving input
    • Возможность работать с более чем четырьмя игровыми устройствами управления одновременно.The ability to work with more than 4 gamepads at once
    • Возможность получать доступ к дополнительным функциям игровых устройств управления Xbox One, например запускать вибромоторы.The ability to access additional Xbox One gamepad features, such as the trigger vibration motors
    • Возможность получать уведомления при подключении и отключении контроллеров с помощью событий, а не опросов.The ability to be notified when controllers connect/disconnect via event instead of polling
    • Возможность приписывать входные данные определенному пользователю (Windows.System.User).The ability to attribute input to a specific user (Windows.System.User)

    Время использованияWhen to use

    Если в вашей игре необходимо поддерживать ввод данных с игрового устройства управления, не используя существующий код XInput, или если вы хотите использовать одно из перечисленных выше преимуществ, следует применять Windows.Gaming.Input.If your game needs to support gamepad input and is not using existing XInput code or you need one of the benefits listed above, you should make use of Windows.Gaming.Input.

    Дополнительные сведенияFor more information

    См. документацию по Windows.Gaming.Input.See the Windows.Gaming.Input documentation.

    Windows.UI.Core.CoreWindowWindows.UI.Core.CoreWindow

    Класс Windows.UI.Core.CoreWindow предоставляет события для отслеживания событий нажатия и перемещения указателя, а также нажатия и отпускания клавиш.The Windows.UI.Core.CoreWindow class provides events for tracking pointer presses and movement, and key down and key up events.

    Время использованияWhen to use

    Используйте события Windows.UI.Core.CoreWindows, если в игре необходимо отслеживать мышь или нажатия клавиш.Use Windows.UI.Core.CoreWindows events when you need to track the mouse or key presses in your game.

    Дополнительные сведенияFor more information

    Дополнительные сведения об использовании мыши или клавиатуры в играх см. в статье Элементы управления перемещением и обзором для игр.See Move-look controls for games for more information about using the mouse or keyboard in your game.

     

  • Математика: API для упрощения часто используемых математических операций.Math - APIs concerning simplifying commonly used mathematical operations.

    APIAPI ОписаниеDescription
    DirectXMathDirectXMath

    API DirectXMath предоставляет удобные для SIMD типы и функции C++ для стандартных математических операций линейной алгебры и графики, обычно используемых в играх.The DirectXMath API provides SIMD-friendly C++ types and functions for common linear algebra and graphics math operations common to games.

    Время использованияWhen to use

    Компонент DirectXMath упрощает выполнение стандартных математических операций, но не является обязательным.Use of DirectXMath is optional and simplifies common mathematical operations.

    Дополнительные сведенияFor more information

    См. документацию по DirectXMath.See the DirectXMath documentation.

     

  • Сеть: API для обмена данными с другими компьютерами и устройствами через Интернет либо через частные сети.Networking - APIs concerning communicating with other computers and devices over either the Internet or private networks.

    APIAPI ОписаниеDescription
    Windows.Networking.SocketsWindows.Networking.Sockets

    Пространство имен Windows.Networking.Sockets предоставляет TCP- и UDP-сокеты, позволяющие организовать надежный или ненадежный обмен данными по сети.The Windows.Networking.Sockets namespace provides TCP and UDP sockets that allow reliable or unreliable network communication.

    Время использованияWhen to use

    Используйте Windows.Networking.Sockets, если в вашей игре необходимо обмениваться данными с другими компьютерами или устройствами по сети.Use Windows.Networking.Sockets if your game needs to communicate with other computers or devices over the network.

    Дополнительные сведенияFor more information

    См. статью Работа с сетевыми подключениями в игре.See Work with networking in your game.

    Windows.Web.HTTPWindows.Web.HTTP

    Пространство имен Windows.Web.HTTP обеспечивает надежное подключение к HTTP-серверам, которое можно использовать для получения доступа к веб-сайтам.The Windows.Web.HTTP namespace provides a reliable connection to HTTP servers that can be used to access a web site.

    Время использованияWhen to use

    Используйте Windows.Web.HTTP, если в вашей игре необходим доступ к веб-сайту для получения или сохранения информации.Use Windows.Web.HTTP when your game needs to access a web site to retrieve or store information.

    Дополнительные сведенияFor more information

    См. статью Работа с сетевыми подключениями в игре.See Work with networking in your game.

     

  • Программы поддержки: библиотеки, лежащие в основе API Windows 10.Support Utilities - Libraries that build on the Windows 10 APIs.

    БиблиотекаLibrary ОписаниеDescription
    Набор инструментов DirectXDirectX Tool Kit

    Набор инструментов DirectX (DirectXTK) — это коллекция вспомогательных классов для написания кода на C++ для DirectX 11.x.The DirectX Tool Kit (DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++.

    Время использованияWhen to use

    Используйте набор инструментов DirectX, если вы выполняете разработку на языке C++ и вам необходима современная замена устаревшему коду служебной программы D3DX или если вы работаете с XNA Game Studio и переходите на собственный C++.Use the DirectX Tool Kit if you're a C++ developer looking for a modern replacement to the legacy D3DX utility code or you're an XNA Game Studio developer transitioning to native C++.

    Дополнительные сведенияFor more information

    См. страницу проекта пакета инструментов DirectX, https://github.com/Microsoft/DirectXTK .See the DirectX Tool Kit project page, https://github.com/Microsoft/DirectXTK.

    Win2DWin2D

    Win2D — простой в использовании API среды выполнения Windows для отрисовки двумерной графики в непосредственном режиме.Win2D is an easy-to-use Windows Runtime API for immediate mode 2D graphics rendering.

    Время использованияWhen to use

    Используйте Win2D, если вы — разработчик на языке C++ вам необходимо упростить использование программы-оболочки WinRT для Direct2D и DirectWrite или если вы — разработчик на языке C#, которому необходимо использовать Direct2D и DirectWrite.Use Win2D if you're a C++ developer and want an easier to use WinRT wrapper for Direct2D and DirectWrite, or you're a C# developer wanting to use Direct2D and DirectWrite.

    Дополнительные сведенияFor more information

    См. страницу проекта Win2D, https://github.com/Microsoft/Win2D .See the Win2D project page, https://github.com/Microsoft/Win2D.

Службы Xbox LiveXbox Live Services

Программа Xbox Live Creators Program позволяет любому разработчику интегрировать Xbox Live в свою игру UWP и опубликовать ее для Xbox One и Windows 10.The Xbox Live Creators Program allows any developer to integrate Xbox Live into their UWP game and publish to Xbox One and Windows 10. Интегрируйте социальные возможности Xbox Live, такие как вход в систему, сведения о присутствии, списки лидеров и т. д., в вашу игру с минимальными усилиями.Integrate Xbox Live social experiences such as sign-in, presence, leaderboards, and more into your title, with minimal development time. Социальные функции Xbox Live помогают органичным образом расширить вашу аудиторию, сообщая о вашей игре более чем 55 миллионам активных пользователей.Xbox Live social features are designed to organically grow your audience, spreading awareness to over 55 million active gamers.

Если вы хотите получить доступ к еще более возможностям Xbox Live, специальной поддержке по маркетингу и разработке, а также в основном магазине Xbox One, примените к ID@Xbox программе.If you want access to even more Xbox Live capabilities, dedicated marketing and development support, and the chance to be featured in the main Xbox One store, apply to the ID@Xbox program. Сведения о функциях, доступных в программах Xbox Live Creators Program и ID@Xbox, см. в разделе Таблица функций.To see which features are available to the Xbox Live Creators Program and ID@Xbox program, see the Feature table.

Дополнительные сведения см. разделе Добавление Xbox Live в игру.For more info, go to Adding Xbox Live to your game.

Альтернативы написанию игр с помощью DirectX и UWPAlternatives to writing games with DirectX and UWP

Игры UWP без DirectXUWP games without DirectX

Более простые игры с минимальными требованиями к производительности, например карточные или настольные игры, можно написать без использования DirectX и необязательно на языке C++.Simpler games with minimal performance requirements, such as card games or board games, can be written without DirectX and don't necessarily need to be written in C++. Для написания игр этого типа можно использовать языки, поддерживаемые UWP, например C#, Visual Basic, C++ и HTML/JavaScript.These sort of games can make use of any of the languages supported by UWP such as C#, Visual Basic, C++, and HTML/JavaScript. Если быстродействие и интенсивная графика не являются обязательными требованиями для вашей игры, ознакомьтесь с Примером сенсорной игры с использованием JavaScript и HTML5.If performance and intensive graphics are not a requirement for your game, checkout JavaScript and HTML5 touch game sample as an example.

Игровые модулиGame engines

В качестве альтернативы написанию собственной игровой подсистемы с помощью API Windows для разработки игр можно использовать большое количество высококачественных игровых подсистем на основе API Windows для разработки игр на платформах Windows.As an alternative to writing your own game engine using the Windows game development APIs, many high quality game engines that build on the Windows game development APIs are available for developing games on Windows platforms. Предлагается широкий выбор игровых подсистем и библиотек:When considering a game engine or library, you have multiple options:

  • Полная игровая подсистема: полная игровая подсистема инкапсулирует большую часть или все API Windows 10, которые вы бы использовали при создании игровой подсистемы с нуля, например при разработке средств работы с графикой, звуком, устройствами ввода данных и сетью.Full game engine - A full game engine encapsulates most or all of the Windows 10 APIs you would use when writing a game engine from scratch, such as graphics, audio, input, and networking. Кроме того, полные игровые подсистемы могут предоставлять функции игровой логики, например функции искусственного интеллекта и поиска путей.Full game engines may also provide game logic functionality such as artificial intelligence and pathfinding.
  • Графический процессор: графические процессоры инкапсулируют API Windows 10 для работы с графикой, управляют графическими ресурсами и поддерживают самые различные форматы моделей и мира.Graphics engine - Graphics engines encapsulate the Windows 10 graphics APIs, manage graphics resources, and support a variety of model and world formats.
  • Звуковая подсистема: звуковые подсистемы инкапсулируют API Windows 10 для работы со звуком, управляют звуковыми ресурсами и предоставляют дополнительные средства обработки звука и эффекты.Audio engine - Audio engines encapsulate the Windows 10 audio APIs, manage audio resources, and provide advanced audio processing and effects.
  • Сетевая подсистема: сетевые подсистемы инкапсулируют API Windows 10 для работы с сетью. Они обеспечивают поддержку нескольких игроков при одноранговой связи или связи через сервер. Они могут включать дополнительные сетевые функции для поддержки большого количества игроков.Network engine - Network engines encapsulate Windows 10 networking APIs for adding peer-to-peer or server-based multiplayer support to your game, and may include advanced networking functionality to support large numbers of players.
  • Подсистема искусственного интеллекта и поиска пути: такие подсистемы обеспечивают инфраструктуру для управления поведением агентов в игре.Artificial intelligence and pathfinding engine - AI and pathfinding engines provide a framework for controlling the behavior of agents in your game.
  • Подсистемы особого назначения: существуют самые разные подсистемы для обработки практически любых задач, связанных с разработкой игр, с которыми вы можете столкнуться. Это может быть создание систем инвентаризации и деревьев диалогов.Special purpose engines - A variety of additional engines exist for handling almost any game development related task you might run into, such as creating inventory systems and dialog trees.

Отправка игры на Microsoft StoreSubmitting a game to the Microsoft Store

Как только вы будете готовы опубликовать свою игру, вам потребуется создать учетную запись разработчика и отправить игру в Microsoft Store.Once you’re ready to publish your game, you’ll need to create a developer account and submit your game to the Microsoft Store.

О том, как отправить игру в Microsoft Store, см. в статье Отправка и публикация игры.For information about submitting your game to the Microsoft Store, see Submitting and publishing your game.