segunda-feira, 11 de abril de 2011

Documento de Desenho de Jogo

este artigo apresenta uma ideia geral sobre o documento de desenho de jogo. um documento de desenho de jogo eh fundamental no processo de criacao de um jogo. o documento pode ser usado na venda da ideia do jogo pra conquista do financiamento ou incentivo necessario pra custear a producao do jogo e no processo de construcao dele mantendo a coerencia na construcao das diversas partes que compoem o jogo. justamente por ser um documento criado para ser usado durante toda a vida util do jogo eh necessario uma organizacao minima para facilitar o uso por personagens interessados em aspectos diferentes do jogo.

este artigo eh uma proposta de organizacao deste documento. de fato eu tenho ainda pouca pratica na construcao profissional de jogos 'modos q' estas ideias representam o meu ponto de partida. estas ideias compoem um template q sera usado e testado na pratica de agora em diante. versoes futuras deste template agregarao cada vez mais valor ao processo de construcao de jogos, ou assim eu espero.

de forma geral o processo de criacao de um jogo requer a participacao de varios personagens que eu me arrisco a agrupar por papel desempenhado, sendo eles: programadores de baixo nivel, ferramenteiros, game designers, terceiros, clientes e jogadores.

PROGRAMADOR DE BAIXO NIVEL constroi codigo fonte do motor de um jogo, com sua matematica, fisica e funcionalidades basicas. a quantidade de codigo fonte necessario para um jogo existir pode ser drasticamente reduzida com o uso de motores e apis de terceiros. o ideal eh que se escreva o minimo de codigo fonte possivel; quanto menos codigo fonte escrito menor a chance de defeitos no produto final, com a menor equipe e a melhor qualidade tecnica possivel. o jogo em geral deve ser construido por ferramentas de edicao prontas ou construidas pelos ferramenteiros como apresentado a seguir.

FERRAMENTEIRO eh o programador encarregado da escrita do codigo fonte de ferramentas de edicao do jogo. atraves destas ferramentas os game designers programam o motor do jogo para gerar o produto final. editores de mapa, editores de texto, mapeadores de eventos, etc, trazem a edicao das partes do jogo para mais proximo do dominio do problema. ferramentas podem gerar codigo fonte interpretados ou acoplados ao motor do jogo ou arquivo de dados carregados pelo motor do jogo.

TERCEIRO corresponde aos fornecedores de partes do jogo que nao sao construidos pelo produtor do jogo. o documento de desenho do jogo bem escrito se torna neste caso uma garantia de que o produto entregue pelo fornecedor seja coerente com o jogo assim requerendo pouco ou nenhum retoque.

GAME DESIGNER eh o papel desempenhado por todos os profissionais que utilizam as ferramentas para montar o jogo, como profissionais de audio, designers grafico, game masters, etc.

CLIENTE eh o papel desempenhado com frequencia por personagens entre o produtor do jogo e o jogador. em jogos destinados diretamente aos jogadores eh comum a presença de publishers que divulgam e comercializam o jogo no lugar do produtor. em jogos destinados a campanhas publicitarias, como divulgacao de produto, marca, etc, existe a presença do interessado na campanha. qualquer intermediario que precise ser convencido do valor do produto para que ele possa chegar ate o jogador final pode ser classificado como cliente. para convencimento destes clientes do valor do produto em desenvolvimento eh fundamental um documento de desenho de jogo organizado e claro. principalmente se levado em consideracao que boa parte dos personagens que desenvolvem este papel nao tem conhecimento sobre jogos e sim sobre seu negocio; sera preciso conduzir o leitor do documento na formacao da imagem que demonstra o valor do jogo para o negocio dele.

JOGADORES nao sao leitores do documento de desenho do jogo, mas sao o motivo da existencia dele. um documento de desenho de jogo bem escrito garante a extracao do ponto de vista do jogador e o quanto este jogo sera divertido pra ele. o documento de desenho de jogo sera divido em partes mais a frente; cada uma destas partes deve passar informacao da forma mais adequada ao leitor interessado e com detalhes que permitam o leitor se ver como o jogador quando necessario.

eu acredito que uma boa forma de passar a informacao adequada a cada interessado em um unico documento de desenho seja dividir a informacao em tres grupos, conceito, desenho e desenho tecnico. como conceito apresenta-se uma visao geral sobre o jogo, seu genero e aplicacao e seu objetivo, como divulgar um produto, uma marca, simplesmente cativar o jogador, etc. no desenho descreve-se todos os elementos do jogo. nesta secao se apresenta o que eh, onde, com quem e como acontece o jogo. e em desenho tecnico se apresenta toda informacao necessaria para a equipe de desenvolvimento do jogo.

o template atual do documento de desenho do jogo esta divido da seguinte forma:

1. titulo conceitual
2. visao geral
3. genero/aplicacao
4. objetivo
5. descricao o que?desenho
6. eventos
7. cenario onde?
8. personagens com quem?
9. objetos
10. gameplay como?
11. mecanica do jogo tecnico
12. ia
13. cartografia
14. paginas
15. requerimentos de audio

TITULO eh titulo, nada demais.

VISAO GERAL deve resumir o jogo em tres ou quatro paragrafos.

GENERO/APLICACAO diz muito sobre o publico alvo. dependendo do caso apenas informar o genero pode ser suficiente, mas em geral eh bom apresentar um resumo com as possiveis variacoes de genero do jogo, por exemplo um puzzle com caracteristicas de rpg, um adventure com elementos de comedia, etc, e se necessario informacoes sobre a aplicacao do jogo, como educacional, publicidade, etc.

OBJETIVO apresenta pontos que devem ser alcancados para que o jogo atinja o sucesso esperado. ser o unico ou melhor jogo com determinada caracteristica, atrair pessoas para consumo de um servico ou produto, estimular a interacao entre pessoas, difundir ideias ou campanhas, ter n participantes, sao exemplos de objetivos a serem alcancados. objetivos claros ajudam a focar os esforcos da equipe em acoes que levam ao sucesso do jogo.

DESCRICAO completa de alto nivel do jogo. se o jogo possui uma historia ela deve ser contada nesta secao. pode ser explicado como lugares, tarefas, personagens, etc, sao trabalhados pelo jogo a medida em que ele progride. objetivos importantes do jogo e as condicoes e regras para ganhar ou perder, ser compensado ou punido podem ser apresentados nesta secao.

EVENTOS apresenta ao jogador as possibilidades de interecao entre ele e o jogo. podem ser apresentados apenas os eventos mais importantes e suas possibilidades de reacao oferecidas ao jogador. podem ser apresentados tambem graficos que demonstrem como os eventos se relacionam entre si, e tabelas de acoes e calculos de reacoes possiveis para cada evento. por exemplo, num jogo de rpg um evento pode ser entrar em uma nova area, interagir com um npc, usar um item; num jogo de puzzle como um quebra cabecas pode ser clicar em uma peca e clicar na segunda peca, etc.

CENARIO descreve o ambiente do jogo. detalhes que ajudem a compor o ambiente, como epoca, regiao, decoracao podem ser acrescentados. em alguns casos o conceito artistico aplicado ao jogo, como cartoon, 3d, futurista, etc, pode limitar as regras de ambientacao, e por isto devem ser descritos nesta secao.

PERSONAGENS controlados pelo jogador, controlados pelo jogo (NPCs) e qualquer outro personagem importante para o desenvolvimento do jogo devem ser descritos nesta secao. em muitos casos eh necessario descrever a historia, a pensonalidade, o vestuario e outras caracteristicas para garantir a credibilidade de um personagem no resultado final do jogo.

OBJETOS importantes para o desenvolvimento do jogo. isto inclui objetos do cenario, objetos usados pelo jogador, como pocoes, armas, etc e objetos de controle do jogo, como objetos para marcacao de checkpoints, triggers para eventos, etc.

GAMEPLAY refere-se ao conjunto de regras disponiveis para a interacao entre o jogador e o jogo. o gameplay refere-se aos conceitos de mecanica do jogo relevantes ao jogador. os conceitos sao apresentados nesta secao, mas os detalhes de implementacao devem ficar na secao mecanica de jogo. neste ponto eh importante saber que determinada regra existe e como o player interage com ela. sempre que possivel o gameplay deve ser apresentado no formato de progresso do jogo. se possivel anexar graficos, screenshots ou desenhos conceituais sobre a interacao do jogador. por exemplo, um jogo no estilo diablo pode apresentar desenhos conceituais sobre como se usa os elementos da interface, como se interage com os npcs e como se defende e se ataca os inimigos.

MECANICA DO JOGO descreve em detalhes as regras importantes do jogo. pode-se usar graficos e tabelas que auxiliem no entendimento das relacoes entre as regras. por exemplo, um personagem sobe o efeito de congelamento pd quebrar em pedacos se atingido por um dano critico, este tipo de relacao entre regras pd ser apresentado em uma matriz de duas ou tres dimensoes.

IA descreve a inteligencia artificial aplicada aos elementos do jogo.

CARTOGRAFIA apresenta os mapas do jogo. sempre que possivel deve-se apresentar um mapa geral identificando a ligacao entre os mapas do jogo.

PAGINAS de abertura, opcoes, informacoes, pontuacao, creditos, etc, e a navegacao entre elas devem ser descritas nesta secao.

REQUERIMENTOS DE AUDIO, como músicas de fundo, sons de eventos, sons ambientes etc.

organizado desta forma acredito que o leitor eh capaz de se aprofundar no documento segundo o seu grau de interesse nos detalhes do projeto.

quinta-feira, 7 de abril de 2011

tetris em Java

este tetris foi desenvolvido em Java para desktop e eh um estudo de Java 2D. naum eh dos mió, eh mais pros interessados em ver um jogo pequeno escrito na linguagem.


para testar o game eh necessario ter o Java 6 ou mais novo instalado no pc. o download do .jar pode ser feito no site do game.

o codigo fonte esta disponivel em repositorio Subversion. a url de acesso tambem esta disponivel no site do game. para compilar o codigo fonte java eh necessario ter instalado a JDK 6 ou superior.

como esse game foi feito com Java 2D pode-se usar este mesmo codigo fonte na construcao de Java Applet, que eh basicamente um aplicativo Java embutido em uma pagina web. qq tutorialzinho de Java Applet pd ensinar o basico, dae eh so customizar o codigo deste tetris dentro da applet. eu naum fiz, mas sei q eh assim.

desenvolvido em Java 6
fontes:
- fsouza.eti.br

game pintado no Canvas do HTML5

esse game de minhoca foi pintado com JavaScript em cima do canvas do HTML5.
quando a gente fez esse game so o canvas do Google disponivel no Google Chrome dava o desempenho necessario.
hj em dia provavelmente todos os demais canvas devem dar desempenho tb.

vc comeca ou reinicia o game com ENTER; pausa com ESC; e, controla a minhoca com A para esquerda, D para direita, W para cima e S para baixo.

p.s. como as direcionais sao W, A, S e D, e eh mais facil usar estas teclas com a mao esquerda, isso deve ajudar no uso do lado direito do cerebro. (eu acho ?!?!? hehe)



Your browser does not support the canvas element.





desenvolvimento em HTML5 e JavaScript
fontes:
- index.html
- game.js
- bonus.png
- over.png