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.
4. Desenvolvimento de Jogos
● Atividade multidisciplinar
○ Programador
○ Artista
○ Designer
○ Escritor
○ Roteirista
○ Produtor
○ Testador
○ Músico
○ Engenheiro de Som
○ ...
8. ● 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.
9. ● 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.
10. ● 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).
11. ● 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;
16. 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.
17. ● 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.
21. Tijolos
● Não têm movimento
● Ficam dispostos no cenário
● Ao serem tocados pela bola são destruídos
22. 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.
25. Desenvolvimento
● Plataforma
○ Desktop
○ Android?
● Linguagem de Programação
○ Java
● Kit de Desenvolvimento
○ libGDX
26. 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.
27.
28. 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.
33. 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.
36. 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.
37. 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.