Existe um livro muito bom chamado J2ME Game Programming (primeira edição).

Capa do livro
Escrito por Martin J. Wells, o livro é bem completo e explica em detalhes como programar celulares utilizando Java. Além disso, é uma excelente fonte de técnicas para programar jogos 2d (incluindo trigonometria, cenários, raycasting, isometria e uma infinidade de temas interessantes que podem ser aplicados para outros ambientes…).
O livro pode ser adquirido através da Amazon (apenas em inglês).
Apesar de ser um bom livro, possui algumas desvantagens tais como revisão mal finalizada e humor excessivo em alguns pontos, mas que não alteram o valor do conteúdo do livro.
Atualmente ele possui duas edições: a segunda edição é a mais atual (voltada para o MIDP 2.0 e a primeira para o 1.0.
Bons estudos.
November 30th, 2008
Hoje venho falar de um assunto muito importante: foco.
Foco é de extrema importância na vida (seja na execução de um trabalho difícil, nos estudos ou paciência para persistir) e principalmente para quem está estudando programação de jogos.
Um exemplo que aconteceu comigo: antigamente eu pesquisava diversos tutoriais sobre programação de jogos em geral (sobre diversas linguagens e tecnologias), dava uma lida por cima e guardava comigo.
Isto acabou me ajudando ??? Sim e não…
Sim pois acabei juntando uma boa biblioteca pra pesquisar e que me ajuda a resolver alguns problemas que eu possa ter no futuro.
Não pois sinceramente não “aprendi direito” deste jeito. O simples fato de ficar “apenas na pesquisa” não me deu o tempo necessário pra praticar. Resultado: não dá pra abraçar o mundo, é melhor focar em algo (quando estamos aprendendo) do que querer ver e fazer tudo o que tem de novo, interessante, etc.
Então baseado no que eu passei, segue abaixo algumas dicas para você ter foco e não se perder nessa longa caminhada:
- faça um objetivo por vez (lembre-se que o conhecimento se constrói em cima de conhecimento, logo existem temas que você estuda que dependem do conhecimento e domínio prévio de outros temas, aprenda a detectar isto e corra atrás…);
- faça uma lista do que você precisa estudar (vou dar um exemplo mais abaixo de uma lista que estou utilizando) e foque um assunto por vez, dedique alguns dias & semanas para cada assunto e você verá seus conhecimentos evoluindo;
- Se quiser aprender a fazer jogos pra web, aprenda flash ou silverlight mas não os dois… Quer aprender a fazer jogos 3d com alguma API? Foque ou no OpenGL ou no Direct 3d (mas não nos dois (pegaram o espirito…). Quer aprender alguma linguagem? Escolha uma e foque sua energia nela;
- Mais uma vez: conhecimento se constrói em cima de conhecimento. Para se ter conhecimento deve se ter uma base sólida que você consegue estudando e focando (no início). Depois fica mais fácil passar este conhecimento para outros ambientes;
- Ouvir músicas que não distraem muito ajudam na hora de concentrar e focar no problema em mãos.
- Façam exercicios: ajuda a manter o corpo e o cérebro saudáveis facilitando a resolução de problemas difícieis e a capacidade de concentração (para focar é claro).
Mais um exemplo: no item dois comentei a respeito de fazer uma listagem de coisas a fazer e a estudar, atualmente possuo um rascunho do que eu estou fazendo (pode não ser a lista mais completa, mas me ajuda a saber o que eu quero, o que preciso focar, o que ja sei, etc…).
- C++
- templates
- classes (incluindo construtores, de cópia e destrutores)
- namespaces
- ponteiros e referências
- sobrecarga de operadores
- herança
- polimorfismo
- STL
- friends
- game loop
- controle de fps
- sprites
- tiles
- background scrolling
- menu básico
- detecção de colisão
- boudingbox (plane exclusion)
- esfera
- triângulo
- intersecção entre dois segmentos de reta
- matemática
- seno & coseno
- tabelas lookup
- vetores
- matrizes
- matemática de ponto fixo
- geometria
- algebra linear
- fisica
- gravidade
- velocidade linear (um pouco mais complicado do que parece)
- friccao
- balistica
- leis de newton
- network
- ai
- pathfinding
Quando digo por exemplo para focar em uma tecnologia & ambiente é porque com o passar do tempo de estudo você já terá uma certa familiaridade com ele e não perderá mais tempo fazendo inicializações, enfrentando problemas diversos de adaptação. Com isso conforme for estudando novos assuntos, poderá facilmente aplicá-los na sua base ja existente (acelerando o aprendizado e permitindo que você foque no novo material).
É claro, a maioria das técnicas aprendidas (incluindo as mais avançadas que você só aprendeu por persistir e ter foco) podem ser aplicadas em outras ocasiões e ambientes (então o fato de você focar em um ambiente trouxe vantagens ao invés de desvantagens, pois permite uma adaptação mais rápida para novos ambientes e conceitos).
Conclusão
O que eu quis mostrar aqui é que a falta de foco pode atrapalhar bastante nos estudos. No geral é melhor ter um pássaro na mão do que dois voando.
Sintam-se a vontade para ler e deixar suas dicas também.
November 13th, 2008
Aproveitando a “folga”, segue mais dois jogos 3d desenvolvidos com a biblioteca Allegro:

Rays: um pequeno jogo de labirinto com uma engine Ray Casting. Possui duas fases. Algo no estilo: “ache a saida do labirinto”. Acompanha código fonte. Baixe agora

Y E T A N O T H E R S H O O T E R: jogo estilo galaga em 3d. Bacana. Acompanha código fonte. Baixe agora
Até.
October 8th, 2007