Desenvolvimento de Jogos em Java

9.321 visualizações

Publicada em

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

Publicada em: Tecnologia
2 comentários
2 gostaram
Estatísticas
Notas
  • Ótimos slides! Eu pretendo seguir carreira na área de desenvolvimento de jogos e estou tentando me aprimorar na parte de criação de personagens, cenários mas tmb na parte de programação que acho muito interessante!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • 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.321
No SlideShare
0
A partir de incorporações
0
Número de incorporações
20
Ações
Compartilhamentos
0
Downloads
296
Comentários
2
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

×