Uma das coisas que vou publicar futuramente no blog é lista “Top-5” de livros sobre desenvolvimento de jogos. Estou fazendo a divisão por temas, como “Top-5 livros de Game Design”, “Top-5 Game Artbooks”, etc. O objetivo é fornecer uma bibliografia-base para quem pretende se aventurar na área; ajudar quem não sabe por onde começar a estudar (ao menos quando o assunto é livros); responder a famosa dúvida “Qual livro você me indica para estudar gamedev?”.
As listas de livros serão baseadas nos títulos que possuo na minha biblioteca pessoal ou que já li. Pelo que já estou planejando para as listas, serão bem raros os livros que vou citar sem ao menos ter lido parte dos mesmos.
A primeira lista na verdade não será uma Top-5, mas sim uma contendo 10 livros (mais uma de “bônus” – você entenderá o por quê) que foram escritos por autores brasileiros. Após saber que um membro da Unidev está para lançar alguns livros sobre Blitz 3D, resolvi publicar uma lista de livros nacionais que têm uma relação direta ou indireta com o desenvolvimento de jogos. Sei que nessa minha lista não vão estar inclusos todos os livros nacionais da área, mas já é um começo para quem estiver interessado.
Obs. 1: devo confessar que houve um processo de filtragem, isto é, estão listados apenas trabalhos que realmente considero livros (pois já vi alguns “trabalhos” que nada mais são que tradução – mal-feita, por sinal – de material disponível na internet).
Obs. 2: além disso, pode ser algo positivo ou negativo, mas sou bastante crítico para avaliar livros sobre o assunto, pois já li diversos trabalhos de qualidades variadas, do mais fodástico possível (para mim) até o mais cara-de-pau-só-quero-ganhar-dinheiro. O que acho de certa forma negativo é que meu ponto de vista pode ser bem diferente do de alguém que está querendo adquirir seu primeiro livro de gamedev.
Obs. 3: não há nenhuma ordem específica dos livros aqui listados (nada de melhor para pior, mais recente para mais antigo, etc.), eu apenas agrupei os livros por desenvolvimento de jogos, Computação Gráfica, modelagem e trabalhos que focam jogos.
SimulacrON
Luciano Augusto da Silva
Vou comentar melhor sobre esse livro daqui uns dias, pois apesar de ser o primeiro livro sobre game e level design no Brasil, eu comprei um exemplar para mim há poucos dias atrás, diretamente com o autor. Adiantando um pouco, o livro aborda alguns tópicos de game design e conta com capítulos de level design, incluindo a colaboração de Mataleone (famoso pelo mapa CS_Rio).
Ok, para ser chato… O primeiro livro brasileiro sobre desenvolvimento de jogos (e não especificamente game design) que tenho conhecimento é do Fabio Vinicius Binder (pós de jogos da Unicenp), que explica mais a parte gráfica 2D (sprites, animações) e I/O no MS-DOS. Sim, um livro que hoje você só encontra em bibliotecas de faculdades.
Desenvolvimento de Jogos 3D e Aplicações em Realidade Virtual
Eduardo Azevedo (Editor), ISBN: 9788535215694, Editora Campus/Elsevier
Um trabalho diferente dos demais, pois cada capítulo do livro foi escrito por um autor diferente e aborda um assunto específico. É um livro “visão geral” de desenvolvimento de jogos, sem se aprofundar muito em cada assunto. História dos jogos, negócios, level design, character design, áudio, IA com abordagem acadêmica… O leitor aprende de tudo um pouco na teoria. O que percebi que tem como prática é a modelagem de um personagem low-poly (enfoque em max) e algo bem básico de level design e áudio com o 3D GameStudio. O livro acompanha um CD-ROM que contém materia complementar para essa parte prática. Para quem espera por um livro recheado de algoritmos e código vai ficar bem desapontado.
Programação de Jogos com C++ e DirectX
André Santee, ISBN: 8575220640, Editora Novatec
A proposta do livro é interessante: aprenda C++ e depois use o que você aprendeu para criar aplicações visuais usando o DirectX. O livro é dividido nesses dois tópicos, primeiro você aprende C++ e depois aprende DirectX. E é aí que o livro peca, na minha opinião. Há ótimos livros sobre C++ escritos por brasileiros, obras dedicadas exclusivamente a linguagem. Assim, acho que o autor poderia focar exclusivamente na Computação Gráfica com o DirectX, que é mais o seu forte; acho que abordar a criação da sua engine SceneGen seria uma escolha mais feliz. O título do livro também não corresponde 100% ao conteúdo abordado: o capítulo sobre IA tem poucas páginas (não passam de seis), assim como há pouca coisa sobre física e áudio.
Recomendo o livro para quem quiser estudar conceitos de Computação Gráfica/programação 3D (apenas), com exemplos feitos em DirectX e que não tem como objetivo aprofundar-se na matemática e algoritmos de CG.
Desenvolvimento de Jogos Eletrônicos – Teoria e Prática 2ª edição
Alexandre Perucia, Antônio de Berthêm, Guilherme Bertschinger, Roberto R. Castro, ISBN: 9788575221228, Editora Novatec
Os autores do livro são fundadores da Nology (empresa de jogos incubada no Centro de Empreendimentos do Instituto de Informática da UFRGS) e o livro surgiu a partir de um curso de extensão universitária chamado “Desenvolvimento de Jogos Eletrônicos” (UFRGS e PUC-RS). A obra foca exclusivamente no desenvolvimento de jogos 2D e em como foi criada a Nology Game Library. É dividido em três partes: Planejamento de jogos (com capítulos abordando a arquitetura de um jogo e visão geral das empresas de jogos), Programação básica de jogos (gráficos, input, áudio, física básica) e Programação do protótipo (implementação de um protótitpo e a Nology Game Library). Infelizmente, também não há uma abordagem mais profunda sobre Inteligência Artificial (menos de 10 páginas dando uma visão bem simplificada de agentes e algoritmos de busca).
Junto com o livro do Santee, o leitor ganha uma base para se aventurar no desenvolvimento de jogos simples (mas isso não é algo ruim, afinal, começamos de algo simples para então partir pro avançado) tanto em 2D como em 3D.
Computação Gráfica – Teoria e Prática
Eduardo Azevedo, Aura Conci, ISBN: 9788535212525, Editora Campus/Elsevier
Como o livro “Programação de Jogos com C++ e DirectX” não aprofunda na parte teórica/matemática de Computação Gráfica, recomendo a leitura dessa obra. Afinal, a parte que a maioria dos iniciantes considera chata ou difícil é o essencial para entender o que você está fazendo ao usar uma API gráfica (DX, OGL) ou uma engine. Talvez o maior problema nem seja entender a arquitetura de uma API gráfica, mas sim o que acontece por trás das funções que compõem a API. Pense no seguinte: se para programar qualquer coisa o requisito é a lógica de programação (depois aprendemos as sintaxes e particularidades das linguagens), para programação gráfica o requisito é matemática. Para programadores, os assuntos abordados no livro são necessários, enquanto que para artistas acho interessante ter esse conhecimento a mais, pois ajuda em várias ocasiões, embora o artista não precise se focar a fundo na matemática.
OpenGL – Uma Abordagem Prática e Objetiva
Marcelo Cohen, Isabel Harb Manssour, ISBN: 8575220845, Editora Novatec
Não fazemos um jogo apenas usando OpenGL, mas é uma API gráfica que pode ser usada para auxiliar na parte visual do seu jogo. Com o livro da professora Manssour, o leitor tem uma boa referência sobre como criar aplicações visuais com a OpenGL na prática. O livro apresenta breves explicações teóricas para então partir para exemplos práticos em linguagem C (com GLUT). Além do conteúdo básico sobre OpenGL/CG, há um capítulo abordando a OpenGL Shading Language. O código-fonte do livro pode ser baixado do site da editora, que acompanha arquivos auxiliares contendo funções matemáticas e um leitor de arquivos OBJ.
Desenvolvendo Personagens em 3D com 3DS MAX
Alessandro Lima, ISBN: 9788573935578, Editora Ciência Moderna
Não cheguei a ler esse livro (folheei por um tempo numa livraria), então não posso falar muito sobre ele. O que me chamou atenção foi o autor, que trabalhou na South Logic. Ele usa como projeto de criação de personagem seu trabalho “Dead Twice” e aborda temas como concept art e model sheet, modelagem, texturização, câmera, iluminação, render (incluindo VRay) e pós-produção com saída em vídeo. Não sei se é um livro muito focado no 3dsmax; e ao meu ver a ênfase não é modelagem para jogos/real-time.
Modelagem de Personagem para Jogos com 3ds max 8
João Carlos da Silva, Fabio Calciolari Aguiar, ISBN: 8536500964, Editora Érica
O objetivo deste livro é ensinar a modelar um personagem low-poly para jogos, incluindo a parte de texturização e animação, usando o 3dsmax e Character Studio para animação. O primeiro capítulo aborda sobre 3D e engines, mas sem muitos detalhes. Por ser um livro focado em software, minha opinião é que o leitor não tem muita liberdade caso queira aplicar o que o livro ensina em outro software (falando do Character Studio). Há um capítulo sobre 3D GameStudio mas ele chega a ser dispensável, já que em outro capítulo o autor explica como exportar e inserir o personagem na engine Genesis 3D (e não no 3D GameStudio). Particularmente, eu passo esse livro.
Game Over: Jogos Eletrônicos e Violência
Lynn Alves, ISBN: 8574131989, Editora Futura
Esse livro na verdade é um trabalho acadêmico de Lynn Alves, onde ela aborda a questão da violência provocada pelos jogos eletrônicos. Ela tenta responder a pergunta “Os jogadores se tornam violentos devido aos jogos eletrônicos, conforme a mídia sempre associa em casos trágicos?”. O trabalho consistiu de entrevistas e convívio no dia-a-dia de alguns jogadores. Eu sempre fico com um pé atrás nesse tipo de trabalho, afinal, pesquisas sempre possuem margem de erro nas estatísticas e pode haver distorções nos resultados. Mas é bom saber que a academia começou a produzir trabalhos sobre o assunto, falta agora a mídia parar com o sensionalismo e distorção de fatos. O que a maioria dos jogadores e desenvolvedores confirmam sobre violência provocada pela influência de jogos é formalizada neste trabalho.
Artes do Videogame
Jesus de Paula Assis, ISBN: 9788598325514, Alameda Editorial
Outro trabalho acadêmico, mas dessa vez focando em componentes de game design e produção. Eu tive a oportunidade de trabalhar em um jogo com o autor e acabei conhecendo essa obra em sua fase final antes de ser publicada pela editora. Durante a produção do jogo Cozinheiro das Almas (que é citado no livro), eu e o Jesus tivemos nossas diferenças e opiniões que não eram mútuas (diversidade na equipe é bom também), mas devo confessar que apesar dele ser da academia, ele é um jogador hardcore! Ou ao menos conhece e joga vários títulos. Digo isso pois sei que muitos acadêmicos estudam, filosofam e tentam compreender jogos eletrônicos mas sequer chegaram a ficar horas jogando algum título.
O livro é pequeno de tamanho mas recomendo sua leitura, não porque conheço o autor, mas porque o que ele passa na obra ainda não foi muito explorado em nossa literatura. A passagem do livro que talvez tenha me chamado mais atenção foi da relação programador vs designer/artista. Uma sentença resumindo e expondo a verdade.
Programação Windows: C e Win32 API com ênfase em Multimídia
André Kishimoto, ISBN: 8590612910, independente, distribuição eletrônica
Esse é o bônus que citei no começo do post: meu primeiro trabalho na literatura. Um e-book que foca a programação visual Windows usando a linguagem C e a API do próprio sistema operacional. Apesar de não ter uma relação direta com programação de jogos, escrevi esse livro pensando no próximo, em que estou focando em técnicas e algoritmos para jogos. Onde que esse e-book se encaixa? Grande parte dos jogos nativos para Windows usam a API do sistema para o gerenciamento de janelas, I/O, eventos, etc. Além disso, API’s de outros sistemas (Mac OS, Linux, Palm OS) também trabalham com conceitos semelhantes ao Windows; logo, criar uma aplicação nativa de qualquer sistema operacional requer que você entenda a forma que o mesmo trabalha (funções callback, criação de janels, etc). Mesmo para se trabalhar com DirectX você acaba usando a API e nomenclatura do Windows. E a experiência de trabalhar com um conjunto complexo de funções ajuda na hora de você compreender uma engine no futuro.
Para quem usa o 3D GameStudio e quer aprender a programar em lite-C conseguirá aproveitar todo o conteúdo do e-book. Caso você esteja lendo tutoriais e exemplos de lite-C e não compreendeu quase nada ou quer se aprofundar, fica a dica.