3. Introdução
• Aplicações estilo Metro focadas
em Tablet / toque
• Roda em processadores ARM,
Intel, e AMD
• GUI 100% acelerada via
hardware
• Desktop clássico ainda vive
• Se seu PC roda o Windows 7
ele pode rodar o Windows 8
4. • $10B em games por ano
• 145M de jogadores ativos somente nos EUA
• Mais de 50% de todas as „apps‟ são games
• Windows está se espalhando por uma gama maior de
dispositivos
5. Top Questões sobre o Windows 8
• Qual a Diferença entre o Windows 8 o Windows 8 Pro e
o Windows RT?
• WinRT API
• Ainda vai rodar o Battlefield??
• Usar o que? HTML5, XAML, C++, DirectX, Javascript,
C#,…..
• E o Flash??
• E a Top Top Question: E O XNA???
6.
7. Metro style Apps Desktop App
View
XAML HTML / CSS
Controller
C C#
Model
JavaScript HTML C
C++ VB JavaScrip
t C++
WinRT APIs
System Services
Communication Graphics & Devices &
& Data Media Printing
Application Model Internet
Explorer
Win32
Kern
Windows Kernel Services
el
8. Game Components Típicos
Seu Jogo
Game Local Connected
Graphics Audio Cut Scenes Tools
Input Services Services
Activatio Compiler
3-D Touch Sound FX Streaming User ID
n s
Distributi Debugger
2-D, Text Sensors Music Effects Storage
on s
Game Search & Asset
UI
Controlle Settings Roaming Processo
Controls
rs … rs
20. {{
DisplayOrientations::None; // Habilita a rotação pelo S.O./Acelerômetro
DisplayOrientations::Landscape; // Trava a rotação pelo S.O./Acelerômetro
DisplayOrientations::LandscapeFlipped; // E habilita esta orientação
DisplayOrientations::Portrait;
DisplayOrientations::PortraitFlipped;
}
using namespace Windows::Graphics::Display;
DisplayProperties::AutoRotationPreferences = DisplayOrientations::Landscape
| DisplayOrientations::LandscapeFlipped;
27. // Setas ou WASD
auto upKeyState = window->GetKeyAsyncState(VirtualKey::Up);
auto wKeyState = window->GetAsyncKeyState(VirtualKey::W);
if (upKeyState & CoreVirtualKeyStates::Down ||
wKeyState & CoreVirtualKeyStates::Down)
{
m_playerPosition.y += 1.0f;
}
28. if ( m_xinputState.Gamepad.wButtons & XINPUT_GAMEPAD_A )
{
m_aButtonWasPressed = true;
}
else if ( m_aButtonWasPressed )
{
m_aButtonWasPressed = false; // Dispare uma vez, quando soltar o botão
TriggerSoundEffect();
}
29.
30.
31. // Cria o XAudio2 engine e o mastering voice na placa de audio default
// Carrega todo o audio e efeitos em memória
new
// Cria um único source voice para o som
// Dispara o som: enfileira na memória da placa e deixa pronto para tocar…
32.
33. • Opções para Servidor
• WNS, ASP, WCF, Azure
• WebSockets – agora é um web standard o/
• Opções para Cliente
• IPv4 TCP/UDP
• IPv6 – é o futuro!
• Cenários
• Nuvem, peer to peer, etc.
• Melhores Práticas
41. • Interoperável com o DirectX
• <SwapChainBackgroundPanel>
• <ImageBrush ImageSource=[DXGI Surface]>
42.
43.
44.
45. José Antonio “jalf” Leal de Farias
Microsoft Most Valuable Professional
jalf@sharpgames.net
www.sharpgames.net
www.stairs.com.br
Twitter: @sharpgames