Desenvolvimento de Jogos em Java

9.171 visualizações

Publicada em

Apresentação sobre desenvolvimento de jogos e como desenvolver um Breakout básico.

Publicada em: Tecnologia
1 comentário
2 gostaram
Estatísticas
Notas
  • Tentei o link do slide 24 e não deu certo, vc poderia me ajudar?
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
Sem downloads
Visualizações
Visualizações totais
9.171
No SlideShare
0
A partir de incorporações
0
Número de incorporações
20
Ações
Compartilhamentos
0
Downloads
289
Comentários
1
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento de Jogos em Java

  1. 1. DESENVOLVIMENTODE JOGOS COM JAVA Bruno Croci - http://bruno.croci.me/
  2. 2. Bruno Croci● Estudante de SI;● desenvolvedor de jogos na HIVE;● trabalha com programação de jogos há mais de dois anos;● desenvolve e estuda joguinhos há quase dez anos;● curte metal m/. ● http://crocidb.com/blog ● http://bruno.croci.me/ ● @CrociDB ● bruno@croci.me
  3. 3. Desenvolvimento de Jogos● Atividade multidisciplinar ○ Programador ○ Artista ○ Designer ○ Escritor ○ Roteirista ○ Produtor ○ Testador ○ Músico ○ Engenheiro de Som ○ ...
  4. 4. PROGRAMADOR ARTISTA DESIGNER
  5. 5. ● Antigamente os jogos eram feitos por uma única pessoa.● O Programador era resonsável por desenvolver, implementar os gráficos e sons depois de, claro, ter a ideia.
  6. 6. ● Livro sobre game design de 1984 do Chris Crowford;● conta algumas histórias sobre o desenvolvimento de alguns de seus jogos;● explica bem o workflow de desenvolvimento da época;● nova edição (2011) para kindle com comentários atuais do autor sobre suas ideias.
  7. 7. ● Análise da plataforma do Atari 2600;● demonstra a dificuldade que era desenvolver para essa plataforma;● um bom histórico da evolução dos jogos (e do desenvolvimento).
  8. 8. ● Mas ainda hoje há bons jogos sendo produzidos por uma única pessoa ou pequenas equipes;● compartilhamento de assets pela internet;● compra de assets;● contratação de freelancers;
  9. 9. Braid Super Meat Boy
  10. 10. Estágios do Desenvolvimento● Ideia● Conceitos e Definições● Prototipação● Produção● Publicação
  11. 11. Ideia Mais um Clone deBreakout
  12. 12. Breakout / Arkanoid● Primeiro Breakout foi implementado por Steve Wozniak para a Atari, em 1976!● O conceito e a ideia, entretando, foi feito por Nolan Bushnell, fundador da Atari.● Embora o jogo tivesse sido criado para arcade, ele foi portado para os console posteriores da Atari.● Arkanoid é um jogo que implementa a mesma jogabilidade do Breakout e foi desenvolvido por uma empresa japonesa em 1986 para Arcade.
  13. 13. ● Tratado completo sobre desenvolvimento de jogos; ● fala desde a fase de ideias até a fase de publicação; ● indicado para todos● Mostra o que é que trabalham com diversão e jogos como ela é aplicada em jogos; ● Principal livro sobre● texto bem game design humorado e de atualmente; fácil ● cobre todos os compreensão; aspectos do● clássico da área design de jogos, de jogos. desde princípios psicológicos, sem ser muito teórico.
  14. 14. Conceito
  15. 15. Bola● É movida automaticamente● Rebate ○ Paredes laterais ○ Teto ○ Raquete ○ Tijolos
  16. 16. Raquete● Movimento lateral de acordo com a entrada do usuário● Não pode ultrapassar as paredes laterais
  17. 17. Tijolos● Não têm movimento● Ficam dispostos no cenário● Ao serem tocados pela bola são destruídos
  18. 18. Game● Finaliza quando: ○ O jogador quebra todos os tijolos com a bola. Neste caso o jogador ganha. ○ Todas as bolas do jogador foram disperdiçadas, resultando em derrota.● O jogador tem 3 bolas. Quando uma bola cai no buraco, outra é usada.
  19. 19. Prototipação● Testes de ○ mecânica de jogo; ○ plataforma; ○ métodos de entrada; ○ etc.
  20. 20. Artehttp://crocidb.com/files/java-game/assets.zip
  21. 21. Desenvolvimento● Plataforma ○ Desktop ○ Android?● Linguagem de Programação ○ Java● Kit de Desenvolvimento ○ libGDX
  22. 22. Por que Java?● Todos vocês sabem (?)● Multi-plataforma● Java não é muito usada para jogos: ○ todas as grandes engines de jogos são escritas em C/C++; ○ não tem suporte em consoles; ○ performance muitas vezes demanda acesso direto ao hardware; ○ no mundo independente é um pouco diferente.
  23. 23. Por que libGDX?● roda em Desktop e Android;● exporta para HTML5;● usa OpenGL ES, ou seja, tem aceleração por hardware;● suporte a 2D e 3D;● biblioteca de física embutida;● serialização por json;● ferramenta de criação de projeto simples;● editor de partículas;● código aberto;● etc.
  24. 24. Downloadhttp://code.google.com/p/libgdx/downloads/list Última versão: 0.9.6 http://code.google.com/p/libgdx/downloads/detail?name=libgdx-0.9.6.zip&can=2&q=
  25. 25. Criando um Projeto gdx-setup-ui.jar
  26. 26. Esqueleto da aplicação● create - é executado quando o jogo é iniciado;● dispose - é executado quando a aplicação é fechada;● render - é executado a cada frame do jogo (loop principal);● resize - é executado quando a janela é redimensionada (ou quando muda a direção no aparelho);● pause/resume - é executado quando a tecla home do aparelho é pressionada e quando o foco volta ao aplicativo respectivamente.
  27. 27. Loop Principal
  28. 28. Problemas & Melhoras● implementar física mais realista;● melhorar colisão (há vários bugs quando a bola bate no tijolo ou na raquete);● implementar sistema de pontos/tempo e número de bolas;● implementar tela de menu;● colocar sons;● gráficos mais bonitos;● sistema de fases com vários níveis de dificuldade;● etc.
  29. 29. Publicação● Desktop ou Applet: ○ Gerar um arquivo JAR ○ Distribuir o jogo em sites de jogos gratuitos como o GameJolt.● HTML5: ○ Vários sites de jogos com suporte a HTML5: Kongregate, HTML5Gamer.net, HTML5Games. com, etc.● Android: Colocar no Google Play● Criar um site para o jogo● Divulgar em fóruns de jogos e comunidades em redes sociais.
  30. 30. Projeto● Código-fonte: ○ https://github.com/CrociDB/breakout-java-workshop● Slides: ○ http://crocidb.com/files/java-game/slides.pdf● Jogo: ○ http://crocidb.com/files/java-game/breakout.jar
  31. 31. ● http://crocidb.com/blog● http://bruno.croci.me/● @CrociDB● bruno@croci.me

×