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 Apresentando o XNA Objetivos Motivações 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ÇÃO Objetivos
Introdução Objetivos Demonstrar as motivações para utilizar essa ferramenta Demonstrar o que o XNA é Demonstrar o que o XNA pode fazer por você
Introdução Objetivos Dar os primeiros passos na utilização do framework para desenvolvimento de jogos
Introdução Objetivos Demonstrar como os próximos passos os quais podem ser dados para o desenvolvimento de jogos
Introdução Objetivos Demonstrar alguns casos de sucesso
INTRODUÇÃO Motivações
Introdução Motivações Crescimento do desenvolvimento independente
Introdução Motivações Distribuição de conteúdo online por “qualquer” pessoa
Introdução Motivações Percepção das vantagens do videogame sobre outras mídias
Introdução Motivações Competições de desenvolvimento de games
Introdução Motivações Incentivos nacionais
Apresentando o XNA Definição
Apresentando o XNA Definição É um conjunto de ferramentas (um framework) o qual permite desenvolver, compilar e executar jogos
Apresentando o XNA Definição O problema O desenvolvimento de games estando limitado às grandes empresas
Apresentando o XNA Definição Soluções baratas, perfeitas para neófitos, porém complexas demais
Apresentando o XNA Definição Ferramentas robustas, porém caras demais
Apresentando o XNA Definição A Solução Liberdade para desenvolver sem qualquer encargo (exceto para Xbox)
Apresentando o XNA Definição Abstrai conceitos enjoativos do desenvolvimento (threads)
Apresentando o XNA Definição IDE “gratuita” Facilidade de desenvolvimento
Apresentando o XNA Histórico 2004 Microsoft anuncia o lançamento do XNA 1.0 durante Game Developers Conference 2009
Apresentando o XNA Histórico “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 XNA Histórico
Apresentando o XNA Histórico 2006 Em uma apresentação no Gamefest, é lançado o XNA Game Studio Express
Apresentando o XNA Histórico 2007 Novamente no Gamefest, é anunciado o XNA 2.0
Apresentando o XNA Histórico 2008 Surge a versão 3.0 do XNA
Apresentando o XNA Histórico 2009 É lançada a versão XNA 3.1
PREPARANDO O AMBIENTE DE DESENVOLVIMENTO Requisitos Mínimos
PREPARANDO O AMBIENTE Requisitos Mínimos Microsoft Visual C# Express & Microsoft XNA Framework XNA Game Studio Express
PREPARANDO O AMBIENTE DE DESENVOLVIMENTO Requisitos Opcionais
PREPARANDO O AMBIENTE Requisitos Opcionais Ferramentas de edição de imagens
PREPARANDO O AMBIENTE Requisitos Opcionais Ferramentas de edição sonora
PREPARANDO O AMBIENTE Requisitos Opcionais Ferramentas de edição de vídeo
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
O quê XNA pode fazer por você Mecânica Ciclo de Vida de um GameComponent
O quê XNA pode fazer por você Mecânica Drawable GameComponent 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 Ciclo de Vida de um DrawableGameComponent
O quê XNA pode fazer por você Mecânica GameComponent Collection Uma classe que agrupa em um array várias instâncias da classe GameComponent ou Drawable GameComponent 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 TotalEllapsedGameTime : TimeSpan TotalEllapsedRealTime: TimeSpan
O quê XNA pode fazer por você Gráficos
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 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
O quê XNA pode fazer por você Interação do Jogador 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
EXEMPLOS DE JOGOS DESENVOLVIDOS Projeto Hydra
EXEMPLOS DE JOGOS DESENVOLVIDOS getPong
EXEMPLOS DE JOGOS DESENVOLVIDOS Platformer 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