tdc 2013 sp | trilha games: acelerando games middleware
TRANSCRIPT
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
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
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.