Programação de Jogos Android
Este livro do Edgard Damiani, com quase 700 páginas, é provavelmente o maior já escrito por um autor brasileiro sobre desenvolvimento de jogos. Ele explica conceitos fundamentais de programação de games ensinando, ao mesmo tempo, a criar sua própria game engine (na verdade um framework) para Android. Porém, usando a linguagem Java.
Um dos maiores pontos positivos deste livro, que me impressionou desde a primeira página, é sua organização. Tudo está em uma ordem perfeita, explicando desde como usar a IDE do Eclipse, passando pelos conceitos de programação de jogos, game engines (na verdade um framework), e por fim como publicar seu jogo no Google Play. Como o autor é acadêmico, tudo no livro é muito didático.
Alguns capítulos merecem destaque, como o 20 – Música e efeito sonoros, e o 18 – Sprites. Em ambos muitas dicas legais são apresentadas, além do conceito de cada parte. O capítulo 7 – Loop de jogos e temporização também é interessante, e já falei um pouco sobre isso neste post. Senti falta de um pouco mais sobre física, algo além do que foi apresentado no capítulo 12 – Detecção de colisão, e um pouco mais de coisas específicas do Android.
Mas, o que mais me chamou a atenção é que ele utilizou um jogo como projeto para explicar tudo, da criação do mesmo até a engine (na verdade um framework). E este jogo foi o PONG que, na minha opinião, é um jogo perfeito para ensinar qualquer pessoa a programar games. Eu até fiz este post há um tempo explicando como fazer um PONG com HTML5. Neste ponto, o livro acertou demais.
Porém, existem alguns problemas no livro. Na minha opinião, o maior erro do autor foi ensinar tudo isso usando Java. Eu até entendo por que ele escolheu esta linguagem: Java é muito bom para ensinar programação e também é a linguagem nativa do Android, porém eu não concordo com esta escolha. Hoje em dia, com tantos devices e plataformas diferentes, devemos sempre aprender algo que pode ser reutilizado. Fazer o jogo em Java permite apenas, e com muito trabalho, compilar para desktop. Enquanto que utilizando C++ você pode compilar seu projeto para praticamente qualquer coisa.
Outro ponto incorreto é que o livro não ensina a criar sua própria game engine (por isso adicionei o parênteses no texto), mas sim um framework. O framework que o autor ensina a construir usa como base recursos do Android, o que torna extremamente inflexível. No geral é um livro muito bom para aprender conceitos, porém é uma pena ser limitado a ensinar tudo com Java.
Muito obrigado a Editora Novatec por me enviar este livro para fazer esta review. Você pode comprar este livro e outros no site da Novatec, utilize o código GAMEDEVELOPER para ter desconto na compra!