63
DESENVOLVIMENTO DE JOGOS 2D UTILIZANDO O FRAMEWORK MICROSOFT XNA Emanuel Maués [email protected]

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

Embed Size (px)

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 Presentation

Citation preview

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

DESENVOLVIMENTO DE JOGOS 2D UTILIZANDO O FRAMEWORK

MICROSOFT XNA

Emanuel Maués

[email protected]

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

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#

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

Quem sou eu

Pesquisador do Laboratório de Computação Natural do CESUPA (LCN), especificamente na área de desenvolvimento de jogos

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

Quem sou eu

Colaborador do Núcleo de Educação à Distância do CESUPA (NEAD), atuando como Game Designer

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

Agenda

Introdução Objetivos Motivações

Apresentando o XNA Definição Histórico Comparativo entre versões

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

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

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

Agenda

Exemplos de jogos desenvolvidos

Casos de Sucesso do XNA

O futuro do XNA

O seu futuro

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

INTRODUÇÃOObjetivos

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

Demonstrar as motivações para utilizar essa ferramenta

Demonstrar o que o XNA é

Demonstrar o que o XNA pode fazer por você

IntroduçãoObjetivos

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

Dar os primeiros passos na utilização do framework para desenvolvimento de jogos

IntroduçãoObjetivos

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

Demonstrar como os próximos passos os quais podem ser dados para o desenvolvimento de jogos

IntroduçãoObjetivos

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

IntroduçãoObjetivos

Demonstrar alguns casos de sucesso

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

INTRODUÇÃOMotivações

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

IntroduçãoMotivações

Crescimento do desenvolvimento independente

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

IntroduçãoMotivações

Distribuição de conteúdo online por “qualquer” pessoa

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

Percepção das vantagens do

videogame sobre outras mídias

IntroduçãoMotivações

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

Competições de desenvolvimento de games

IntroduçãoMotivações

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

Incentivos nacionais

IntroduçãoMotivações

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

Apresentando o XNADefinição

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

Apresentando o XNADefinição

É um conjunto de ferramentas (um framework) o qual permite desenvolver, compilar e executar jogos

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

Apresentando o XNADefinição

O problema

O desenvolvimento de games estando limitado às grandes empresas

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

Soluções baratas, perfeitas para neófitos, porém complexas demais

Apresentando o XNADefinição

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

Ferramentas robustas, porém caras demais

Apresentando o XNADefinição

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

A Solução

Liberdade para desenvolver sem qualquer encargo (exceto para Xbox)

Apresentando o XNADefinição

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

Abstrai conceitos enjoativos do desenvolvimento (threads)

Apresentando o XNADefinição

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

IDE “gratuita”

Facilidade de desenvolvimento

Apresentando o XNADefinição

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

Apresentando o XNAHistórico

2004 Microsoft anuncia o

lançamento do XNA 1.0 durante Game Developers Conference 2009

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

“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

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

Apresentando o XNAHistórico

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

2006 Em uma

apresentação no Gamefest, é lançado o XNA Game Studio Express

Apresentando o XNAHistórico

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

2007 Novamente no

Gamefest, é anunciado o XNA 2.0

Apresentando o XNAHistórico

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

2008 Surge a versão

3.0 do XNA

Apresentando o XNAHistórico

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

2009 É lançada a versão

XNA 3.1

Apresentando o XNAHistórico

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

PREPARANDO O AMBIENTE DE DESENVOLVIMENTO

Requisitos Mínimos

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

Microsoft Visual C# Express & Microsoft XNA Framework

PREPARANDO O AMBIENTERequisitos Mínimos

XNA Game Studio Express

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

PREPARANDO O AMBIENTE DE DESENVOLVIMENTORequisitos Opcionais

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

Ferramentas de edição de imagens

PREPARANDO O AMBIENTERequisitos Opcionais

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

Ferramentas de edição sonora

PREPARANDO O AMBIENTERequisitos Opcionais

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

Ferramentas de edição de vídeo

PREPARANDO O AMBIENTERequisitos Opcionais

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

O QUÊ XNA PODE FAZER POR VOCÊMecânica

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

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

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

Ciclo de Vida de um GameComponent

O quê XNA pode fazer por vocêMecânica

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

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

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

O quê XNA pode fazer por vocêMecânica

Ciclo de Vida de um DrawableGameComponent

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

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

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

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

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

O quê XNA pode fazer por vocêGráficos

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

Rectangle Forma geométrica

multi-uso do XNA

Exemplo de utilização: Frameskip

O quê XNA pode fazer por vocêGráficos

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

Vector2 Abstrai o conceito de

vetores dentro do XNA

Exemplo de utilização: Balística

O quê XNA pode fazer por vocêGráficos

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

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

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

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

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

O QUÊ XNA PODE FAZER POR VOCÊInteração do Jogador

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

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

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

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

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

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

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

GamePad GamePadState GamePadButtons

O quê XNA pode fazer por vocêInteração do Jogador

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

EXEMPLOS DE JOGOS DESENVOLVIDOSProjeto Hydra

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

EXEMPLOS DE JOGOS DESENVOLVIDOSgetPong

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

EXEMPLOS DE JOGOS DESENVOLVIDOSPlatformer Starter Kit

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

CASOS DE SUCESSO DO XNA

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

Casos de Sucesso

City Rain Colosseum Megachile Pluto Carneyvale Showtime Dust: An Elysian Tail

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

O FUTURO DO XNA

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

O SEU FUTURO