O desenvolvimento de jogos é um tópico que tem captado cada vez mais o interesse na área da informática. Este facto deve-se à crescente massificação dos videojogos na sociedade actual. Os jogos são agora uma das principais funções dos computadores, sendo por vezes, a própria razão pela qual estes são adquiridos.
No entanto, o desenvolvimento de jogos é muitas vezes tido como um passatempo de jovens, que não possui qualquer tipo de futuro, e que não requer muitos conhecimentos. Mas, pelo contrário, a criação de videojogos já deu origem a grandes empresas, sendo o mercado de videojogos, um negócio que movimenta demasiado dinheiro para ser deixado de parte. No entanto, são poucos os que conseguem entrar neste mundo, devido ao elevado grau de dificuldade, quer pelos conhecimentos necessários como pelo constante desenvolvimento das tecnologias. O desenvolvimento de jogos é uma área em expansão, mesmo no nosso país em que, embora pouco divulgados, existem bastantes projectos e várias empresas em funcionamento.
A principal e mais importante característica do desenvolvimento de jogos é que engloba diversas áreas como a programação, artes gráficas, som, e outras que variam de jogo para jogo. Todas estas áreas têm que ser bem coordenadas e associadas, para o jogo se tornar atractivo para o jogador. Um jogo pode ser muito bom graficamente, mas se possuir demasiados bugs, irá perder rapidamente o interesse do jogador, assim como um jogo com gráficos fracos ou um som irritante. Existe também um variado número de actividades externas ao desenvolvimento, mas que também são importantes e contribuem para o sucesso deste. Aqui englobam-se vários pormenores como a distribuição deste por parte de uma editora, ou por conta própria, a campanha de marketing efectuada, as relações estabelecidas com a imprensa, entre outros factores. Neste artigo irei focar a área da programação, que foi a principal área que deu origem aos videojogos.
Para os programadores, existem dois caminhos principais para se iniciar no desenvolvimento de jogos, cada um com as suas vantagens e desvantagens. É possível dedicar-se ao estudo de uma ou várias linguagem de programação, ou dedicar-se à criação de MODs de jogos que disponibilizem ferramentas para este efeito. É também possível dedicar-se a ambos, para beneficiar da experiência dos dois, se tiverem disponibilidade para isso.
Os jogos que mais se destacam pela qualidade de ferramentas e pelo elevado número de MODs são o Half-Life(2), Doom3, Neverwinter Nights, e os jogos baseados no motor Unreal, como o Unreal Tournment, Deus Ex, Postal 2, entre outros jogos conhecidos. Existem também muitos outros jogos que suportam MODs, com o Max Payne 2, TES3: Morrowind, Command and Conquer. Para ter uma melhor ideia sobre o universo da criação de MODs, dêem uma vista de olhos a http://moddb.com/. As ferramentas normalmente disponibilizadas são um editor de níveis e outros aspectos do jogo, ou até uma linguagem de scripting, como o UnrealScript, ou o próprio código-fonte do jogo. As principais vantagens do desenvolvimento de MODs são os conhecimentos adquiridos sobre o funcionamento de um jogo comercial e reconhecido, como trabalham as partes principais do jogo, como os seus ficheiros são distribuídos, etc. Também permite a criação, de forma relativamente mais fácil, de um produto mais apelativo aos jogadores, embora sempre semelhantes ao jogo principal. Essa é mesmo a principal desvantagem, o facto de estarmos limitados às ferramentas disponibilizadas, e também por serem raros os casos MODs comerciais (Counter-Strike, Day Of Defeat, …).
As vantagens de aprender uma linguagem de programação são várias, mas a principal razão é o facto de obtermos todo o controlo do nosso jogo e podermos criá-lo da forma que entendemos. Mas para isso é preciso dominar uma linguagem de programação, o que pode levar algum tempo. Em relação à criação de MODs, o período e a dificuldade de aprendizagem de uma linguagem de programação são mais elevados. Isto pode levar alguns iniciantes a desistirem, mas a recompensa de dominar uma linguagem de programação é grande. Outra das vantagens de saber trabalhar com uma determinada linguagem, é que esta também pode ser aplicada em outros trabalhos, diferentes de jogos, como software empresarial, entre outros.
O primeiro dilema que os futuros programadores se deparam, é com a decisão de qual linguagem aprender. Uma das opções mais recomendada é C++. É uma linguagem que é vastamente utilizada na indústria de videojogos. Mais de 90% dos jogos que costumamos ver nas prateleiras das lojas, são programados nesta linguagem. É também uma das que possui maior documentação e referências, assim como ferramentas. As suas características, como a velocidade e controlo, também a favorecem em relação às restantes linguagens. Esta linguagem peca apenas pelas dificuldades que introduz a alguém novo à programação. Mas também são usadas outras linguagens, com características bastante variadas.
Java é uma linguagem que se destaca pela sua portabilidade. Os programas feitos em Java podem ser usados em variadas plataformas, como o computador, telemóveis, PDAs, e mesmo websites, apenas com reduzidas modificações. Esta portabilidade leva a algum custo no desempenho, mas não deixa de ser um opção a ter em conta. Temos também Visual BASIC, que se destaca pela sua facilidade de aprendizagem e utilização, embora seja mais utilizada na criação de outro tipo de software. Existem também vários jogos feitos em Delphi, uma linguagem derivada de Pascal, alguns deles comerciais. Os jogos desenvolvidos sobre a plataforma Flash também têm ganho bastante popularidade, graças à sua integração nos sites, que permitem um rápido acesso, e simplicidade. Estes jogos são predominantemente baseados no aspecto gráfico, mas necessitam de uma base de programação, que é feita em ActionScript.
Existem variadas fontes de sobre desenvolvimento de jogos. A mais importante e fiável são os livros. A cada novo tema ou linguagem de programação, que se decide aprender e dominar, convém ter um livro, tanto para auxiliar na aprendizagem, como para ser utilizado como referência. No entanto, os livros de programação, que se encontram à venda em Portugal, possuem poucas referências ao desenvolvimento de jogos. Por isso, é necessário, muitas vezes, mandar vir os livros através de uma loja online, como a Amazon (http://www.amazon.com), o que encarece um bocado o preço, mas apresenta uma maior variedade de escolha.
A internet é o local onde é possível encontrar praticamente todo o tipo de informação, sobre qualquer assunto. É possível encontrar um grande número de artigos e tutoriais sobre qualquer linguagem e qualquer aspecto do desenvolvimento de jogos. Mas, essa variedade leva às vezes a alguma desinformação em alguns artigos menos trabalhados e revistos. Mas não deixam de ser uma das principais fontes, a que irão recorrer muitas vezes. Outro factor importante são as comunidades que se formam à volta deste tema. Estas comunidades são formadas através de um site, fórum, canal de IRC, entre outros. As comunidades são importantes para a partilha de artigos, mas especialmente para tirar dúvidas, partilhar experiências e pedir conselhos a pessoas mais experientes, tendo em consideração as regras estabelecidas. Finalmente, é possível recorrer também ao código fonte de jogos, que sejam lançados sobre a licença open-source. Estes já requerem alguns conhecimentos sobre a linguagem em questão, mas são uma fonte de informação muito valiosa, já que apresentam a resolução de problemas com que o programador se deparou e os métodos que devem ser usados em cada situação.
Para conseguir desenvolver o jogo dos nossos sonhos, é necessário muito esforço e dedicação, para além de paciência e persistência para todas as dificuldades que irão surgir. O meu conselho, e o da maioria dos programadores, é começar por jogos pequenos e simples, como por exemplo Tetris, Snake, Pacman, um Shooter 2D, cada um introduzindo uma nova funcionalidade característica, que vai aumentando a dificuldade. Esta é a melhor maneira para um principiante não se perder entre as inúmeras capacidades de programação, que o desenvolvimento de jogos exige.
Grande parte dos que desenvolvem jogos são amadores, já que só o fazem nos tempos livres, por serem estudantes ou terem um emprego noutra área. Não é fácil, mas é o objectivo de praticamente todos, entrar na indústria de videojogos, quer trabalhando para uma produtora, ou criando a sua própria produtora. Este é um caminho longe de ser fácil, mas muito recompensador.
Alguns links:
- Comunidades internacionais:
- http://www.gamedev.net
- http://www.devmaster.net
- Comunidades portuguesas:
- http://www.gamedev-pt.net
- http://www.igda.org/lisbon