Introdução à programação de jogos

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.