Hora de programar Games: As Linguagens de baixo nível C e C++ para o desenvolvimento de jogos

Além dos programas que ajudam a criar as primeiras experiências com o design de games, as linguagens de baixo nível são as principais responsáveis pela produção de jogos consistentes e com ótimo acabamento - Por Kao Tokio

No final de 2014, o Play’n’Biz apresentou um primeiro artigo com dicas internacionais sobre as principais linguagens de programação para o Design de Games. Hoje, retomamos o assunto para apresentar detalhes sobre as linguagens de maior complexidade, que exigem conhecimento mais aprofundado de lógica de programação, mas que oferecem, na mesma medida, jogos e resultados mais consistentes, com maior complexidade e grau de acabamento.
Como já foi dito, nunca é tarde para começar, e a persistência levará ao aprimoramento.
Boa leitura.

Linguagens C e C++
É consenso que estas são duas das mais duradouras linguagens de programação de toda a história da informática. Com mais de quatro décadas de existência, o C é uma linguagem de uso geral, criada pelo cientista da computação Dennis M. Ritchie em 1972. A partir de sua base, o amigo  Bjarne Stroustrup projetaria a linguagem C++, uma versão de C mais voltada à programação orientada a objetos.

Antes de entrar diretamente nas questões relativas a cada linguagem porém, vale atentar para as sugestões de Shine Jacob, no artigo Game Programming in C – For Beginners, no site Code Project: “Antes de saltar na programação de jogos, o que precisamos saber algo chamado Programação Orientada a Eventos [event driven programming, no original]. Evento dirigido por programação refere-se a esse estilo de programação em que o usuário do aplicativo é livre para escolher entre várias opções, em vez de limitar-se a uma sequência predeterminada de interações com o programa. Programação de jogos é um exemplo comum de evento dirigido programação. […] Um jogo é uma combinação perfeita de ações-e-reações ou eventos-respostas, onde cada resposta se baseia no evento mais recentemente ocorrido”.

Alan Henry, do site Life Hacker, afirma que “uma coisa é importante sobre C e C ++: ambas são algumas das linguagens mais fundamentais da ciência e da programação de computadores. Se você aprendê-las, elas vão beneficiá-lo, mesmo se você decidir não usá-las posteriormente. Elas lhe darão uma visão sobre as origens e raízes de ciência da computação e programação de computadores”. Kasia Mikoluk, do site Udemy, complementa estas impressões ao confirmar que “C é, definitivamente, uma linguagem de programação muito boa para aprender, especialmente para os iniciantes que estão pretendendo para uma carreira de programação a longo prazo” e, na sequência, observa que “o C ++ é uma das línguas mais utilizadas do mundo com muitos aplicativos incríveis desenvolvidos por ele. Google Chrome, Mozilla Firefox, Winamp, e o pacote completo de softwares da Adobe foram desenvolvidos usando C ++”, demonstrando a versatilidade da linguagem.

Embora estas linguagens sejam a base para criações fantásticas em programação, vale lembrar que o interessado em programar jogos deverá dedicar-se de corpo e alma ao estudo, para ser recompensado com a habilidade necessária para realizar seus projetos, como afirma Alex Allain, do site C Programming: “Você não será capaz de pegar atalhos para aprender a programar. Acha que ‘ponteiros’ são confusos? Isso é bom; eles definitivamente pode ser. Mas você ainda vai precisar aprender como eles funcionam e entendê-los bem, porque APIs gráficas como OpenGL exigirão que você entenda coisas como ponteiros de função, e você certamente vai precisar usar ponteiros em todo o seu programa […] Esteja preparado para se concentrar nos aspectos menos sexies da programação, como estruturas de dados do tipo listas encadeadas ou árvores binárias. Estas ferramentas vão se tornar os blocos de construção de seu trabalho futuro”.

O site Toy Maker indica que o C++ talvez seja mais apropriado para o design de games, como segue: “Há muitas linguagens possíveis, mas para fazer [um game] corretamente, você deve aprender C ++, por ser hoje em dia a linguagem mais comum na qual os jogos são escritos. Ainda há jogos sendo escritos apenas em C, mas a tendência é o C ++, principalmente porque os jogos vêm se tornando maiores e mais complexos. Com C ++ você pode mais facilmente gerenciar e manter grandes quantidades de código do que com C”.

Para ajudar aos novatos, o site Agnor’s HQ, especializado em programação de jogos, tem um tutorial em português que ensina os passos básicos para criação de projetos em C++, e o site Cursou apresenta as aulas gratuitas de C e C++ do professor Gilberto Toledo com material adicional para download e acompanhamento do curso. Não menos importante, o professor do curso de Jogos Digitais na Unicsul, André Kishimoto, disponibilizou em 2012 seu livro Programação Windows: C e Win32 API com ênfase em multimídia, que pode ser baixado através do link: https://github.com/andrekishimoto/progw32api/blob/master/ebook/andrekishimoto_progw32api-free_ebook.pdf?raw=true

watch_dogs_game

Sobre Kao Tokio
Editor de conteúdo do site Play'n'Biz - Pesquisador de novas mídias e entretenimento digital como linguagem e expressão da cultura contemporânea

4 Comments on Hora de programar Games: As Linguagens de baixo nível C e C++ para o desenvolvimento de jogos

  1. Ola, bom texto. Algumas correcoes:
    event driven programming = programacao orientada a eventos
    estruturas de dados do tipo listas relacionadas = estruturas de dados do tipo listas encadeadas

  2. Interessante, só uma pequena correção: a tradução de “Event Driven Programming” é “Programação Orientada a Eventos”, e não “Evento dirigido por programação” como está no texto.

Deixe um comentário

Seu e-mail não será publicado.


*



*