xna para o desenvolvimento de jogos - global game …€¢ como desenvolver para um console com...

21
23/01/2011 1 XNA para o Desenvolvimento de Jogos Vinícius Godoy de Mendonça [email protected] twitter: @ViniGodoy Ponto V! - http://www.pontov.com.br Quem sou eu? Professor dos cursos de pós graduação e graduação tecnológica em Jogos da PUC/PR; Sócio e fundador do portal de desenvolvimento de jogos Ponto V!: www.pontov.com.br Criador do projeto Alegria: http://alegria2d.com Funcionário da Positivo Informática – Tecnologia Educacional Jogador e RPGista há mais de 20 anos

Upload: hatram

Post on 22-May-2018

219 views

Category:

Documents


5 download

TRANSCRIPT

23/01/2011

1

XNA para o

Desenvolvimento de Jogos

Vinícius Godoy de Mendonça

[email protected]: @ViniGodoy

Ponto V! - http://www.pontov.com.br

Quem sou eu?

• Professor dos cursos de pós graduação e graduação tecnológica em Jogos da PUC/PR;

• Sócio e fundador do portal de desenvolvimento de jogos Ponto V!: www.pontov.com.br

• Criador do projeto Alegria: http://alegria2d.com

• Funcionário da Positivo Informática – Tecnologia Educacional

• Jogador e RPGista há mais de 20 anos

23/01/2011

2

O que veremos

• A indústria de jogos digitais;

• A Microsoft no mercado de games;

• Uma breve introdução ao XNA;

– Visão geral;

– Organização do framework;

– Facilidades no desenvolvimento;

– Exemplos.

A indústria de Jogos Digitais

23/01/2011

3

A Indústria de Jogos Digitais

• É uma das mais rentáveis do mundo– Faturamentos de 2007 supera a

indústria de música e cinema juntos.

• Não é coisa de criança– 47% dos chefes de família jogam

– Média de idade de jogadores: 34 anos

– 40% dos jogadores são mulheres

– 42% dos entrevistados jogam jogos em um dispositivo móvel: PDA ou celular

Dados da ESA (“2010 video-game indutry facts”), http://www.theesa.com

A Indústria de Jogos Digitais

• Serious Games (Treinamento e Capacitação)

Oniria – Londrina PR

Softwares para Econorte e Petrobrás

EBTS – Rio de Janeiro e Curitiba

Simuladores para a polícia federal e

para o exército brasileiro

23/01/2011

4

A Indústria de Jogos Digitais

• Educacionais

Positivo Informática

Patrulheiro das Galaxias

PUC/PR e editora FTD

Turma cósmica

• Pesquisa científica

USP – São Carlos

Jogos e mecatrônica

para recuperação

de fraturas

http://bit.ly/FractureAndGames

Positivo – Mesas Educacionais

Jogos, realidade aumentada e

tecnologia multi-toque na

educação

A Indústria de Jogos Digitais

23/01/2011

5

• Advergames

Aquiris – Porto Alegre – RS

Campanhas pra Axe, Casas Bahia, Gillette,

Laka, Embraer e Chevrolet

Continuum – Curitiba PR

Campanhas para MacDonald’s, Onda e

Rede Globo (BBB, Xuxa e os Duendes, no

Limite)

A Indústria de Jogos Digitais

• E claro, jogos de entretenimento

Hoplon – Florianópolis

MMORPG - TaikodomTimewave Games – Florianópolis

Jogo web, publicado em várias línguas e sites.

Alunos da PUC/PR

A Indústria de Jogos Digitais

23/01/2011

6

Mas nem tudo são flores...• Criar jogos demanda conhecimento técnico.

• Acesso aos Kits de desenvolvimento– Restrito– Caro– Complexo

• Desenvolver para qual plataforma?

• Quais as chances de sucesso para quem esta começando?

• Como desenvolver para um console com pouco investimento?

Introdução: Uma solução !

The Harvest 3 Racing Game City Rain

23/01/2011

7

O que é XNA ?

Xna Não é um Acrônimo

Plataformas

23/01/2011

8

• Para desenvolver / jogar no PC– Nenhum!

– Tudo através de ferramentas gratuitas (Visual C# Express Edition, XNA Game Studio e recursos da comunidade).

• Para desenvolver / jogar no Xbox 360.– Licença XNA Creators Club

• US$ 99,00 por ano ou• US$ 49,00 por 4 meses

• Windows Phone 7– Licença XNA Creators Club

• 5 submissões gratuitas;• US$ 19,99 por submissão adicional

Qual o custo disso ?

E os requisitos?

• Para desenvolver:– Windows XP SP2 ou superior– Visual C# 2010 Expresse Edition ou versão Professional– Runtime do DirectX

• Para rodar:– Placa de vídeo compatível com DirectX 9.0 e Shaders 2.0– Runtime do XNA e do DirectX– PC: Windows XP SP2 ou superior– Xbox 360: deve haver HD– Zune e Windows 7: pronto para rodar!

23/01/2011

9

Histórico

• Principal API utilizada pra desenvolvimento de jogos no PC

• Aplicativos desenvolvidos em C++

• Desenvolvimento para Windows

• API construída sobre o DirectX

• Jogos desenvolvidos com linguagens .NET

• Desenvolvimento para plataforma Windows

• API construída utilizando como base o MDX (substituiu o MDX)

• Aplicativos desenvolvidos em C#

• Desenvolvimento para Windows, Xbox 360, Zune e Windows Phone 7

XNA Framework e suas camadas

Jogos

Extended

Framework

Core

Framework

Plataforma

Starter Kits Code Content Components

Application Model Content Pipeline

Graphics Audio Input Math Storage

Direct3D XACT XINPUT XCONTENT

XNA Provê Você cria ComunidadeLegenda:

Network

23/01/2011

10

Jogos

Jogos

Extended

Framework

Core

Framework

Plataforma

Starter Kits Code Content Components

Application Model Content Pipeline

Direct3D XACT XINPUT XCONTENT

Graphics Audio Input Math Storage Network

Starter Kits

Modifique os jogos e crie o seu próprio

23/01/2011

11

Extensões do Framework

Jogos

Extended

Framework

Core

Framework

Plataforma

Starter Kits Code Content Components

Application Model Content Pipeline

Direct3D XACT XINPUT XCONTENT

Graphics Audio Input Math Storage Network

Application Model

Mantenha-se focado no jogo e não em qual

plataforma está rodando

• Faz o serviço chato e trabalhoso para você

• Desenvolvimento acelerado

• Possui recursos avançados

• Extensível

23/01/2011

12

Content Pipeline

• Liberdade de escolha– Ferramentas de criação de conteúdo

– Game engines

• Menos código para a criação– Mais tempo para a criação do jogo

• Forte integração entre código e conteúdo– Build de código e de conteúdo unificados

Content Pipeline

23/01/2011

13

Núcleo

Jogos

Extended

Framework

Core

Framework

Plataforma

Starter Kits Code Content Components

Application Model Content Pipeline

Direct3D XACT XINPUT XCONTENT

Graphics Audio Input Math Storage Network

Graphics

• Fornece recursos de renderização de baixo nível

• Construído em cima do Direct3D 9

• APIs atualizadas que seguem as regras do .NET– Efeitos– Recursos– Lock / Unlock– Vertex streams

• Recursos fornecidos– Model, Mesh e Bones– Textures– Effects e Shaders

23/01/2011

14

• Baseado no XACT (Cross-Platform Audio CreationTool)– Adiciona sons

– Ajusta propriedades

– Construir bancos de sons

• Fácil integração para desenvolvedores– Acesse-os via seus nomes lógicos

– Looping, streaming, e gerenciamento de memória

– Sem gerenciamento de buffer de baixo nível

Audio

• Torna fácil a obtenção de dados de entrada

• Dispositivos– Keyboard– Mouse (apenas para Windows)– Xbox 360 (Gamepad, guitarra, tambores, volantes, etc...)– 2011: Integração com Kinect®

• Modelo de programação imediato– Não demanda inicialização– Não demanda gerenciamento de estados– Basicamente tira uma fotografia dos estados de todos os

botões

Input

23/01/2011

15

Storage

• Fornece um jeito fácil para ler e salvar informações do jogo

• Atua como um sistema de arquivos virtuais– Arquivos armazenados no local correto de cada

plataforma– Suporta múltiplos dispositivos de armazenamento e

perfis no Xbox 360

• Baseado em Streams, o que facilita a integração com o System.IO

Math• Biblioteca de funções matemáticas para jogos

– Vector, Matriz, Quaternion, Plane, AABB, OBB, Sphere, Ray, Frustum, Curve...

– Regra-da-mão-direita por default

– Fácil integração

– Testes de intersecções

– Facilitadores para movimentos

23/01/2011

16

Network

• Conexão entre Xbox 360 e PC

• Conexão local e via LIVE!

• Inclui suporte a LIVE! MatchMaking– Conecta você a pessoas com perfil semelhantes

• A partir da versão 3.1– Ranked matchmaking– Venda de jogos na Live Community!– Conexão de até 8 Zunes em rede ad-hoc

Demos

Skinning & Animation

3D Particles

Distortion

Shatter Effects

23/01/2011

17

É realmente fácil criar jogos com XNA ?

• AbduX

– Jogo completo, feito em 4 dias, por 1 pessoa

– Explora recursos gráficos, sons, input e fontes no XNA além de reconhecimento de voz

É realmente fácil criar jogos com XNA ?

• Dungeon Quest

– Desenvolvido em apenas 4 dias

– Equipe: 1 desenvolvedor e 1 designer

23/01/2011

18

Como funciona um jogo em XNA (Game1.cs)

Initialize() LoadContent() Update()

Draw()UnloadContent()

Game Loop

Término da aplicação

Sistemas de Coordenadas 2D

23/01/2011

19

Screenshots de games em XNA

Screenshots de games em XNA

23/01/2011

20

Screenshots de games em XNA

Screenshots de games em XNA

23/01/2011

21

Considerações Finais

Referências

• Sharp, John. Microsoft Visual C#: Passo a passo (Tradução: Altair Dias Caldas de Moraes). Porto Alegre : Bookman, 2007. 504 p. ISBN 978-85-60031-17-7.

• Ponto V! – http://www.pontov.com.br/site/index.php/xna[acessado em novembro de 2010]

• Kleber Andrade. Curso de XNA. http://kleberandrade.wordpress.com/xna [acessado em abril de 2010].

• Sharp Games. http://www.sharpgames.net[acessado em abril de 2010]

• XNA Developer Center, http://msdn.microsoft.com/xna/[acessado em janeiro de 2011]

• XNA Creators Club, http://creators.xna.com[acessado em janeiro de 2011]