Partilhar via


Guia de desenvolvimento de jogos para Windows

Bem-vindo ao guia de desenvolvimento de jogos para Windows!

Observação

Antes de investir tempo no desenvolvimento de um jogo baseado na estrutura UWP, observe que a UWP não está mais em desenvolvimento ativo. Além disso, jogos baseados em UWP já não são aceites na Xbox Store.

Este guia apresenta uma coleção completa dos recursos e informações de que vai precisar para desenvolver um jogo da Universal Windows Platform (UWP). Uma versão em inglês (EUA) deste guia está disponível em formato PDF .

Introdução ao desenvolvimento de jogos para a Plataforma Universal Windows (UWP)

Este guia fornece uma coleção completa de informações e recursos que ajudarão você a desenvolver seu jogo. As seções são organizadas de acordo com as etapas de desenvolvimento do jogo, para que você saiba onde procurar informações quando precisar.

Se és novo no desenvolvimento de jogos em Windows, o guia Getting Started pode ser o melhor ponto de partida. A seção recursos de desenvolvimento de jogos também fornece uma pesquisa de alto nível de documentação, programas e outros recursos que são úteis ao criar um jogo. Se você quiser começar examinando algum código UWP, consulte Exemplos de jogos.

Recursos de desenvolvimento de jogos

De documentação a programas de desenvolvedores, fóruns, blogs e exemplos, há muitos recursos disponíveis para ajudá-lo em sua jornada de desenvolvimento de jogos. Aqui está um resumo de recursos a conhecer enquanto começa a desenvolver o seu jogo para Windows.

Observação

Algumas funcionalidades são geridas através de vários programas. Este guia abrange uma ampla gama de recursos, portanto, você pode achar que alguns recursos estão inacessíveis, dependendo do programa em que você está ou da sua função de desenvolvimento específica. Para obter informações sobre a parceria com a Microsoft, consulte Programas para desenvolvedores.

Documentação de desenvolvimento de jogos

Ao longo deste guia, você encontrará links diretos para documentação relevante, organizada por tarefa, tecnologia e estágio de desenvolvimento do jogo. Para lhe dar uma visão geral do que está disponível, aqui estão os principais portais de documentação para desenvolvimento de jogos para Windows.

Portal principal do Centro de Desenvolvimento Windows Windows Centro de Desenvolvimento
Desenvolvimento de aplicações para Windows Desenvolver Windows aplicações
Desenvolvimento de aplicações Universal Windows Platform Documentação da Plataforma Universal do Windows
Guias de instruções para jogos UWP Jogos e DirectX
Referência e visão geral do DirectX Gráficos e Jogos DirectX
Azure para jogos Constrói e escala os teus jogos usando Azure
Azure PlayFab Solução completa de back-end para jogos ao vivo
Documentação do Mixer Interactive Adicione interatividade ao seu jogo

Centro de Parceiros

Registar-se como programador no Partner Center é o primeiro passo para publicar o seu jogo Windows. Uma conta de programador permite-lhe reservar o nome do seu jogo e submeter jogos gratuitos ou pagos para a Microsoft Store para todos os dispositivos Windows. Utilize a sua conta de programador para gerir o seu jogo e produtos no jogo, obter análises detalhadas e ativar serviços que criam excelentes experiências para os seus jogadores em todo o mundo.

A Microsoft também oferece vários programas para desenvolvedores que o ajudam a desenvolver e publicar jogos para Windows. Recomendamos ver se algum é adequado para você antes de se registrar para uma conta do Partner Center. Para obter mais informações, vá para programas de desenvolvimento

Programas para desenvolvedores

Para publicar um jogo na Microsoft Store, você também precisará criar uma conta de desenvolvedor no Partner Center .

Amostras de jogos

Existem muitos exemplos de jogos e aplicações para Windows disponíveis para o ajudar a compreender as funcionalidades de jogos do Windows e a ter um início rápido no desenvolvimento de jogos. As amostras são desenvolvidas e publicadas regularmente, por isso não se esqueça de verificar ocasionalmente os portais de amostras para ver as novidades. Também pode observar repositórios do GitHub para ser notificad@ de alterações e adições.

Aplicações de exemplo da Universal Windows Platform Windows-universal-samples
Exemplos de gráficos Direct3D 12 DirectX-Graphics-Samples
Exemplos de gráficos Direct3D 11 directx-sdk-samples
Exemplo de jogo em primeira pessoa Direct3D 11 Crie um jogo UWP simples com DirectX
Exemplo de efeitos de imagem personalizados Direct2D D2DCustomEffects
Exemplo de malha de gradiente Direct2D D2DGradientMesh
Exemplo de ajuste de fotos Direct2D D2DPhotoAdjustment
Exemplos de jogos para Windows (Galeria de Código MSDN) Exemplos de jogos da Microsoft Store
Exemplo de jogo JavaScript 2D Criar um jogo UWP em JavaScript
Exemplo de jogo JavaScript 3D Criando um jogo JavaScript 3D usando three.js

Fóruns de desenvolvedores

Os fóruns de desenvolvedores são um ótimo lugar para fazer e responder perguntas sobre desenvolvimento de jogos e se conectar com a comunidade de desenvolvimento de jogos. Os fóruns também podem ser recursos fantásticos para encontrar respostas existentes para problemas difíceis que os desenvolvedores enfrentaram e resolveram no passado.

Publicação de aplicativos e fóruns de desenvolvedores de jogos Publicação e anúncios em aplicativos
Fórum do desenvolvedor de aplicativos UWP Desenvolvimento de aplicações Universal Windows Platform
Fóruns de desenvolvedores de aplicativos de desktop Windows fóruns de aplicações de ambiente de trabalho
Jogos DirectX da Microsoft Store (postagens arquivadas no fórum) Criando jogos da Microsoft Store com DirectX (arquivado)
Fóruns de programadores de parceiros geridos no Windows 10 Fóruns de Desenvolvedores XBOX: Windows 10
Fóruns do PlayFab Fóruns do PlayFab

Blogs de desenvolvedores

Os blogs de desenvolvedores são outro ótimo recurso para as informações mais recentes sobre desenvolvimento de jogos. Você encontrará postagens sobre novos recursos, detalhes de implementação, práticas recomendadas, plano de fundo da arquitetura e muito mais.

Construir aplicações para Windows (blogue) Criar Aplicações para Windows
Windows 10 (publicações de blog) Publicações em Windows 10
Blogue da equipa de engenharia do Visual Studio O Blogue Visual Studio
Blogues de ferramentas para desenvolvedores do Visual Studio Blog das Ferramentas de Desenvolvimento
Blog de ferramentas de desenvolvimento da Somasegar o blog de Somasegar
Blog do desenvolvedor do DirectX Blog do Desenvolvedor de DirectX
Introdução ao DirectX 12 (postagem no blog) DirectX 12
Blog da equipe de ferramentas do Visual C++ Blog da equipa do Visual C++
Blog da equipe PIX Ajuste e depuração de desempenho para jogos DirectX 12 no Windows e Xbox
Blogue da equipa Universal Windows App Deployment Criar e implantar o blog da equipe de aplicativos UWP

Conceito e planeamento

Na etapa de conceito e planejamento, você decide como será seu jogo e as tecnologias e ferramentas que usará para dar vida a ele.

Visão geral das tecnologias de desenvolvimento de jogos

Quando você começa a desenvolver um jogo para a UWP, você tem várias opções disponíveis para gráficos, entrada, áudio, rede, utilitários e bibliotecas.

Se você já decidiu sobre todas as tecnologias que usará em seu jogo, então você está pronto. Caso contrário, o guia Tecnologias de jogos para aplicações UWP é uma excelente visão geral de muitas das tecnologias disponíveis, e é altamente recomendável para ajudá-lo a entender as opções e como elas se encaixam.

Levantamento de tecnologias de jogos UWP Tecnologias de jogos para aplicativos UWP

Planeamento de jogos

Estes são alguns conceitos de alto nível e tópicos de planejamento a serem considerados ao planejar seu jogo.

Torne o seu jogo acessível Acessibilidade para jogos
Crie jogos usando a nuvem Cloud para jogos
Rentabilize o seu jogo Monetização de jogos

Escolher a sua tecnologia gráfica e linguagem de programação

Existem várias linguagens de programação e tecnologias gráficas disponíveis para uso em jogos para Windows. O caminho que você toma depende do tipo de jogo que você está desenvolvendo, da experiência e preferências do seu estúdio de desenvolvimento e dos requisitos de recursos específicos do seu jogo. Você usará C#, C++ ou JavaScript? DirectX, XAML ou HTML5?

DirectX

O Microsoft DirectX é a escolha para obter os gráficos 2D e 3D e multimédia de maior desempenho.

O DirectX 12 é mais rápido e eficiente do que qualquer versão anterior. O Direct3D 12 permite cenas mais ricas, mais objetos, efeitos mais complexos e aproveitamento total do hardware moderno da GPU em PCs com Windows e Xbox One.

Se quiser usar o pipeline gráfico familiar do Direct3D 11, você ainda se beneficiará dos novos recursos de renderização e otimização adicionados ao Direct3D 11.3. E, se fores um programador experiente de APIs Windows de ambiente de trabalho com raízes no Win32, ainda terás essa opção para o teu jogo Windows.

Os recursos extensivos e a profunda integração de plataforma do DirectX fornecem a potência e o desempenho necessários para os jogos mais exigentes.

DirectX para desenvolvimento UWP Programação DirectX
Tutorial: Como criar um jogo UWP DirectX Crie um jogo UWP simples com DirectX
Visão geral e referência do DirectX Gráficos e Jogos DirectX
Guia de programação e referência do Direct3D 12 Gráficos Direct3D 12
Gráficos e vídeos de desenvolvimento DirectX 12 (canal do YouTube) Microsoft DirectX 12 e Educação em Gráficos

XAML

XAML é uma linguagem de interface do usuário declarativa fácil de usar com recursos convenientes como animações, storyboards, vinculação de dados, gráficos baseados em vetores escaláveis, redimensionamento dinâmico e gráficos de cena. O XAML funciona muito bem para a interface do usuário do jogo, menus, sprites e gráficos 2D. Para facilitar o layout da interface, o XAML é compatível com ferramentas de design e desenvolvimento como o Expression Blend e o Microsoft Visual Studio. O XAML é comumente usado com C#, mas o C++ também é uma boa opção se essa for sua linguagem preferida ou se seu jogo tiver altas demandas de CPU.

Visão geral da plataforma XAML Plataforma XAML
Interface do usuário e controles XAML Controles, layouts e texto

HTML 5

HyperText Markup Language (HTML) é uma linguagem de marcação de interface do usuário comum usada para páginas da Web, aplicativos e clientes avançados. Os jogos Windows podem usar HTML5 como uma camada de apresentação completa com as funcionalidades familiares do HTML, acesso à Universal Windows Platform e suporte para funcionalidades web modernas como AppCache, Web Workers, canvas, arrastar e largar, programação assíncrona e SVG. Nos bastidores, a renderização HTML aproveita o poder da aceleração de hardware do DirectX, para que você ainda possa obter os benefícios de desempenho do DirectX sem escrever nenhum código extra. HTML5 é uma boa escolha se você é proficiente com desenvolvimento web, portabilidade de um jogo web, ou você quer usar camadas de linguagem e gráficos que podem ser mais fáceis de abordar do que as outras opções. HTML5 é usado com JavaScript, mas também pode chamar componentes criados com C# ou C++/CX.

Informações sobre HTML5 e Document Object Model Referência de HTML e DOM
A recomendação HTML5 W3C HTML5

Combinação de tecnologias de apresentação

O Microsoft DirectX Graphics Infrastructure (DXGI) fornece interoperabilidade e compatibilidade entre várias tecnologias gráficas. Para gráficos de alto desempenho, você pode combinar XAML e DirectX; usando XAML para menus e outras interfaces do usuário simples e DirectX para renderizar cenas 2D e 3D complexas. DXGI também fornece compatibilidade entre Direct2D, Direct3D, DirectWrite, DirectCompute e o Microsoft Media Foundation.

Guia de programação e referência do DirectX Graphics Infrastructure DXGI
Combinando DirectX e XAML Interoperabilidade entre DirectX e XAML

C++

C++/WinRT é uma linguagem de alto desempenho e baixa sobrecarga que fornece a poderosa combinação de velocidade, compatibilidade e acesso à plataforma. C++/WinRT facilita o uso de todas as excelentes funcionalidades de gaming no Windows, incluindo DirectX e Xbox Live. Você também pode reutilizar bibliotecas e códigos C++ existentes. O C++/WinRT cria código rápido e nativo que não incorre na sobrecarga da coleta de lixo, para que seu jogo possa ter um ótimo desempenho e baixo consumo de energia, o que leva a uma maior vida útil da bateria. Use C++/WinRT com DirectX ou XAML ou crie um jogo que use uma combinação de ambos.

C#

C# (pronuncia-se "C sharp") é uma linguagem moderna e inovadora que é simples, poderosa, segura para tipos e orientada a objetos. O C# permite um desenvolvimento rápido, mantendo a familiaridade e expressividade das linguagens de estilo C. Embora fácil de usar, o C# tem vários recursos avançados de linguagem, como polimorfismo, delegados, lambdas, fechamentos, métodos iteradores, covariância e expressões LINQ (Language-Integrated Query). O C# é uma excelente opção se você estiver direcionando XAML, quiser começar rapidamente a desenvolver seu jogo ou tiver experiência anterior em C#. C# é usado principalmente com XAML, portanto, se você quiser usar DirectX, escolha C++ em vez disso, ou escreva parte do seu jogo como um componente C++ que interage com DirectX. Ou, considere Win2D: uma biblioteca de gráficos Direct2D de modo imediato para C# e C++.

Guia e referência de programação em C# Referência da linguagem C#

Usar componentes do Windows Runtime para combinar linguagens

Com a Universal Windows Platform, é fácil combinar componentes escritos em diferentes línguas. Crie componentes do Windows Runtime em C++, C# ou Visual Basic, e depois ligue-os a partir de JavaScript, C#, C++ ou Visual Basic. Esta é uma ótima maneira de programar partes do seu jogo no idioma de sua escolha. Os componentes também permitem que você consuma bibliotecas externas que estão disponíveis apenas em um idioma específico, bem como use o código herdado que você já escreveu.

Como criar componentes do Windows Runtime Componentes Windows Runtime utilizando C++/WinRT

Qual versão do DirectX seu jogo deve usar?

Se estiver a escolher DirectX para o seu jogo, terá de decidir qual a versão a utilizar: Microsoft Direct3D 12 ou Microsoft Direct3D 11.

O DirectX 12 é mais rápido e eficiente do que qualquer versão anterior. O Direct3D 12 permite cenas mais ricas, mais objetos, efeitos mais complexos e aproveitamento total do hardware moderno da GPU em PCs com Windows e Xbox One. Como o Direct3D 12 funciona em um nível muito baixo, ele é capaz de dar a uma equipe de desenvolvimento gráfico especializada ou a uma equipe de desenvolvimento experiente do DirectX 11 todo o controle necessário para maximizar a otimização gráfica.

O Direct3D 11.3 é uma API gráfica de baixo nível que usa o modelo de programação Direct3D familiar e lida com mais da complexidade envolvida na renderização de GPU. Também é suportado no Windows e na Xbox One. Se você tiver um mecanismo existente escrito em Direct3D 11 e não estiver pronto para dar o salto para o Direct3D 12, poderá usar o Direct3D 11 no 12 para obter algumas melhorias de desempenho. As versões 11.3+ contêm os novos recursos de renderização e otimização habilitados também no Direct3D 12.

Escolher Direct3D 12 ou Direct3D 11 O que é o Direct3D 12?
Visão geral do Direct3D 11 Gráficos Direct3D 11
Visão geral do Direct3D 11 em 12 Direct3D 11 sobre 12

Pontes, motores de jogos e middleware

Dependendo das necessidades do seu jogo, o uso de pontes, mecanismos de jogo ou middleware pode economizar tempo e recursos de desenvolvimento e teste. Aqui estão algumas visões gerais e recursos para pontes, mecanismos de jogos e middleware.

Azure PlayFab

Agora parte da família Microsoft, o Azure PlayFab é uma plataforma completa de back-end para jogos ao vivo e uma poderosa forma de estúdios independentes começarem. Aumente a receita, o envolvimento e a retenção, ao mesmo tempo que reduz os custos, com serviços de jogos, análises em tempo real e LiveOps.

PlayFab Visão geral das ferramentas e serviços
Primeiros passos O que é o PlayFab?
Série de tutoriais em vídeo Série de vídeos de demonstração sobre os principais sistemas do PlayFab
Receitas Receitas
Repositório GitHub Obtenha scripts e SDKs para várias plataformas, incluindo Android, iOS, Windows, Unity e Unreal.
Documentação da API Visão geral da API REST
Fóruns Fóruns do PlayFab

Unidade

Unity oferece uma plataforma para criar jogos e aplicativos 2D, 3D, VR e AR bonitos e envolventes. Ele permite que você realize sua visão criativa rapidamente e entrega seu conteúdo para praticamente qualquer mídia ou dispositivo.

A partir do Unity 5.4, o Unity suporta o desenvolvimento do Direct3D 12.

O motor de jogo Unity Unity - Motor de Jogo
Obtenha o Unity Obtenha o Unity
Documentação do Unity para Windows Manual da Unity / Windows
Adicionar LiveOps usando o PlayFab Guia de início rápido: biblioteca PlayFab Client para C# no Unity
Como adicionar interatividade ao seu jogo usando o Mixer Interactive Guia de introdução
SDK do misturador para Unity Plugin Mixer Unity
Documentação de referência do Mixer SDK for Unity Referência de API para o plugin Mixer Unity
Resolução de problemas de falta de referências de assembly relacionadas com APIs .NET Falta de APIs de .NET no Unity e UWP
Publique o seu jogo Unity como uma aplicação da Universal Windows Platform (vídeo) Como publicar seu jogo Unity como um aplicativo UWP
Usar o Unity para criar jogos e aplicações para Windows (vídeo) Criar jogos e aplicações para Windows com Unity
Desenvolvimento de jogos Unity usando Visual Studio (série de vídeos) Usando Unity com Visual Studio 2015

Havok

O conjunto modular de ferramentas e tecnologias da Havok ajuda os criadores de jogos a alcançar novos níveis de interatividade e imersão. O Havok permite física altamente realista, simulações interativas e cinemáticas impressionantes. A versão 2015.1 ou posterior suporta oficialmente UWP no Visual Studio 2015 em x86, 64 bits e Arm.

Sítio Web da Havok Havok

Unreal Engine

Unreal Engine é um conjunto completo de ferramentas de desenvolvimento de jogos para todos os tipos de jogos e desenvolvedores. Para os jogos de console e PC mais exigentes, a Unreal Engine é usada por desenvolvedores de jogos em todo o mundo.

Visão geral do Unreal Engine Unreal Engine

BabilôniaJS

BabylonJS é uma estrutura JavaScript completa para a construção de jogos 3D com HTML5, WebGL, WebVR e Web Audio.

BabilôniaJS BabylonJS
Construindo um jogo WebGL multiplataforma com BabylonJS Use BabylonJS para desenvolver um jogo multiplataforma

Protótipo e design

Agora que você decidiu o tipo de jogo que deseja criar, as ferramentas e a tecnologia gráfica que usará para criá-lo, está pronto para começar com o design e o protótipo. No fundo, o teu jogo é uma aplicação Universal Windows Platform, por isso é por aí que vais começar.

Introdução à Plataforma Universal Windows (UWP)

A Plataforma Universal Windows (UWP) fornece uma plataforma API comum entre dispositivos Windows. Os jogos que visam a UWP podem chamar APIs do WinRT que são comuns a todos os dispositivos. Como o UWP fornece camadas de API garantidas, pode optar por criar um único pacote de aplicação que será instalado em vários dispositivos Windows. E se quiseres, o teu jogo ainda pode chamar APIs (incluindo algumas APIs clássicas do Windows do Win32 e .NET) que sejam específicas dos dispositivos onde o teu jogo corre.

Seguem-se excelentes guias que discutem em detalhe as aplicações da Universal Windows Platform e são leituras recomendadas para ajudar a compreender a plataforma.

Introdução às aplicações da Universal Windows Platform O que é uma aplicação Universal Windows Platform?

Introdução ao desenvolvimento UWP

Configurar e estar pronto para desenvolver uma aplicação Universal Windows Platform é rápido e fácil. Os guias a seguir guiam você pelo processo passo a passo.

Introdução ao desenvolvimento UWP Comece a usar Windows apps
Preparação para o desenvolvimento na UWP Prepare-se

Se és um completo principiante em programação UWP e estás a considerar usar XAML no teu jogo (ver Escolher a tua tecnologia gráfica e linguagem de programação), a série de vídeos de desenvolvimento Windows 10 para iniciantes absolutos é um bom ponto de partida.

Anunciando a série para iniciantes absolutos do Windows 10 usando XAML (post no blog) Windows 10 desenvolvimento para iniciantes absolutos

Conceitos de desenvolvimento UWP

Visão geral do desenvolvimento de aplicações na Universal Windows Platform Desenvolver Windows aplicações
Visão geral da programação de rede na UWP Redes e serviços Web
A usar Windows.Web.HTTP e Windows.Networking.Sockets em jogos Networking para jogos
Conceitos de programação assíncrona na UWP Programação assíncrona

APIs de Ambiente de Trabalho Windows e UWP

Estes são alguns links para ajudá-lo a interoperar entre a área de trabalho e o código UWP.

Usar código C++ existente para desenvolvimento de jogos UWP Como: Usar código C++ existente em um aplicativo UWP
APIs de Windows Runtime para Win32 e APIs COM APIs Win32 e COM para aplicativos UWP
Funções CRT não suportadas na UWP Funções CRT não suportadas em aplicações da Plataforma Universal do Windows
Alternativas para APIs do Windows Alternativas às APIs Windows em aplicações da Universal Windows Platform (UWP)

Gerenciamento do tempo de vida do processo

A gestão do tempo de vida do processo, ou ciclo de vida da aplicação, descreve os vários estados de ativação pelos quais uma aplicação da Universal Windows Platform pode transitar. Seu jogo pode ser ativado, suspenso, retomado ou encerrado, e pode transitar por esses estados de várias maneiras.

Gerindo transições de ciclo de vida da aplicação Ciclo de vida do aplicativo
Usar o Microsoft Visual Studio para desencadear transições de aplicações Como desencadear eventos de suspensão, retomada e em segundo plano para aplicações UWP em Visual Studio

Projetando UX de jogos

A génese de um grande jogo é o design inspirado.

Os jogos partilham alguns elementos comuns da interface do utilizador e princípios de design com aplicações; Mas os jogos geralmente têm uma aparência, sensação e objetivo de design únicos para sua experiência de usuário. Os jogos são bem-sucedidos quando o design cuidadoso é aplicado a ambos os aspetos — quando o seu jogo deve usar a UX testada e quando deve divergir e inovar? A tecnologia de apresentação escolhida para o seu jogo — DirectX, XAML, HTML5 ou alguma combinação dos três — influenciará os detalhes da implementação, mas os princípios de design aplicados são amplamente independentes dessa escolha.

Separadamente do UX design, o design de jogabilidade, como level design, pacing, world design e outros aspetos, é uma forma de arte própria, que depende de você e sua equipe, e não é abordada neste guia de desenvolvimento.

Noções básicas e diretrizes de design UWP Projetando aplicativos UWP
Conceber para os estados do ciclo de vida de uma aplicação diretrizes de UX para iniciar, suspender e retomar

Guia de cores e paleta

Seguir uma diretriz de cores consistente em seu jogo melhora a estética, auxilia a navegação e é uma ferramenta poderosa para informar o jogador sobre a funcionalidade de menu e HUD. A coloração consistente de elementos do jogo, como avisos, danos, XP e conquistas, pode levar a uma interface do usuário mais limpa e reduzir a necessidade de rótulos explícitos.

Guia de cores Colorir em Windows 11

Tipografia

O uso adequado da tipografia melhora muitos aspetos do seu jogo, incluindo layout da interface do usuário, navegação, legibilidade, atmosfera, marca e imersão do jogador.

Guia de tipografia Melhores Práticas: Tipografia

Mapa da interface do usuário

Um mapa da interface do usuário é um layout de navegação de jogos e menus expresso como um fluxograma. O mapa da interface do usuário ajuda todas as partes interessadas envolvidas a entender a interface do jogo e os caminhos de navegação, e pode expor possíveis obstáculos e becos sem saída no início do ciclo de desenvolvimento.

Guia de mapa da interface do usuário Melhores Práticas: Mapa da Interface do Usuário

Áudio do jogo

Aqui estão guias e referências para implementar áudio em jogos usando XAudio2, XAPO e Windows Sonic. XAudio2 é uma API de áudio de baixo nível que fornece processamento de sinal e base de mistura para o desenvolvimento de motores de áudio de alto desempenho. A API XAPO permite a criação de objetos de processamento de áudio multiplataforma (XAPO) para utilização no XAudio2 tanto no Windows como na Xbox. O suporte de áudio para Windows Sonic permite-lhe adicionar Dolby Atmos para Home Theater, Dolby Atmos para auscultadores e suporte Windows HRTF ao seu jogo ou aplicação de streaming multimédia.

XAudio2 APIs Guia de programação e referência de API para XAudio2
Crie objetos de processamento de áudio entre plataformas Visão Geral da XAPO
Introdução aos conceitos de áudio Audio para jogos
Visão geral do Windows Sonic Áudio espacial

Direct3D 12

Saiba o que há de novo e diferente no Direct3D 12 (em comparação com o Direct3D 11) e como começar a programar usando o Direct3D 12.

Guia de programação e referência do Direct3D 12 gráficos Direct3D 12
Configurar ambiente de programação Configuração do ambiente de programação Direct3D 12
Como criar um componente básico Criando um componente básico do Direct3D 12
Alterações no Direct3D 12 Alterações importantes migrando do Direct3D 11 para o Direct3D 12
Como portar do Direct3D 11 para o Direct3D 12 Portabilidade do Direct3D 11 para o Direct3D 12
Conceitos de vinculação de recursos (abrangendo descritor, tabela de descritores, heap de descritor e assinatura raiz) Vinculação de recursos no Direct3D 12
Gerenciando memória Gerenciamento de memória no Direct3D 12

Desenvolvimento DirectX

Guias e referências para desenvolvimento de jogos em DirectX.

DirectX para desenvolvimento UWP Programação DirectX
Tutorial: Como criar um jogo UWP DirectX Crie um jogo UWP simples com DirectX
Interação do DirectX com o modelo de aplicativo UWP O objeto do aplicativo e o DirectX
Visão geral e referência do DirectX Gráficos e Jogos DirectX
Fundamentos do DirectX 12 (vídeo) Melhor potência, melhor desempenho: o seu jogo no DirectX 12

DirectX Tool Kit e bibliotecas

O DirectX Tool Kit, a biblioteca de processamento de textura DirectX, a biblioteca de processamento de geometria DirectXMesh, a biblioteca UVAtlas e a biblioteca DirectXMath fornecem textura, malha, sprite e outras funcionalidades utilitárias e classes auxiliares para o desenvolvimento DirectX. Essas bibliotecas podem ajudar a economizar tempo e esforço de desenvolvimento.

Obtenha o DirectX Tool Kit para DirectX 12 DirectXTK 12
Obtenha o DirectX Tool Kit para DirectX 11 DirectXTK
Obter biblioteca de processamento de textura DirectX DirectXTex
Obter a biblioteca de processamento de geometria DirectXMesh DirectXMesh
Obtenha UVAtlas para criar e empacotar atlases de texturas isochart. UVAtlas
Obtenha a biblioteca DirectXMath DirectXMath
Suporte ao Direct3D 12 no DirectXTK (edição do GitHub) Suporte para DirectX 12

Recursos DirectX de parceiros

Aqui está alguma documentação adicional do DirectX criada por parceiros externos.

Nvidia: DX12 Do's e Don'ts (postagem no blog) DX12 Dicas e Proibições, Atualizadas!
Intel: Processamento paralelo com DirectX 3D 12 Processamento paralelo com DirectX 3D 12
Intel: Como implementar um aplicativo multiadaptador explícito usando DirectX 12 Suporte a vários adaptadores no DirectX 12
Intel: white paper colaborativo da Intel, Suzhou Snail e Microsoft Tutorial: Migrando seus aplicativos para o DirectX 12 – Parte 1

Produção

Nesta fase, o seu estúdio está totalmente envolvido e a entrar no ciclo de produção, com trabalho distribuído por toda a sua equipa. Você está polindo, refatorando e estendendo o protótipo para transformá-lo num jogo completo.

Notificações e blocos dinâmicos

Um bloco é a representação do seu jogo no Menu Iniciar. Os mosaicos e as notificações podem despertar o interesse dos jogadores, mesmo quando estes não estão a jogar o seu jogo.

Desenvolvimento de azulejos e emblemas Blocos, selos e notificações
Exemplo ilustrando blocos dinâmicos e notificações Exemplo de notificações
Modelos de mosaico adaptáveis (publicação de blog) Adaptive Tile Templates - Esquema e documentação
Projetando blocos e emblemas Diretrizes para mosaicos e emblemas
Aplicação para Windows 10 destinada ao desenvolvimento interativo de modelos de blocos dinâmicos. Visualizador de Notificações
Extensão do Gerador de Mosaicos UWP para Visual Studio Ferramenta para criar todos os blocos necessários usando uma única imagem
Extensão UWP Tile Generator para Visual Studio (post no blogue) Dicas sobre como usar a ferramenta UWP Tile Generator

Ativar compras de produtos (complementos) na aplicação

Um complemento (produto no aplicativo) é um item suplementar que os jogadores podem comprar no jogo. Os complementos podem ser níveis de jogo, itens ou qualquer outra coisa que seus jogadores possam gostar. Usados adequadamente, os complementos podem fornecer receita enquanto melhoram a experiência de jogo. Você define e publica os complementos do seu jogo por meio do Partner Center e habilita as compras no aplicativo no código do seu jogo.

Complementos duráveis Ativar compras de produtos no aplicativo
Complementos consumíveis Ativar compras de produtos consumíveis no aplicativo
Detalhes e envio do complemento Envíos de complementos
Monitore as vendas de complementos e dados demográficos do seu jogo Relatório de aquisições adicionais

Depuração, otimização de desempenho e monitoramento

Para otimizar o desempenho, pode aproveitar o Modo de Jogo no Windows para proporcionar aos seus jogadores a melhor experiência de jogo possível, aproveitando ao máximo a capacidade do seu hardware atual.

O Windows Performance Toolkit (WPT) consiste em ferramentas de monitorização de desempenho que produzem perfis de desempenho aprofundados dos sistemas operativos e aplicações Windows. Isso é especialmente útil para monitorar o uso da memória e melhorar o desempenho do jogo. O Windows Performance Toolkit está incluído no Windows SDK e no Windows ADK. Este kit de ferramentas consiste em duas ferramentas independentes: Windows Performance Recorder (WPR) e Windows Performance Analyzer (WPA). O ProcDump, que faz parte do Windows Sysinternals, é uma ferramenta de linha de comandos que monitoriza picos de CPU e gera ficheiros de dump durante crashes do jogo.

Teste de desempenho do seu código Planos de teste do Azure
Melhore o desempenho obtendo acesso exclusivo ou prioritário aos recursos de hardware usando APIs do Modo de Jogo Modo de Jogo
Obtenha o Windows Performance Toolkit (WPT) Kit de Ferramentas de Desempenho do Windows
Obtenha o Windows Performance Toolkit (WPT) através do Windows ADK Windows ADK
Obtenha ProcDump ProcDump

Técnicas e conceitos avançados do DirectX

Algumas partes do desenvolvimento do DirectX podem ser nuançadas e complexas. Quando você chegar ao ponto em produção em que precisa se aprofundar nos detalhes do seu mecanismo DirectX ou depurar problemas de desempenho difíceis, os recursos e informações nesta seção podem ajudar.

Ferramenta de ajuste e depuração de desempenho para DirectX 12 no Windows Apresentando PIX no Windows
Guia de programação do Direct3D 12 gráficos Direct3D 12
Combinando DirectX e XAML Interoperabilidade entre DirectX e XAML

Desenvolvimento de conteúdo de alta faixa dinâmica (HDR)

Crie conteúdo de jogo que utilize as capacidades de cor total do HDR.

Saiba como renderizar conteúdo HDR e detetar se a tela atual o suporta Amostra de HDR do Direct3D 12
Criar e configurar uma cor avançada usando DirectX Amostra de renderização de imagem colorida avançada do Direct2D

Globalização e localização

Desenvolva jogos prontos para o mundo para a plataforma Windows e aprenda sobre as funcionalidades internacionais incorporadas nos principais produtos da Microsoft.

Preparar o seu jogo para o mercado global Globalização e localização

Submeter e publicar o seu jogo

Os guias e informações a seguir ajudam a tornar o processo de publicação e envio o mais suave possível.

Publicação

Você usará o Partner Center para publicar e gerenciar seus pacotes de jogos.

Publicação de aplicativos do Partner Center Publicar Windows aplicações
Use o Azure Active Directory (AAD) para adicionar utilizadores à sua conta do Partner Center Criar grupos de clientes
Classificando seu jogo (postagem no blog) já disponível: sistema de classificação etária única para simplificar o envio de aplicativos

Empacotamento e upload

Dividir e agrupar conteúdo para permitir a instalação de streaming Instalação de App Streaming UWP
Crie pacotes opcionais, como conteúdo de jogos DLC Pacotes opcionais e autoria de conjuntos relacionados
Empacote seu jogo UWP Empacotamento de aplicativos
Embalagem do jogo UWP DirectX Empacote o seu jogo UWP DirectX
Empacotando seu jogo como um desenvolvedor 3rd party (postagem do blog) Crie pacotes enviáveis sem acesso à conta de loja do editor
Criando pacotes de aplicativos e pacotes de aplicativos usando o MakeAppx Criar pacotes usando a ferramenta app packager MakeAppx.exe
Assinando seus arquivos digitalmente usando o SignTool Assinar arquivos e verificar assinaturas em arquivos usando o SignTool
Fazer upload e versionamento do seu jogo Carregar pacotes de aplicativos

Políticas e certificação

Não deixe que problemas de certificação atrasem o lançamento do seu jogo. Aqui estão as políticas e os problemas comuns de certificação a ter em conta.

Contrato para Programador de Aplicações da Microsoft Store Contrato para Programador de Aplicações
Políticas para publicar aplicativos na Microsoft Store Políticas da Microsoft Store
Como evitar alguns problemas comuns de certificação de aplicativos Evite falhas comuns de certificação

Manifesto da loja (StoreManifest.xml)

O manifesto da loja (StoreManifest.xml) é um arquivo de configuração opcional que você pode incluir no pacote do aplicativo. O manifesto da loja fornece recursos adicionais que não fazem parte do arquivo AppxManifest.xml. Por exemplo, você pode usar o manifesto da loja para bloquear a instalação do seu jogo se um dispositivo de destino não tiver o nível mínimo de recursos DirectX especificado ou a memória mínima do sistema especificada.

Esquema de manifesto de armazenamento Esquema StoreManifest (Windows 10)

Gestão do ciclo de vida dos jogos

Depois de terminar o desenvolvimento e enviar o seu jogo, não é jogo sobre. Você pode ter terminado o desenvolvimento na versão 1, mas a jornada do seu jogo no mercado está apenas começando. Você vai querer monitorar o uso e os relatórios de erros, responder aos comentários dos usuários e publicar atualizações para o seu jogo.

Análise e promoção do Partner Center

Análise do Partner Center Analise o desempenho do aplicativo
Responder às opiniões dos clientes Responda às opiniões dos clientes
Formas de promover o seu jogo Atraia clientes e promova seus aplicativos

Visual Studio Application Insights

O Visual Studio Application Insights fornece análises de desempenho, telemetria e utilização para o seu jogo publicado. O Application Insights ajuda você a detetar e resolver problemas após o lançamento do jogo, monitorar e melhorar continuamente o uso e entender como os jogadores continuam a interagir com seu jogo. O Application Insights funciona adicionando um SDK à sua aplicação, que envia telemetria para o portal Azure.

Análise de desempenho e uso de aplicativos Visão geral do Application Insights
Azure Monitor Visão geral do Azure Monitor

Soluções de terceiros para análise e promoção

Entenda o comportamento do jogador usando o GameAnalytics GameAnalytics
Conectar seu jogo UWP ao Google Analytics Obtenha Windows SDK para o Google Analytics
Use o Facebook App Installs Ads para promover seu jogo para usuários do Facebook Obtenha Windows SDK para o Facebook
Use o Vungle para adicionar anúncios em vídeo aos seus jogos Descarregue Vungle SDK para Windows

Criação e gerenciamento de atualizações de conteúdo

Para atualizar seu jogo publicado, envie um novo pacote de aplicativo com um número de versão maior. Depois que o pacote passar pelo envio e certificação, ele estará automaticamente disponível para os clientes como uma atualização.

Atualizando e versionando seu jogo Numeração da versão do pacote
Diretrizes de gerenciamento de pacotes de jogos Orientação para o gerenciamento de pacotes de aplicativos

Adicionar o Xbox Live ao teu jogo

O Xbox Live é uma rede de jogos de topo que liga milhões de jogadores em todo o mundo. Os programadores têm acesso a funcionalidades do Xbox Live que podem aumentar organicamente o público do seu jogo, incluindo presença no Xbox Live, Rankings, Cloud Saves, Game Hubs, Clubs, Party Chat, Game DVR e muito mais.

Observação

Se quiser desenvolver títulos com Xbox Live, existem várias opções disponíveis para si. Para informações sobre os vários programas, veja Escolher um programa de desenvolvedor Xbox Live.

Visão geral do Xbox Live Documentação do Xbox Live

Para programadores do Programa de Criadores do Xbox Live

Visão geral Aderir ao Programa de Criadores

Para parceiros geridos e programadores no programa ID@Xbox

Visão geral Como começar com Xbox Live, para Parceiros Geridos
Amostras Exemplos de desenvolvimento de jogos Xbox

Recursos adicionais

Vídeos de grandes conferências como GDC e //build Vídeos de desenvolvimento de jogos