desenvolvimento de jogos 2d utilizando o framework microsoft xna emanuel maués
DESCRIPTION
DESENVOLVIMENTO DE JOGOS 2D UTILIZANDO O FRAMEWORK MICROSOFT XNA Emanuel Maués [email protected]. Quem sou eu. Bacharelando em Ciência da Computação pelo Centro Universitário do Pará (CESUPA) Linha de Pesquisa do TCC voltada para o desenvolvimento de jogos utilizando o framework XNA - PowerPoint PPT PresentationTRANSCRIPT
Quem sou eu
Bacharelando em Ciência da Computação pelo Centro Universitário do Pará (CESUPA)
Linha de Pesquisa do TCC voltada para o desenvolvimento de jogos utilizando o framework XNA
Programador Java e C#
Quem sou eu
Pesquisador do Laboratório de Computação Natural do CESUPA (LCN), especificamente na área de desenvolvimento de jogos
Quem sou eu
Colaborador do Núcleo de Educação à Distância do CESUPA (NEAD), atuando como Game Designer
Agenda
Introdução Objetivos Motivações
Apresentando o XNA Definição Histórico Comparativo entre versões
Agenda
Preparando o ambiente de desenvolvimento Requisitos Mínimos
Microsoft Visual Studio Microsoft XNA Framework
Requisitos Opcionais
O quê XNA pode fazer por você Mecânica Interação do Jogador Gráficos
Agenda
Exemplos de jogos desenvolvidos
Casos de Sucesso do XNA
O futuro do XNA
O seu futuro
INTRODUÇÃOObjetivos
Demonstrar as motivações para utilizar essa ferramenta
Demonstrar o que o XNA é
Demonstrar o que o XNA pode fazer por você
IntroduçãoObjetivos
Dar os primeiros passos na utilização do framework para desenvolvimento de jogos
IntroduçãoObjetivos
Demonstrar como os próximos passos os quais podem ser dados para o desenvolvimento de jogos
IntroduçãoObjetivos
IntroduçãoObjetivos
Demonstrar alguns casos de sucesso
INTRODUÇÃOMotivações
IntroduçãoMotivações
Crescimento do desenvolvimento independente
IntroduçãoMotivações
Distribuição de conteúdo online por “qualquer” pessoa
Percepção das vantagens do
videogame sobre outras mídias
IntroduçãoMotivações
Competições de desenvolvimento de games
IntroduçãoMotivações
Incentivos nacionais
IntroduçãoMotivações
Apresentando o XNADefinição
Apresentando o XNADefinição
É um conjunto de ferramentas (um framework) o qual permite desenvolver, compilar e executar jogos
Apresentando o XNADefinição
O problema
O desenvolvimento de games estando limitado às grandes empresas
Soluções baratas, perfeitas para neófitos, porém complexas demais
Apresentando o XNADefinição
Ferramentas robustas, porém caras demais
Apresentando o XNADefinição
A Solução
Liberdade para desenvolver sem qualquer encargo (exceto para Xbox)
Apresentando o XNADefinição
Abstrai conceitos enjoativos do desenvolvimento (threads)
Apresentando o XNADefinição
IDE “gratuita”
Facilidade de desenvolvimento
Apresentando o XNADefinição
Apresentando o XNAHistórico
2004 Microsoft anuncia o
lançamento do XNA 1.0 durante Game Developers Conference 2009
“O coração do XNA é a escolha. Nenhum jogo atual é construído com apenas uma ferramenta, nem qualquer outro jogo futuro será.
Ao criar um ambiente onde as inovações do software florescem e trabalham juntas, o XNA permitirá aos desenvolvedores redefinir o que é possível criar em games e dar aos jogadores a liberdade de buscar seus próprios caminhos.”
J Allard no GDC 2004
Apresentando o XNAHistórico
Apresentando o XNAHistórico
2006 Em uma
apresentação no Gamefest, é lançado o XNA Game Studio Express
Apresentando o XNAHistórico
2007 Novamente no
Gamefest, é anunciado o XNA 2.0
Apresentando o XNAHistórico
2008 Surge a versão
3.0 do XNA
Apresentando o XNAHistórico
2009 É lançada a versão
XNA 3.1
Apresentando o XNAHistórico
PREPARANDO O AMBIENTE DE DESENVOLVIMENTO
Requisitos Mínimos
Microsoft Visual C# Express & Microsoft XNA Framework
PREPARANDO O AMBIENTERequisitos Mínimos
XNA Game Studio Express
PREPARANDO O AMBIENTE DE DESENVOLVIMENTORequisitos Opcionais
Ferramentas de edição de imagens
PREPARANDO O AMBIENTERequisitos Opcionais
Ferramentas de edição sonora
PREPARANDO O AMBIENTERequisitos Opcionais
Ferramentas de edição de vídeo
PREPARANDO O AMBIENTERequisitos Opcionais
O QUÊ XNA PODE FAZER POR VOCÊMecânica
O quê XNA pode fazer por vocêMecânica
GameComponent Uma interface que
serve de modelo para criar componentes lógicos dentro de um jogo
Exemplos: Colisão
Ciclo de Vida de um GameComponent
O quê XNA pode fazer por vocêMecânica
DrawableGameComponent
Uma interface que serve de modelo para criar componentes gráficos dentro de um jogo
Exemplo: sprites, fontes, etc.
O quê XNA pode fazer por vocêMecânica
O quê XNA pode fazer por vocêMecânica
Ciclo de Vida de um DrawableGameComponent
GameComponentCollection
Uma classe que agrupa em um array várias instâncias da classe GameComponent ou DrawableGameComponent
Exemplo: uma nave, um personagem, etc.
O quê XNA pode fazer por vocêMecânica
GameTime Classe responsável por
computar o tempo do jogo
Atributos úteis: EllapsedGameTime :
TimeSpan EllapsedRealTime :
TimeSpan TotalEllapsedGameTim
e : TimeSpan TotalEllapsedRealTime:
TimeSpan
O quê XNA pode fazer por vocêMecânica
O quê XNA pode fazer por vocêGráficos
Rectangle Forma geométrica
multi-uso do XNA
Exemplo de utilização: Frameskip
O quê XNA pode fazer por vocêGráficos
Vector2 Abstrai o conceito de
vetores dentro do XNA
Exemplo de utilização: Balística
O quê XNA pode fazer por vocêGráficos
O quê XNA pode fazer por vocêGráficos
Texture Permite ao usuário
carregar uma textura para dentro do ambiente de desenvolvimento
Exemplo de utilização: Personagens Cenários
O quê XNA pode fazer por vocêGráficos
Color Classe usada para
colorir texturas.
Exemplos de utilização: Transparência Fade-in; Fade-out Colisão pixel-a-pixel
O QUÊ XNA PODE FAZER POR VOCÊInteração do Jogador
O quê XNA pode fazer por vocêInteração do Jogador
Keyboard Classe responsável
por gerenciar todos os métodos e atributos que envolvem o teclado de um computador
Métodos úteis: GetState() :
KeyboardState
KeyboardState Classe que gerencia
a interação do usuário com o teclado.
Métodos úteis: GetPressedKeys() :
Keys[]
IsKeyDown(Keys key) : bool
IsKeyUp(Keys key) : bool
O quê XNA pode fazer por vocêInteração do Jogador
Keys Classe que
representa uma tecla específica do teclado
Atributos úteis: Keys : enum KeyState : bool
O quê XNA pode fazer por vocêInteração do Jogador
GamePad GamePadState GamePadButtons
O quê XNA pode fazer por vocêInteração do Jogador
EXEMPLOS DE JOGOS DESENVOLVIDOSProjeto Hydra
EXEMPLOS DE JOGOS DESENVOLVIDOSgetPong
EXEMPLOS DE JOGOS DESENVOLVIDOSPlatformer Starter Kit
CASOS DE SUCESSO DO XNA
Casos de Sucesso
City Rain Colosseum Megachile Pluto Carneyvale Showtime Dust: An Elysian Tail
O FUTURO DO XNA
O SEU FUTURO