DESENVOLVIMENTO DE JOGOS 2D UTILIZANDO O FRAMEWORK MICROSOFT XNA Emanuel Maués

Preview:

DESCRIPTION

DESENVOLVIMENTO DE JOGOS 2D UTILIZANDO O FRAMEWORK MICROSOFT XNA Emanuel Maués emanuelmaues@gmail.com. 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 Presentation

Citation preview

DESENVOLVIMENTO DE JOGOS 2D UTILIZANDO O FRAMEWORK

MICROSOFT XNA

Emanuel Maués

emanuelmaues@gmail.com

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