TDC 2013 SP | Trilha Games: Acelerando Games Middleware

Preview:

Citation preview

Acelerando a criação de jogos para o Windows 8 com Middlewares

Caio Chaves Garcez@caiogarcezEspecialista em DesenvolvimentoMicrosoft

IntroduçãoTecnologias Open SourceTecnologias ComerciaisFerramentas

Agenda:

Click icon to add picture

Ampla gama de PCs

3rd party game screenshots

Novas APIs do Windows 8.1User interface

Fundamentals

Devices Graphics and media Communications and data

ServicesGeo-

location

Proximity

Direct3D Direct2D Direct Write

PlayTo

Contracts

Bing

Azure Mobile

HTML5/CSS XAMLInput Controls

Authentication

Bluetooth

USB

HID WiFi direct

Point of service

3Dprinting Scanning

WebGL

HTTP

Contacts

Appoint-ments

PDF

Speech synthesis

Diagnostics

Portable

Sensors Playback Capture

Printing

SVGCanvas

Local storage SMS

Streams Background transfer

Syndication

Networking

XML and JSON

Skydrive

Live tiles and toastAccessibility Data binding

Application services

Threading/timers

Memory management Globalization Cryptography

Xbox Live

Movies & Cut Scenes

Seu jogo

Game Input

Graphics Audio

Direct3D11.2

DirectX Video

PointerPoint PLM

Windows Live, Azure

Connected Services

Local Services

Direct2D

XInput

Sensor API

WASAPI

Windows Store Install

Xbox LIVE

Media Foundatio

nAppData

Contracts

Visual Studio

Asset Viewers

Asset Processors

Tools

Tecnologias usadas em jogos no Windows 8.1

HTML

XAML

XAudio2

Shader Debugging

WiFi Direct

Azure

Recursos para criação de jogos no Windows

Windows 8Direct3D 11.1XAudio2PointerPointMouseLookXInputC++

Windows 8.1Direct3D11.2 Tiled Resources Scalers & Overlays HLSL Shader linker

Pacotes de 8-25GBMulti-monWi-Fi Direct

MiddlewaresMuitas “codebases” usadas em jogos dependem de outros componentes

Estes components middleware são críticos para:Acelerar o desenvolvimento, reduzir os riscos, aumentar a estabilidadeSimplificar o lançamento em múltiplos dispositivos/telas (Desenvolvimento “Cross-Microsoft Platform”)

Há tecnologias open source e comerciais

A Microsoft tem apoiado a comunidade para garantir a compatibilidade destes middlewares com o Windows 8

Tecnologias Open Source

Incorporar binários de bibliotecas pré-compiladasCertifique-se de obter uma versão para Windows 8.1 para uso em apps 8.1

Compilar o código-fonte no seu ambienteAssim você pode testar e ajustar para o cenário do seu jogo

Usando Open Source - Alternativas

A Microsoft procurou reduzir as barreiras de adoçãoSoluções .sln do Visual StudioValidação do uso das APIs do Windows RuntimeExemplos convertidos para projetos da Windows StoreCódigos de UI nos exemplos convertidos para XAMLImplementações passam na certificação & funcionam bem no ARM

Isto permite a você dedicar esforços e energia ao jogo

Contribuições da Microsoft para a Comunidade

Tecnologias Open Source

ANGLE

Box2D

Física de objetos em um plano 2DBalística, colisões, rotação, atrito, junções, restrições, motores, ray-queries, etc. decírculos, retângulos, polígonos, correntes, cordas, etc.

Usado em:Angry Birds, Tiny Wings, Cut The Rope, Crayon Physics Deluxe, Limbo, Rolando, Fantastic Contraption, Incredibots, Transformice, Happy Wheels, Cocos2D, etc.

Box2D

App demo do Box2D

Cena do carro

Windows ClassicWin32 UIOpenGL

Carro rodando em um terreno - Antes

App demo do Box2D

Cena do carro

Windows 8.1XAML UIDirectXPassa na certificação

Carro rodando em um terreno - Depois

Física de objetos 3DBalística, colisões, rotação, atrito, junções, restrições, motores, ray-queries, etc.

Usado em: Hydro Thunder: Hurricane, Trials HD, Halo Spartan Assault

Já tem simulação de tecidos usando DirectCompute e aceleração de GPU há anos

Bullet Physics

Wrapper open source da API OpenGL ES2Facilita a transição do iOS ou AndroidUsado em muitos produtos popularesOriginalmente criado com Direct3D9, Agora atualizado para o Direct3D11 para a Windows StoreRuntime shader compiles funcionam no Windows 8.1http://code.google.com/p/angleproject

ANGLE – Almost Native GL Engine

Angle Asteroids

Engenho popular para jogos baseados em sprites em telefones1000s de jogos já lançados

Funciona no Windows Phone 8, Windows RT, Windows 8, etc.

http://www.cocos2d-x.org

Cocos2D-x

Cocos2D-x

Engenho completo de renderização 3DFuncionalidades de shader para fotorealismoInclui módulo Direct3D nativo desde o início

Usado em: Ankh (Deck13), Torchlight (Runic) e outros

Roda no Windows Phone

OGRE - OO Graphics Rendering Engine

OGRE Screenshots

http://www.ogre3d.org/wp-content/uploads/2012/05/3471006251_l.jpg

SharpDXBindings eficientes de C# para APIs do DirectXAcesso de baixo-nível ao Direct3D para boa performance no C#Inclui input básico, áudio, carregamento de arquivos, etc.

Usando C#?

MonoGameImplementação OSS da especificação completa doXNA 4.0 Microsoft abriu a especificação da API para a comunidade

Usado em Armed, Skulls of the Shogun, Galactic Reign, Bastion, Fez

http://channel9.msdn.com/posts/From-XNA-game-to-Windows-8

Usando C#?

Existem outros projetos open source que você precisa?

Feedback

Comparação das tecnologias open source Box2

DBullet ANGLE Cocos2D-x OGRE SharpD

XMonoGam

e

Interface InputC# XNA

cross

Renderização OpenGL ES2 Sprites 3D C# XNA

cross

Engenho do Jogo

Física2D 3D Box2D

IA

Arte Personagens, objetos

ÁudioC# XNA

cross

Tecnologias Comerciais

Middlewares comerciais

Criamos parcerias para trazer as tecnologias comerciais para a Windows Store

Amplitude de modelos de licenciamentoVocê ganha suporte comercial, alguns incluem o código-fonteA maioria suporta plug-ins customizados, scripting, etc.

Engenhos de jogos

Renderizadores

Física

Serviços de rede

Áudio

Tecnologias Comerciais

Ref 1: Sessão 3-044 do evento BUILD

Tales from the Trenches: Developing “The Harvest” and “Gunpowder” with Unityhttp://channel9.msdn.com/Events/Build/2013/3-044

Ref 2: Evento da Unity sobre Windows 8 em abril:http://channel9.msdn.com/Events/Windows-Camp/Building-Windows-Games-with-Unity

Unity 3D

Autenticação & IdentidadeLista de AmigosStatísticas de jogadores, Leaderboards, AchievementsMatchmaking -Real-time e AssíncronoMultiplayer síncrono (real-time)Suporta o Windows Phone tambémhttp://hydra.agoragames.com/windows

Agora Hydra

Share ContractLink para a página do seu jogo na Store

Windows AzureFácil implementar um serviço básico

Xbox Liveótimo se você já tem um jogo no Xbox

Outras opções de conectividade

Biblioteca popular de físicaAgora inclui o engenho de renderização Vision 3D, destruição, IA, e módulos de tecido

Suporta todo o ecossistema Microsoft

Havok for Windows 8 and Windows Phone 8

Havok

Implementação comerical do OpenGL ES no Direct3D

Inclui um conjunto completo de APIs nativas C++ para jogos

Roda no Windows Phone também

https://www.madewithmarmalade.com/windows8

Marmalade

IDE completa para criação de jogosMarketplace de ativos

http://gamesalad.com/creator/windows-8

Game Salad

Comparação das tecnologias comerciais Unity

(IDE)Agora Hydra

Havok Marmalade Game Salad(IDE)

Interface Input

RenderizaçãoVision OpenGL

ES Sprite

Engenho do Jogo Física3D 3D

IABehaviors

Arte Personagens, objetos

Asset Marketplace

Áudio Asset Marketplace

Rede/Multiplayer

Várias APIs disponíveis no Windows 8/Phone 8Plug-in Unity, suporte ao iOS e Android

Produtos Autodesk

Maya

3D Studio

Ferramentas de Criação de Conteúdo

Os middlewares mais comumente utilizados estão disponíveis para apps Windows 8

Tanto tecnologias open source como comerciais!

Crie seu jogo agora!

Conclusão: O Ecossistema está pronto

Obrigado !

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.