Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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, os jogos baseados em UWP não são mais aceitos na Loja Xbox.
Este guia fornece uma coleção completa dos recursos e informações de que você precisará para desenvolver um jogo da Plataforma Universal do Windows (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 do 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 você é novo no desenvolvimento de jogos no Windows, o guia Introdução pode estar onde você deseja começar. 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 para saber quando você começa a desenvolver 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 ampla do que está disponível, aqui estão os principais portais de documentação para o desenvolvimento de jogos para Windows.
| Portal principal do Centro de Desenvolvimento do Windows | Centro de Desenvolvimento do Windows |
| Desenvolvendo aplicativos do Windows | Desenvolver aplicativos do Windows |
| Desenvolvimento de aplicativos da Plataforma Universal do Windows | 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 | Crie e dimensione seus jogos usando o 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 para Windows. Uma conta de programador permite-lhe reservar o nome do seu jogo e enviar 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 de desenvolvedor para ajudá-lo a desenvolver e publicar jogos do 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
Há muitos exemplos de jogos e aplicativos do Windows disponíveis para ajudá-lo a entender os recursos de jogos do Windows e começar rapidamente o 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. Você também pode assistir repositórios do GitHub para ser notificado sobre alterações e adições.
| Aplicativos de exemplo da Plataforma Universal do Windows | Exemplos universais do Windows |
| 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 do Windows (MSDN Code Gallery) | 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 | Desenvolvendo aplicativos da Plataforma Universal do Windows |
| Fóruns de desenvolvedores de aplicativos de desktop | fóruns de aplicativos da área de trabalho do Windows |
| Jogos DirectX da Microsoft Store (postagens arquivadas no fórum) | Criando jogos da Microsoft Store com DirectX (arquivado) |
| Fóruns de programadores parceiros geridos do 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.
| Criando aplicativos para Windows (blog) | Criando aplicativos para Windows |
| Windows 10 (postagens de blog) | Posts no Windows 10 |
| Blog da equipe de engenharia do Visual Studio | Blog do Visual Studio |
| Blogs de ferramentas de desenvolvedor 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 de Implementação Universal de Aplicações Windows | 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 do 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 utilização total do hardware GPU moderno em PCs 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 você for um programador experiente e confiável de API para desktop do Windows, com raízes no Win32, então continuará a ter essa opção para o seu jogo no 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 do usuário, 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 do Windows podem usar HTML5 como uma camada de apresentação completa com os recursos familiares de HTML, acesso à Plataforma Universal do Windows e suporte para recursos modernos da Web, como AppCache, Web Workers, canvas, arrastar e soltar, 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. O C++/WinRT facilita o uso de todos os ótimos recursos de jogos do 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 Tempo de Execução do Windows para combinar idiomas
Com a Plataforma Universal do Windows, é fácil combinar componentes escritos em diferentes idiomas. Crie componentes do Tempo de Execução do Windows em C++, C# ou Visual Basic e chame-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 Tempo de Execução do Windows | componentes do Tempo de Execução do Windows com 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 utilização total do hardware GPU moderno em PCs 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 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 de back-end completa para jogos ao vivo e uma maneira poderosa para 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 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 |
| Solução de problemas de referências de assembly ausentes relacionadas a APIs do .NET | APIs .NET ausentes no Unity e UWP |
| Publique seu jogo Unity como um aplicativo da Plataforma Universal do Windows (vídeo) | Como publicar seu jogo Unity como um aplicativo UWP |
| Use o Unity para criar jogos e aplicativos do Windows (vídeo) | Criando jogos e aplicativos do Windows com Unity |
| Desenvolvimento de jogos Unity usando Visual Studio (série de vídeos) | Usando o Unity com o 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 oferece suporte oficial à 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 | Motor irreal |
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. Em sua essência, seu jogo é um aplicativo da Plataforma Universal do Windows, então é por aí que você vai começar.
Introdução à Plataforma Universal do Windows (UWP)
A Plataforma Universal do Windows (UWP) fornece uma plataforma de API comum em todos os dispositivos Windows. Os jogos que visam a UWP podem chamar APIs do WinRT que são comuns a todos os dispositivos. Como a UWP fornece camadas de API garantidas, você pode optar por criar um único pacote de aplicativo que será instalado em dispositivos Windows. E se você quiser, seu jogo ainda pode chamar APIs (incluindo algumas APIs clássicas do Windows do Win32 e .NET) que são específicas para os dispositivos em que o jogo é executado.
A seguir estão excelentes guias que discutem os aplicativos da Plataforma Universal do Windows em detalhes e são recomendados para ajudá-lo a entender a plataforma.
| Introdução aos aplicativos da Plataforma Universal do Windows | O que é um aplicativo da Plataforma Universal do Windows? |
Introdução ao desenvolvimento UWP
Configurar e preparar-se para desenvolver um aplicativo da Plataforma Universal do Windows é rápido e fácil. Os guias a seguir guiam você pelo processo passo a passo.
| Introdução ao desenvolvimento UWP | Introdução aos aplicativos do Windows |
| Preparação para o desenvolvimento na UWP | Prepare-se |
Se você é um iniciante absoluto em programação UWP e está considerando usar XAML em seu jogo (consulte Escolhendo sua tecnologia gráfica e linguagem de programação), a série de vídeos de desenvolvimento do Windows 10 para iniciantes absolutos é um bom lugar para começar.
| Anunciando a série de iniciantes absolutos do Windows 10 usando XAML (postagem de blog) | desenvolvimento do Windows 10 para iniciantes absolutos |
Conceitos de desenvolvimento UWP
| Visão geral do desenvolvimento de aplicativos da Plataforma Universal do Windows | Desenvolver aplicativos do Windows |
| Visão geral da programação de rede na UWP | Redes e serviços Web |
| Usando 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 da Área de Trabalho do 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 do Tempo de Execução do Windows para APIs Win32 e 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 do Windows em aplicativos da Plataforma Universal do Windows (UWP) |
Gerenciamento do tempo de vida do processo
O gerenciamento do tempo de vida do processo, ou ciclo de vida do aplicativo, descreve os vários estados de ativação pelos quais um aplicativo da Plataforma Universal do Windows pode fazer a transição. 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 |
| Usando o Microsoft Visual Studio para disparar transições de aplicativos | Como disparar eventos de suspensão, retomada e em segundo plano para aplicativos UWP no 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 | Cor no 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 uso no XAudio2 no Windows e no Xbox. O suporte de áudio do 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 de 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 (questã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 Windows 10 para desenvolver interativamente modelos de mosaico dinâmico | Visualizador de Notificações |
| Extensão UWP Tile Generator para Visual Studio | Ferramenta para criar todos os blocos necessários usando uma única imagem |
| Extensão UWP Tile Generator para Visual Studio (postagem de blog) | 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 de adicionais |
Depuração, otimização de desempenho e monitoramento
Para otimizar o desempenho, você pode aproveitar o Modo de Jogo no Windows para fornecer aos seus jogadores a melhor experiência de jogo possível, utilizando totalmente a capacidade de seu hardware atual.
O Kit de Ferramentas de Desempenho do Windows (WPT) consiste em ferramentas de monitoramento de desempenho que produzem perfis de desempenho detalhados de sistemas operacionais e aplicativos Windows. Isso é especialmente útil para monitorar o uso da memória e melhorar o desempenho do jogo. O Kit de Ferramentas de Desempenho do Windows está incluído no SDK do Windows e no Windows ADK. Este kit de ferramentas consiste em duas ferramentas independentes: Windows Performance Recorder (WPR) e Windows Performance Analyzer (WPA). ProcDump, que faz parte do Windows Sysinternals, é um utilitário de linha de comando que monitora picos de CPU e gera arquivos de despejo durante falhas de jogos.
| 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 Kit de Ferramentas de Desempenho do Windows (WPT) | do Kit de Ferramentas de Desempenho do Windows |
| Obtenha o Kit de Ferramentas de Desempenho do Windows (WPT) 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 o 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 | Exemplo de renderização avançada de imagens coloridas Direct2D |
Globalização e localização
Desenvolva jogos prontos para o mundo para a plataforma Windows e conheça os recursos internacionais incorporados aos 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 aplicativos do Windows |
| Usar o Azure Ative Directory (AAD) para adicionar usuários à 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 do 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 |
Insights de aplicativos do Visual Studio
O Visual Studio Application Insights fornece análise de desempenho, telemetria e uso para 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 ao seu aplicativo, que envia telemetria para o portal do 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 | Obter o SDK do Windows para Google Analytics |
| Use o Facebook App Installs Ads para promover seu jogo para usuários do Facebook | Obter o SDK do Windows para Facebook |
| Use o Vungle para adicionar anúncios em vídeo aos seus jogos | Download 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 seu jogo
O Xbox Live é uma rede de jogos de primeira linha que conecta milhões de jogadores em todo o mundo. Os programadores obtêm acesso a funcionalidades do Xbox Live que podem aumentar organicamente o público dos seus jogos, incluindo a presença no Xbox Live, Tabelas de Líderes, Gravações na Nuvem, Hubs de Jogos, Clubes, Chat de Grupo, DVR de Jogos e muito mais.
Observação
Se você quiser desenvolver títulos habilitados para Xbox Live, há várias opções disponíveis para você. Para obter informações sobre os vários programas, consulte Escolher um programa de programador do Xbox Live.
| Visão geral do Xbox Live | documentação do Xbox Live |
Para programadores no Programa de Criadores do Xbox Live
| Visão geral | Aderir ao Programa de Criadores |
Para parceiros gerenciados e desenvolvedores no programa ID@Xbox
| Visão geral | Introdução ao 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 |