Guía de desarrollo de juegos para Windows 10
Le damos la bienvenida a la guía de desarrollo de juegos para Windows.
Nota:
Antes de invertir tiempo en desarrollar un juego basado en el marco de UWP, ten en cuenta que UWP ya no está en desarrollo activo. Además, los juegos basados en UWP ya no se aceptan en la Tienda Xbox.
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)
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 estás familiarizado con el desarrollo de juegos en Windows, es posible que la guía de introducción sea donde quieres 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. 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 |
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
Para publicar un juego en Microsoft Store, también tendrá que crear una cuenta de desarrollador en el Centro de partners.
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 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 |
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 |
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 |
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 |
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)
El Plataforma universal de Windows (UWP) proporciona una plataforma de API común en todos los dispositivos Windows. 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 |
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 |
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 |
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 |
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 |