Guía de desarrollo de juegos para Windows 10

Le damos la bienvenida a la guía de desarrollo de juegos para Windows.

En esta guía se proporciona una colección completa de los recursos e información que necesitará para desarrollar un juego para la Plataforma universal de Windows (UWP). Hay disponible una versión en inglés (EE. UU.) de esta guía en formato PDF.

Introducción al desarrollo de juegos para la Plataforma universal de Windows (UWP)

Cuando crea un juego de Windows, tendrá la oportunidad de llegar a millones de jugadores de todo el mundo en los equipos y Xbox One. Con Xbox en Windows, Xbox Live, las partidas multijugador desde diferentes dispositivos, una comunidad de juegos alucinante y nuevas y potentes características como la Plataforma universal de Windows (UWP) y DirectX 12, los juegos de Windows emocionan a jugadores de todas las edades y géneros. Con la Plataforma universal de Windows (UWP), su juego será compatible en distintos dispositivos Windows con una API común para el equipo y Xbox One, así como herramientas y opciones para adaptar el juego a la experiencia de cada dispositivo.

En esta guía se proporciona una colección completa de información y recursos que le ayudarán a medida que desarrolle su juego. Las secciones se organizan según las fases de desarrollo del juego, por lo que sabrá dónde buscar información cuando la necesite.

Si no conoce el desarrollo de juegos en Windows o Xbox, la guía de introducción puede ser por donde quiere empezar. La sección Recursos de desarrollo de juegos también proporciona una encuesta de alto nivel de documentación, programas y otros recursos que son útiles al crear un juego. Si quiere empezar por ver algo de código UWP, consulte Ejemplos de juegos.

Recursos de desarrollo de juegos

Desde la documentación hasta los programas para desarrolladores, foros, blogs y ejemplos, hay muchos recursos disponibles para ayudarle en su recorrido por el desarrollo de juegos. Este es un resumen de los recursos que debería conocer antes de comenzar a desarrollar el juego para Windows.

Nota:

Algunas características se administran a través de varios programas. En esta guía se cubre una amplia gama de recursos, por lo que es posible que algunos recursos no sean accesibles según el programa en el que participa o su rol de desarrollo concreto. Algunos ejemplos son vínculos que le llevan a developer.xboxlive.com, forums.xboxlive.com, xdi.xboxlive.com o al portal Game Developers Network (GDN). Para obtener información sobre cómo asociarse con Microsoft, consulte Programas para desarrolladores.

Documentación sobre el desarrollo de juegos

A lo largo de esta guía, encontrará vínculos profundos a la documentación relevante, organizada por tareas, tecnología y fase de desarrollo de juegos. Para ofrecerle una vista amplia de lo que tiene a su disposición, estos son los principales portales de documentación para el desarrollo de juegos para Windows.

Portal principal del Centro de desarrollo de Windows Centro de desarrollo de Windows
Desarrollo de aplicaciones de Windows Desarrollo de aplicaciones de Windows
Desarrollo de aplicaciones para la Plataforma universal de Windows Documentación de la Plataforma universal de Windows
Guías de instrucciones de juegos para UWP Juegos y DirectX
Referencia e información general de DirectX Gráficos y juegos de DirectX
Azure para juegos Creación y escalado de los juegos mediante Azure
Azure PlayFab Solución completa de back-end para juegos en directo
UWP en Xbox One Creación de aplicaciones para UWP en Xbox One
UWP en HoloLens Creación de aplicaciones para UWP en HoloLens
Documentación de Xbox Live Guía del desarrollador de Xbox Live
Documentación de desarrollo de Xbox One (XGD) Desarrollo de Xbox One
Notas del producto de desarrollo de Xbox One (XGD) Notas del producto
Documentación interactiva de Mixer Adición de interactividad al juego

Centro de partners

El registro como desarrollador en el Centro de partners es el primer paso para publicar el juego de Windows. Una cuenta de desarrollador le permite reservar el nombre del juego y enviar juegos gratuitos o de pago a Microsoft Store para todos los dispositivos Windows. Use su cuenta de desarrollador para administrar el juego y los productos incluidos en el juego, obtener análisis detallados y habilitar servicios que crean excelentes experiencias para sus jugadores de todo el mundo.

Microsoft también ofrece varios programas para desarrolladores con el fin de ayudarle a desarrollar y publicar juegos de Windows. Se recomienda ver si alguno es adecuado para usted antes de registrarse en una cuenta del Centro de partners. Para más información, vaya a Programas para desarrolladores.

Programas para desarrolladores

Microsoft ofrece varios programas para desarrollador que le ayudarán a desarrollar y publicar juegos para Windows. Considere la posibilidad de unirse a un programa para desarrolladores si quiere desarrollar juegos para Xbox One e integrar las características de Xbox Live en su juego. Para publicar un juego en Microsoft Store, también tendrá que crear una cuenta de desarrollador en el Centro de partners.

Programa de creadores de Xbox Live

Con el Programa de creadores de Xbox Live, cualquier persona puede integrar Xbox Live en su juego y publicarlo en Xbox One y Windows. Hay un proceso de certificación simplificado y no se requiere ninguna aprobación de concepto fuera de las directivas estándar de Microsoft Store.

Puede implementar, diseñar y publicar su juego en el Programa de creadores de Xbox Live sin un kit de desarrollo dedicado, usando solo hardware comercial. Para empezar, descargue la aplicación Activación en modo de desarrollo en Xbox One.

Si quiere acceder a aún más funcionalidades de Xbox Live, soporte técnico de marketing y desarrollo dedicados, y la posibilidad de que aparezca en la tienda principal de Xbox One, solicite el programa ID@Xbox.

Programa de creadores de Xbox Live Más información sobre el Programa de creadores de Xbox Live

ID@Xbox

El programa ID@Xbox ayuda a los desarrolladores de juegos cualificados a autopublicarse en Windows y Xbox One. Si quiere desarrollar para Xbox One o agregar funciones de Xbox Live, como puntuaciones de jugador, logros y marcadores, a su juego para Windows, regístrese ahora en ID@Xbox. Conviértase en un desarrollador de ID@Xbox para obtener las herramientas y el soporte técnico necesarios para desarrollar su creatividad y maximizar su éxito. Le recomendamos que solicite ID@Xbox antes de registrarse para una cuenta de desarrollador en el Centro de partners.

Programa para desarrolladores de ID@Xbox Programa para desarrolladores independientes para Xbox One
Sitio de consumidor de ID@Xbox ID@Xbox

Ejemplos de juegos

Hay muchas muestras de juegos y aplicaciones para Windows disponibles que le ayudarán a comprender las funciones de juegos de Windows y a empezar a desarrollar juegos rápidamente. Se desarrollan y publican ejemplos con regularidad, así que no olvide consultar de vez en cuando los portales de ejemplos para ver las novedades. También puede ver los repositorios de GitHub para recibir notificaciones de cambios y adiciones.

Aplicaciones de ejemplo para la Plataforma universal de Windows Windows-universal-samples
Ejemplos gráficos de Direct3D 12 DirectX-Graphics-Samples
Ejemplos gráficos de Direct3D 11 directx-sdk-samples
Ejemplo de juego de primera persona de Direct3D 11 Crear un juego para UWP sencillo con DirectX
Ejemplo de efectos de imagen personalizados de Direct2D D2DCustomEffects
Ejemplo de malla de degradado de Direct2D D2DGradientMesh
Ejemplo de ajuste de fotos de Direct2D D2DPhotoAdjustment
Ejemplos públicos de Xbox Advanced Technology Group Xbox-ATG-Samples
Ejemplos de Xbox Live xbox-live-samples
Ejemplos de juegos para Xbox One (XGD) Muestras
Ejemplos de juegos para Windows (Galería de código de MSDN) Ejemplos de juegos de Microsoft Store
Ejemplo de juego en 2D en JavaScript Creación de un juego para UWP en JavaScript
Ejemplo de juego en 3D en JavaScript Creación de un juego en 3D en JavaScript con three.js
Ejemplo de jjuego para UWP en 2D en MonoGame Creación de un juego para UWP en 2D en MonoGame

Foros para desarrolladores

Los foros para desarrolladores son un buen lugar para hacer y responder preguntas sobre el desarrollo de juegos y conectarse con la comunidad de desarrollo de juegos. Los foros también pueden ser recursos fantásticos para encontrar respuestas existentes a problemas difíciles a los que los desarrolladores se han enfrentado y resuelto en el pasado.

Publicación de aplicaciones y foros para desarrolladores de juegos Publicación y anuncios en las aplicaciones
Foro para desarrolladores de aplicaciones para UWP Desarrollo de aplicaciones de la Plataforma universal de Windows
Foros para desarrolladores de aplicaciones de escritorio Foros de aplicaciones de escritorio de Windows
Juegos de Microsoft Store para DirectX (publicaciones de foro archivadas) Creación de juegos de Microsoft Store con DirectX (archivado)
Foros para desarrolladores de partners administrados de Windows 10 Foros para desarrolladores de XBOX: Windows 10
Foro de Xbox Live Foro de desarrollo de Xbox Live
Foros de PlayFab Foros de PlayFab

Blogs para desarrolladores

Los blogs para desarrolladores son otro excelente recurso para obtener la información más reciente sobre el desarrollo de juegos. Encontrará publicaciones sobre nuevas características, detalles de implementación, procedimientos recomendados, antecedentes de arquitectura, etc.

Creación de aplicaciones para Windows (blog) Creación de aplicaciones para Windows
Windows 10 (publicaciones de blog) Publicaciones de Windows 10
Blog del equipo de ingeniería de Visual Studio Blog de Visual Studio
Blogs de herramientas para desarrolladores de Visual Studio Blogs de Herramientas de desarrollo
Blog de herramientas para desarrolladores de Somasegar Blog de Somasegar
Blog para desarrolladores de DirectX Blog para desarrolladores de DirectX
Introducción a DirectX 12 (publicación de blog) DirectX 12
Blog del equipo de herramientas de Visual C++ Blog del equipo de Visual C++
Blog del equipo de PIX Optimización y depuración del rendimiento para juegos de DirectX 12 en Windows y Xbox
Blog del equipo de implementación de aplicaciones universales de Windows Blog del equipo de creación e implementación de aplicaciones para UWP

Concepto y planeamiento

En la fase de concepto y planeamiento, se decide el aspecto del juego y las tecnologías y herramientas que se usarán para que cobre vida.

Introducción a las tecnologías de desarrollo de juegos

Al empezar a desarrollar un juego para UWP, tiene varias opciones disponibles para gráficos, entrada, audio, redes, utilidades y bibliotecas.

Si ya ha decidido todas las tecnologías que utilizará en su juego, entonces ya tiene todo listo. Si no es así, la guía Tecnologías de juegos para aplicaciones para UWP es una excelente introducción a muchas de las tecnologías disponibles y es muy recomendable leer para ayudarle a comprender las opciones y cómo encajan juntas.

Encuesta de tecnologías de juegos para UWP Tecnologías de juegos para aplicaciones para UWP

Planeamiento de juegos

Estos son algunos conceptos de alto nivel y aspectos del planeamiento que debe tener en cuenta para el juego.

Hacer que el juego sea accesible Accesibilidad para juegos
Creación de juegos mediante la nube Nube para juegos
Monetización del juego Monetización para juegos

Elección de la tecnología de gráficos y del lenguaje de programación

Hay varios lenguajes de programación y tecnologías de gráficos que se pueden usar en los juegos para Windows. El método que elija depende del tipo de juego que esté desarrollando, la experiencia, las preferencias de su estudio de desarrollo y los requisitos de las funciones específicas del juego. ¿Va a usar C#, C++ o JavaScript? ¿DirectX, XAML o HTML5?

DirectX

Microsoft DirectX es la opción para los gráficos y multimedia en 2D y 3D de mayor rendimiento.

DirectX 12 es más rápido y eficaz que cualquier versión anterior. Direct3D 12 permite escenas más enriquecidas, más objetos, efectos más complejos y un uso completo del hardware de GPU moderno en equipos Windows y Xbox One.

Si prefiere usar la conocida canalización de gráficos de Direct3D 11, también puede aprovechar las nuevas funciones de optimización y representación agregadas a Direct3D 11.3. Además, si es un desarrollador de API de Windows de escritorio demostrado con raíces de Win32, también tendrá esa opción en el juego para Windows.

Las amplias características y la integración profunda de la plataforma de DirectX proporcionan la potencia y el rendimiento que necesitan los juegos más exigentes.

DirectX para el desarrollo de UWP Programación con DirectX
Tutorial: Creación de un juego de DirectX para UWP Crear un juego para UWP sencillo con DirectX
Introducción y referencia de DirectX Gráficos y juegos de DirectX
Guía de programación y referencia de Direct3D 12 Gráficos de Direct3D 12
Gráficos y vídeos de desarrollo de DirectX 12 (canal de YouTube) Microsoft DirectX 12 y Graphics Education

XAML

XAML es un lenguaje de interfaz de usuario declarativo fácil de usar con características cómodas como animaciones, guiones gráficos, enlace de datos, gráficos basados en vectores escalables, cambio de tamaño dinámico y gráficos de escenas. XAML funciona bien para la interfaz de usuario de juego, menús, sprites y gráficos en 2D. Para facilitar el diseño de la interfaz de usuario, XAML es compatible con herramientas de diseño y desarrollo como Expression Blend y Microsoft Visual Studio. Generalmente se usa XAML con C#, pero C++ también es una buena opción si es tu lenguaje preferido o si el juego exige un uso de la CPU muy alto.

Información general sobre la plataforma XAML Plataforma XAML
Interfaz de usuario y controles XAML Controles, diseños y texto

HTML5

El lenguaje de marcado de Hipertexto (HTML) es un lenguaje de marcado de interfaz de usuario común que se usa para páginas web, aplicaciones y clientes enriquecidos. Los juegos para Windows pueden usar HTML5 como una capa de presentación completa con las características conocidas de HTML, el acceso a la Plataforma universal de Windows y la compatibilidad con características web modernas como AppCache, Web Workers, Canvas, arrastrar y colocar, programación asincrónica y SVG. En segundo plano, la representación HTML aprovecha la potencia de la aceleración de hardware de DirectX, por lo que todavía puede obtener las ventajas de rendimiento de DirectX sin escribir ningún código adicional. HTML5 es una buena opción si es un experto en desarrollo web, migra un juego web o quiere usar capas de gráficos y lenguajes que pueden ser más fáciles de enfocar que las otras opciones. HTML5 se usa con JavaScript, pero también puede llamar a componentes creados con C# o C++/CX.

Información de HTML5 y Document Object Model Referencia de HTML y DOM
Recomendación de W3C de HTML5 HTML5

Combinación de tecnologías de presentación

La Infraestructura de gráficos de DirectX (DXGI) de Microsoft proporciona interoperabilidad y compatibilidad con varias tecnologías de gráficos. Para los gráficos de alto rendimiento puede combinar XAML y DirectX, mediante XAML para los menús y otra interfaz de usuario simple y DirectX para la representación de escenas en 2D y 3D complejas. DXGI también proporciona compatibilidad entre Direct2D, Direct3D, DirectWrite, DirectCompute y Microsoft Media Foundation.

Guía y referencia de programación de Infraestructura de gráficos de DirectX DXGI
Combinación de DirectX y XAML Interoperabilidad de DirectX y XAML

C++

C++/WinRT es un lenguaje con poca sobrecarga y de alto rendimiento que proporciona una excelente combinación de velocidad, compatibilidad y plataforma de acceso. C++/WinRT facilita el uso de todas las excelentes funciones de juegos de Windows, incluidos DirectX y Xbox Live. También puede reutilizar el código y las bibliotecas de C++ existentes. C++/WinRT crea código nativo y rápido que no produce la sobrecarga de la colección de elementos y, por lo tanto, su juego puede ofrecer un gran rendimiento y un bajo consumo de energía, lo que permite aumentar la duración de la batería. Usa C++/WinRT con DirectX o XAML, o crea un juego que use una combinación de ambos.

C#

C# es un lenguaje moderno e innovador que es sencillo, potente, seguro para tipos y orientado a objetos. C# permite un desarrollo rápido y conserva la familiaridad y expresividad de los lenguajes de estilo C. Aunque es fácil de usar, C# tiene muchas funciones avanzadas de lenguaje como polimorfismo, delegados, expresiones lambda, clausuras, métodos iteradores, covarianza y expresiones de Language Integrated Query (LINQ). C# es una excelente opción si tiene como destino XAML, quiere obtener un inicio rápido en el desarrollo del juego o tener una experiencia anterior de C#. C# se usa principalmente con XAML, así que si quiere usar DirectX, elija C++ en su lugar, o escriba parte de su juego como un componente de C++ que interactúe con DirectX. O bien, considere Win2D: una biblioteca de gráficos de Direct2D de modo inmediato para C# y C++.

Guía de programación y referencia de C# Referencia del lenguaje C#

Usar componentes de Windows Runtime para combinar lenguajes

Con la Plataforma universal de Windows, es fácil combinar componentes escritos en lenguajes diferentes. Cree componentes de Windows Runtime en C++, C# o Visual Basic y, a continuación, llámalos desde JavaScript, C#, C++ o Visual Basic. Esta es una excelente manera de programar partes del juego en el lenguaje de su elección. Los componentes también le permiten usar bibliotecas externas que solo están disponibles en un lenguaje en particular, así como usar código heredado que ya ha escrito.

Creación de componentes de Windows Runtime Componentes de Windows Runtime con C++/WinRT

¿Qué versión de DirectX debe usar el juego?

Si elige DirectX para el juego, tendrá que decidir qué versión usar: Microsoft Direct3D 12 o Microsoft Direct3D 11.

DirectX 12 es más rápido y eficaz que cualquier versión anterior. Direct3D 12 permite escenas más enriquecidas, más objetos, efectos más complejos y un uso completo del hardware de GPU moderno en equipos Windows y Xbox One. Dado que Direct3D 12 funciona a un nivel muy bajo, puede dar a un equipo de expertos en desarrollo de gráficos o a un equipo de desarrollo de DirectX 11 con experiencia todo el control que necesiten para maximizar la optimización de gráficos.

Direct3D 11.3 es una API de gráficos de bajo nivel que usa el conocido modelo de programación de Direct3D y controla más de la complejidad implicada en la representación de GPU. También se admite en Windows y Xbox One. Si tiene un motor existente escrito en Direct3D 11 y no está listo para hacer que el salto a Direct3D 12, puede usar Direct3D 11 en 12 para lograr algunas mejoras de rendimiento. Las versiones 11.3+ contienen las nuevas características de representación y optimización habilitadas también en Direct3D 12.

Elección de Direct3D 12 o Direct3D 11 ¿Qué es Direct3D 12?
Introducción a Direct3D 11 Gráficos Direct3D 11
Introducción a Direct3D 11 en 12 Direct3D 11 en 12

Puentes, motores de juegos y middleware

Dependiendo de las necesidades del juego, el uso de puentes, motores de juego o middleware puede ahorrar tiempo de desarrollo y pruebas y recursos. Estos son algunos recursos y información general para puentes, motores de juegos y middleware.

Azure PlayFab

Ahora, como parte de la familia de Microsoft, Azure PlayFab es una plataforma back-end completa para juegos en directo y una manera eficaz para que estudios independientes empiecen a trabajar. Impulse los ingresos, la interacción y la retención, al tiempo que reduce los costos, con servicios de juegos, análisis en tiempo real y LiveOps.

PlayFab Introducción a herramientas y servicios
Introducción ¿Qué es PlayFab?
Serie de tutoriales de vídeo Serie de vídeos de demostración sobre los sistemas principales de PlayFab
Recetas Recetas
Repositorio de GitHub Obtenga scripts y SDK para distintas plataformas, como Android, iOS, Windows, Unity y Unreal.
Documentación de la API Introducción a la API REST
Foros Foros de PlayFab

Unity

Unity ofrece una plataforma para crear atractivos juegos y aplicaciones en 2D, 3D, VR y AR. Le permite hacer realidad su visión creativa con rapidez y ofrece sus contenidos en prácticamente cualquier medio o dispositivo.

A partir de Unity 5.4, Unity admite el desarrollo de Direct3D 12.

Motor de juegos de Unity Unity: motor de juegos
Obtención de Unity Obtención de Unity
Documentación de Unity para Windows Manual de Unity/Windows
Adición de LiveOps mediante PlayFab Inicio rápido: Biblioteca cliente de PlayFab para C# en Unity
Cómo agregar interactividad al juego mediante Mixer Interactive Guía de introducción
SDK de Mixer para Unity Complemento de Mixer para Unity
Documentación de referencia del SDK de Mixer para Unity Referencia de API para el complemento de Mixer para Unity
Solución de problemas de referencias de ensamblado que faltan relacionadas con las API de .NET API de .NET que faltan en Unity y UWP
Publicación del juego de Unity como una aplicación de la Plataforma universal de Windows (vídeo) Publicación del juego de Unity como aplicación para UWP
Uso de Unity para crear aplicaciones y juegos para Windows (vídeo) Creación de aplicaciones y juegos para Windows con Unity
Desarrollo de juegos de Unity con Visual Studio (serie de vídeos) Uso de Unity con Visual Studio 2015

Havok

El conjunto modular de herramientas y tecnologías de Havok ayuda a los creadores de juegos llegar a nuevos niveles de interactividad e inmersión. Havok permite una física altamente realista, simulaciones interactivas y cinemáticas impresionantes. La versión 2015.1 o posteriores admite oficialmente UWP en Visual Studio 2015 en x86, 64 bits y Arm.

Sitio web de Havok Havok

MonoGame

MonoGame es un marco de desarrollo de juegos multiplataforma código abierto basado originalmente en XNA Framework 4.0 de Microsoft. MonoGame es compatible actualmente con Windows, Windows Phone y Xbox, así como con Linux, macOS, iOS, Android y otras plataformas.

MonoGame Visitar el sitio web
Documentación de MonoGame Visitar la documentación
Versiones de Monogame Obtener la versión más reciente a través de nuGet

Cocos2d

Cocos2d-x es un motor y conjunto de herramientas de desarrollo de juegos de código abierto y multiplataforma que admite la creación de juegos para UWP. A partir de la versión 3, también se agregan características 3D.

Cocos2d-x ¿Qué es Cocos2d-x?
Guía del programador de Cocos2d-x Guía de programadores de Cocos2d-x
Cocos2d-x en Windows 10 (publicación de blog) Ejecución de Cocos2d-x en Windows 10
Adición de LiveOps mediante PlayFab Inicio rápido de Cocos2D-x

Unreal Engine

Unreal Engine 4 es un conjunto completo de herramientas de desarrollo de juegos para todos los tipos de juegos y desarrolladores. Para los juegos de consola y de PC más exigentes, Unreal Engine lo utilizan los desarrolladores de juegos de todo el mundo.

Introducción a Unreal Engine Unreal Engine

BabylonJS

BabylonJS es un marco de JavaScript completo para compilar juegos en 3D con HTML5, WebGL, WebVR y Web Audio.

BabylonJS BabylonJS
Creación de un juego WebGL multiplataforma con BabylonJS Uso de BabylonJS para desarrollar un juego multiplataforma

Migración del juego

Si ya tiene un juego, hay muchos recursos y guías disponibles para ayudarle a llevar el juego rápidamente a UWP.

Migración de una aplicación de Windows 8 a una aplicación de la Plataforma universal de Windows Mover de Windows Runtime 8.x a UWP
Migración de una aplicación de Windows 8 a una aplicación de la Plataforma universal de Windows (vídeo) Migración de aplicaciones de dows 8.1 a Windows 10
Migración de una aplicación de iOS a una aplicación de la Plataforma universal de Windows Migrar de iOS a UWP
Migración de una aplicación de Silverlight a una aplicación de la Plataforma universal de Windows Migrar de Windows Phone Silverlight a UWP
Migración de XAML o Silverlight a una aplicación de la Plataforma universal de Windows (vídeo) Migración de una aplicación de XAML o Silverlight a Windows 10
Migración de un juego de Xbox a una aplicación de la Plataforma universal de Windows UWP en Xbox One
Migración de DirectX 9 a DirectX 11 Puerto de DirectX 9 a Plataforma universal de Windows (UWP)
Portabilidad de Direct3D 11 a Direct3D 12 Portabilidad de Direct3D 11 a Direct3D 12
Migración de OpenGL ES a Direct3D 11 Migración de OpenGL ES 2.0 a Direct3D 11
OpenGL ES a Direct3D 11 mediante ANGLE ANGLE
Equivalentes clásicos de la API de Windows en UWP Alternativas a las API de Windows en aplicaciones de la Plataforma universal de Windows (UWP)

Prototipo y diseño

Ahora que ha decidido el tipo de juego que quiere crear y las herramientas y tecnología de gráficos que usará para hacerlo, está listo para empezar a trabajar en el diseño y prototipo. En su núcleo, el juego es una aplicación de la Plataforma universal de Windows, por lo que es ahí donde empezará.

Introducción a la Plataforma universal de Windows (UWP)

Windows 10 alberga la Plataforma universal de Windows (UWP), que proporciona una plataforma común de API entre todos los dispositivos Windows 10. UWP evoluciona y expande el modelo de Windows Runtime (WinRT) y lo perfecciona para obtener una base cohesiva y unificada. Los juegos que tienen como destino UWP pueden llamar a las API de WinRT que son comunes a todos los dispositivos. Debido a que la UWP proporciona un nivel de API principal garantizada, tiene la opción de crear un único paquete de la aplicación que se instalará en todos los dispositivos Windows 10. Y si quiere, su juego puede seguir llamando a las API (incluidas algunas API clásicas de Windows de Win32 y .NET) que son específicas de los dispositivos en los que se ejecuta el juego.

A continuación se muestran guías excelentes que describen las aplicaciones de la Plataforma universal de Windows en detalle y se recomienda leer para ayudarle a comprender la plataforma.

Introducción a las aplicaciones de la Plataforma universal de Windows ¿Qué es una aplicación de la Plataforma universal de Windows (UWP)?

Introducción al desarrollo de UWP

Configurar y prepararse para desarrollar una aplicación de la Plataforma universal de Windows es un proceso rápido y fácil. Las siguientes guías le indicarán el proceso paso a paso.

Introducción al desarrollo de UWP Introducción a las aplicaciones de Windows
Configuración para el desarrollo de UWP Prepárate

Si empieza a dar sus primeros pasos en la programación para UWP y está considerando usar XAML en el juego (consulte Elección de la tecnología de gráficos y lenguaje de programación), la serie de vídeos sobre el desarrollo de Windows 10 para principiantes absolutos es un buen punto de partida.

Presentación de la serie para principiantes absolutos de Windows 10 con XAML (publicación de blog) Desarrollo de Windows 10 para principiantes absolutos

Conceptos de desarrollo de UWP

Introducción al desarrollo de aplicaciones para Plataforma universal de Windows Desarrollo de aplicaciones de Windows
Introducción a la programación de red en UWP Servicios web y redes
Uso de Windows.Web.HTTP y Windows.Networking.Sockets en juegos Conexión en red de juegos
Conceptos de programación asincrónica en UWP Programación asincrónica

API de escritorio de Windows y UWP

Estos son algunos vínculos que le ayudarán a interoperar entre el código de escritorio y UWP.

Uso de código de C++ existente para el desarrollo de juegos para UWP Procedimiento: Uso de código de C++ existente en una aplicación para UWP
API de Windows Runtime para las API de Win32 y COM API de Win32 y COM para las aplicaciones para UWP
Funciones de CRT no admitidas en UWP Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows
Alternativas a las API de Windows Alternativas a las API de Windows en aplicaciones de la Plataforma universal de Windows (UWP)

Administración de la duración de los procesos

La administración de la duración del proceso o el ciclo de vida de la aplicación describe los distintos estados de activación a los que una aplicación de la Plataforma universal de Windows puede realizar la transición. El juego se puede activar, suspender, reanudar o terminar, y puede pasar a través de esos estados de varias maneras.

Control de transiciones de ciclo de vida de la aplicación Ciclo de vida de la aplicación
Uso de Microsoft Visual Studio para desencadenar transiciones de aplicación Desencadenamiento de los eventos de suspender, reanudar y en segundo plano en las aplicaciones para UWP en Visual Studio

Diseño de la experiencia de usuario del juego

La génesis de un gran juego es un diseño inspirado.

Los juegos comparten algunos principios de diseño y elementos de interfaz de usuario comunes con las aplicaciones, pero a menudo cuentan con un aspecto, sensación y objetivo de diseño únicos en la experiencia de usuario. Los juegos tienen éxito cuando se aplica un diseño meditado a ambos aspectos, ¿cuándo debe usar la experiencia de usuario probada del juego y cuándo debe divergir e innovar? La tecnología de presentación que elija para el juego (DirectX, XAML, HTML5 o alguna combinación de las tres) influirá en los detalles de implementación, pero los principios de diseño que se apliquen son en gran medida independientes de esa elección.

Aparte del diseño de la experiencia de usuario, el diseño del juego, como el diseño de nivel, el ritmo, el diseño del mundo y otros aspectos es una forma de arte propia, una que le corresponde a usted y a su equipo, y no se trata en esta guía de desarrollo.

Conceptos básicos y directrices de diseño de UWP Diseño de aplicaciones para UWP
Diseño para estados del ciclo de vida de las aplicaciones Directrices de la experiencia de usuario para iniciar, suspender y reanudar
Diseño de la aplicación para UWP para Xbox One y pantallas de televisión Diseño para Xbox y televisión

Guía de color y paleta

Seguir una guía de color coherente en el juego mejora la estética, ayuda a la navegación y es una herramienta eficaz para informar al jugador de la funcionalidad del menú y HUD. El hecho de colorear de forma coherente los elementos del juego como, por ejemplo, las advertencias, los daños, los puntos de experiencia y los logros, puede dar lugar a una interfaz de usuario más limpia y reducir la necesidad de usar etiquetas explícitas.

Guía de colores Color en Windows 11

Tipografía

El uso adecuado de la tipografía mejora muchos aspectos del juego, como el diseño de la interfaz de usuario, la navegación, la legibilidad, la atmósfera, la marca y la inmersión del jugador.

Guía de tipografía Procedimientos recomendados: Tipografía

Mapa de la interfaz de usuario

Un mapa de interfaz de usuario es un diseño de navegación y menús del juego expresados como un diagrama de flujo. El mapa de la interfaz de usuario ayuda a todas las partes interesadas implicadas a comprender la interfaz del juego y las rutas de navegación, y puede exponer obstáculos potenciales y puntos muertos al principio del ciclo de desarrollo.

Guía del mapa de la interfaz de usuario Procedimientos recomendados: Mapa de la interfaz de usuario

Audio del juego

Estas son guías y referencias para implementar audio en juegos con XAudio2, XAPO y Windows Sonic. XAudio2 es una API de audio de bajo nivel que proporciona procesamiento de señales y base de mezcla para desarrollar motores de audio de alto rendimiento. La API de XAPO permite la creación de objetos de procesamiento de audio multiplataforma (XAPO) para su uso en XAudio2 en Windows y Xbox. La compatibilidad con audio de Windows Sonic le permite agregar Dolby Atmos for Home Theater, Dolby Atmos for Headphones y compatibilidad con HRTF de Windows al juego o aplicación multimedia de streaming.

API de XAudio2 Guía de programación y referencia de API para XAudio2
Creación de objetos de procesamiento de audio multiplataforma Introducción a XAPO
Introducción a los conceptos de audio Audio para juegos
Introducción a Windows Sonic Sonido espacial
Ejemplos de sonido espacial de Windows Sonic Ejemplos de sonido de Xbox Advanced Technology Group

Direct3D 12

Obtenga información sobre las novedades y las diferentes de Direct3D 12 (en comparación con Direct3D 11) y cómo empezar a programar con Direct3D 12.

Guía de programación y referencia de Direct3D 12 Gráficos Direct3D 12
Configuración del entorno de programación Configuración del entorno de programación de Direct3D 12
Creación de un componente básico Creación de un componente básico de Direct3D 12
Cambios en Direct3D 12 Cambios importantes al migrar de Direct3D 11 a Direct3D 12
Portabilidad de Direct3D 11 a Direct3D 12 Portabilidad de Direct3D 11 a Direct3D 12
Conceptos de enlace de recursos (que abarcan descriptor, tabla descriptor, montón de descriptores y firma raíz) Enlace de recursos en Direct3D 12
Administración de memoria Administración de la memoria en Direct3D 12

Desarrollo de DirectX

Guías y referencias para el desarrollo de juegos en DirectX.

DirectX para el desarrollo de UWP Programación con DirectX
Tutorial: Creación de un juego de DirectX para UWP Crear un juego para UWP sencillo con DirectX
Interacción de DirectX con el modelo de aplicación para UWP Objeto de aplicación y DirectX
Introducción y referencia de DirectX Gráficos y juegos de DirectX
Aspectos básicos de DirectX 12 (vídeo) Mejor potencia, mejor rendimiento: su juego en DirectX 12

Kit de herramientas y bibliotecas de DirectX

El kit de herramientas de DirectX, la biblioteca de procesamiento de texturas de DirectX, la biblioteca de procesamiento de geometría de DirectXMesh, la biblioteca UVAtlas y la biblioteca DirectXMath proporcionan textura, malla, sprites y otras funciones de utilidad y clases auxiliares para el desarrollo de DirectX. Estas bibliotecas pueden ayudarte a ahorrar tiempo y esfuerzo en el desarrollo.

Obtención del kit de herramientas de DirectX para DirectX 12 DirectXTK 12
Obtención del kit de herramientas de DirectX para DirectX 11 DirectXTK
Obtención de la biblioteca de procesamiento de texturas de DirectX DirectXTex
Obtención de la biblioteca de procesamiento de geometría de DirectXMesh DirectXMesh
Obtención de UVAtlas para crear y empaquetar atlas de texturas isochart UVAtlas
Obtención de la biblioteca DirectXMath DirectXMath
Compatibilidad con Direct3D 12 en DirectXTK (problema de GitHub) Compatibilidad con DirectX 12

Recursos de DirectX de partners

A continuación se presenta documentación adicional de DirectX creada por partners externos.

Nvidia: Lo que hay que hacer y lo que no en DX12 (publicación de blog) Lo que hay que hacer y lo que no en DX12, actualizado
Intel: Procesamiento paralelo con DirectX 3D 12 Procesamiento paralelo con DirectX 3D 12
Intel: Implementación de una aplicación de varios adaptadores explícita mediante DirectX 12 Compatibilidad con varios adaptadores en DirectX 12
Intel: Notas del producto de colaboración de Intel, Suzhou Snail y Microsoft Tutorial: Migración de aplicaciones a DirectX 12 : parte 1

Producción

En esta fase, el estudio está totalmente comprometido y pasa al ciclo de producción, con trabajo distribuido entre todos los miembros de su equipo. Está puliendo, refactorizando y ampliando el prototipo para crearlo en un juego completo.

Notificaciones y iconos dinámicos

Un icono es la representación de la aplicación en el menú Inicio. Los iconos y las notificaciones pueden impulsar el interés del jugador incluso cuando no está jugando.

Desarrollo de iconos y distintivos Iconos, distintivos y notificaciones
Ejemplo que ilustra iconos dinámicos y notificaciones Ejemplo de notificaciones
Plantillas de icono adaptables (publicación de blog) Plantillas de icono adaptables: esquema y documentación
Diseño de iconos y distintivos Directrices sobre iconos y distintivos
Aplicación de Windows 10 para desarrollar de forma interactiva plantillas de iconos dinámicos Notifications Visualizer
Extensión del generador de iconos de UWP para Visual Studio Herramienta para crear todos los iconos necesarios mediante una sola imagen
Extensión del generador de iconos para UWP para Visual Studio (publicación de blog) Recomendaciones al usar la herramienta Generador de iconos de UWP

Habilitación de compras de productos en la aplicación (complemento)

Un complemento (producto en la aplicación) es un elemento complementario incluido en el juego que los jugadores pueden comprar. Los complementos pueden ser niveles de juego, elementos o cualquier otra cosa que los jugadores puedan disfrutar. Si se usan adecuadamente, los complementos pueden proporcionar ingresos a la vez que mejoran la experiencia del juego. Puede definir y publicar los complementos del juego mediante el Centro de partners y habilitar las compras en la aplicación en el código del juego.

Complementos duraderos Habilitación de compras de productos en la aplicación
Complementos de bienes consumibles Habilitación de compras de productos consumibles en la aplicación
Detalles y envío del complemento Envíos de complementos
Supervisar las ventas de complementos y los datos demográficos del juego Informe de adquisiciones de complementos

Depuración, optimización del rendimiento y supervisión

Para optimizar el rendimiento, puede aprovechar el Modo Juego en Windows para proporcionar a los jugadores la mejor experiencia de juego posible utilizando completamente la capacidad de su hardware actual.

Windows Performance Toolkit (WPT) consta de herramientas de supervisión del rendimiento que generan perfiles de rendimiento detallados de aplicaciones y sistemas operativos Windows. Esto es sumamente útil para supervisar el uso de memoria y mejorar el rendimiento de juegos. Windows Performance Toolkit se incluye en Windows SDK y Windows ADK. Este kit de herramientas consta de dos herramientas independientes: Windows Performance Recorder (WPR) y Windows Performance Analyzer (WPA). ProcDump, que forma parte de Windows Sysinternals, es una utilidad de línea de comandos que supervisa los picos de CPU y genera archivos de volcado durante los bloqueos del juego.

Prueba de rendimiento del código Azure Test Plans
Obtención del tipo de consola Xbox mediante la información del dispositivo de juegos Información del dispositivo de juegos
Mejora del rendimiento con el acceso exclusivo o prioritario a los recursos de hardware mediante las API de Modo Juego Modo juego
Obtención de Windows Performance Toolkit (WPT) Kit de herramientas de rendimiento de Windows
Obtención de Windows Performance Toolkit (WPT) de Windows ADK Windows ADK
Obtención de ProcDump ProcDump

Conceptos y técnicas avanzadas de DirectX

Algunas partes del desarrollo de DirectX pueden ser matizadas y complejas. Cuando llegue al punto de producción en el que necesite profundizar en los detalles del motor de DirectX o depurar problemas de rendimiento difíciles, los recursos y la información de esta sección pueden ayudar.

Herramienta de optimización y depuración de rendimiento para DirectX 12 en Windows Presentación de PIX en Windows
Guía de programación para Direct3D 12 Gráficos Direct3D 12
Combinación de DirectX y XAML Interoperabilidad de DirectX y XAML

Desarrollo de contenido de alto rango dinámico (HDR)

Cree contenido del juego que use las funcionalidades de color completo de HDR.

Obtenga información sobre cómo representar contenido HDR y detectar si la pantalla actual la admite. Ejemplo HDR de Direct3D 12
Creación y configuración de un color avanzado mediante DirectX Ejemplo de representación avanzada de imágenes de color de Direct2D

Globalización y localización

Desarrolle juegos internacionales para la plataforma de Windows y obtenga información sobre las características internacionales integradas en los principales productos de Microsoft.

Preparación del juego para el mercado global Globalización y localización

Envío y publicación del juego

Las siguientes guías e información ayudan a agilizar lo más posible el proceso de publicación y envío.

Publicación

Usará el Centro de partners para publicar y administrar los paquetes de juegos.

Publicación de aplicaciones del Centro de partners Publicar aplicaciones de Windows
Uso de Azure Active Directory (AAD) para agregar usuarios a la cuenta del Centro de partners Crear grupos de clientes
Clasificación del juego (publicación de blog) Ahora disponible: sistema de clasificación por edades único para simplificar los envíos de aplicaciones

Empaquetado y carga

División y agrupación del contenido para habilitar la instalación de streaming Instalación en streaming de aplicaciones para UWP
Creación de paquetes opcionales, como contenido de juegos DLC Creación de paquetes opcionales y conjuntos relacionados
Empaquetado del juego para UWP Empaquetado de aplicaciones
Empaquetado del juego de DirectX para UWP Empaquetado del juego de DirectX para UWP
Empaquetado del juego como desarrollador de terceros (publicación de blog) Creación de paquetes cargables sin acceso a la cuenta de almacén del publicador
Creación de paquetes de aplicaciones y agrupaciones de paquetes de aplicaciones mediante MakeAppx Creación de paquetes mediante la herramienta del empaquetador de aplicaciones MakeAppx.exe
Firma digital de los archivos mediante SignTool Firma de archivos y comprobación de firmas en archivos mediante SignTool
Carga y control de versiones del juego Cargar paquetes de la aplicación

Políticas y certificación

No deje que los problemas de certificación retrasen la publicación del juego. Estas son las directivas y los problemas comunes de certificación que se deben tener en cuenta.

Acuerdo para desarrolladores de aplicaciones de Microsoft Store Acuerdo para desarrolladores de aplicaciones
Directivas para publicar aplicaciones en Microsoft Store Directivas de Microsoft Store
Cómo evitar algunos problemas comunes de certificación de aplicaciones Cómo evitar errores de certificación comunes

Manifiesto de la tienda (StoreManifest.xml)

El manifiesto de la tienda (StoreManifest.xml) es un archivo de configuración opcional que puede incluir en el paquete de la aplicación. En él se proporcionan funciones adicionales que no forman parte del archivo AppxManifest.xml. Por ejemplo, puede usar el manifiesto de la tienda para bloquear la instalación del juego si un dispositivo de destino no tiene el nivel mínimo especificado de funciones de DirectX o la memoria mínima especificada del sistema.

Esquema del manifiesto de la tienda Esquema StoreManifest (Windows 10)

Administración del ciclo de vida del juego

Cuando haya terminado el desarrollo y haya enviado el juego, todavía no habrá terminado. Quizás haya terminado el desarrollo de la versión uno, pero el camino del juego en el mercado tan solo acaba de comenzar. Querrá supervisar el uso y los informes de errores, responder a los comentarios del usuario y publicar actualizaciones en el juego.

Análisis y promoción del Centro de partners

Análisis del Centro de partners Analizar el rendimiento de las aplicaciones
Obtenga información sobre cómo los clientes interactúan con las características de Xbox en el juego Informe de análisis de Xbox
Respuesta a las opiniones de los clientes Respuesta a las opiniones de los clientes
Formas de promover el juego Atracción a los clientes y promoción de las aplicaciones

Application Insights de Visual Studio

Application Insights de Visual Studio proporciona análisis de rendimiento, telemetría y uso para el juego publicado. Application Insights te ayuda a detectar y solucionar problemas después del lanzamiento del juego, supervisar y mejorar el uso continuamente, así como comprender la forma en que los jugadores interactúan con el juego. Aplicación Insights funciona agregando un SDK a la aplicación, que envía la telemetría al Portal de Azure.

Análisis de uso y rendimiento de aplicaciones Introducción a Application Insights
Azure Monitor Introducción a Azure Monitor

Soluciones de terceros para análisis y promoción

Descripción el comportamiento del jugador mediante GameAnalytics GameAnalytics
Conexión del juego para UWP a Google Analytics Obtención de Windows SDK para Google Analytics
Uso de los anuncios para instalación de aplicaciones de Facebook para promocionar el juego a los usuarios de Facebook Obtención de Windows SDK para Facebook
Uso de Vungle para agregar anuncios de vídeo a los juegos Descargar el SDK de Vungle para Windows

Creación y administración de actualizaciones de contenido

Para actualizar el juego publicado, envíe un nuevo paquete de la aplicación con un número de versión superior. Después de que el paquete realice su camino a través del envío y la certificación, estará disponible automáticamente para los clientes como una actualización.

Actualización y control de versiones del juego Numeración de la versión del paquete
Guía de administración de paquetes de juegos Guía para administrar paquetes de la aplicación

Adición de Xbox Live al juego

Xbox Live es una red de juegos líder que conecta a millones de jugadores de todo el mundo. Los desarrolladores obtienen acceso a las características de Xbox Live que pueden aumentar orgánicamente el público de su juego, incluida la presencia de Xbox Live, marcadores, ahorros en la nube, centros de juego, clubs, chat de fiesta, DVR de juegos, etc.

Nota:

Si quiere desarrollar títulos habilitados para Xbox Live, tiene varias opciones disponibles. Para más información sobre los distintos programas, consulte Elección de un programa para desarrolladores de Xbox Live.

Introducción a Xbox Live Documentación de Xbox Live

Para desarrolladores en el Programa de creadores de Xbox Live

Información general Unión al Programa de creadores de Xbox Live

Para partners y desarrolladores administrados en el programa ID@Xbox

Información general Introducción a Xbox Live, para partners administrados
Ejemplos Ejemplos de desarrollo de juegos de Xbox

Recursos adicionales

Vídeos de conferencias principales, como GDC y //build Vídeos sobre el desarrollo de juegos