Ainda estou pra descobrir quem foi o gênio original, mas praticamente qualquer bom professor de programação vai te dizer uma verdade universal: "só se aprende a programar, programando".

De forma análoga, só se aprende a programar IDEs programando IDEs, e só se aprende a programar engines de blogs, programando engines de blogs. Onde eu estou querendo chegar, com um título desses, é: só se aprende a programar jogos, programando jogos.

Foi daí que, algum dia, eu comecei a programar jogos. Ou tentar. Esta introdução é histórica, mas não vou entrar nos méritos usuais de "por que adoro jogos" ou "os primórdios primordiais de minha história na programação de jogos". Vou direto de onde comecei a fazer coisas que, bem, funcionavam.

A Era Windows: IDEs bacaninhas

Se vocês querem realmente saber, quando comecei a fazer programas que poderia ser considerados jogos "de verdade", eu usava IDEs da família Klik, mais especificamente "The Games Factory" e "Click & Create". Não vou negar, eram engines divertidas, mas deixavam a desejar na parte da programação. O negócio era quase totalmente gráfico, e embora fosse confortável, é mais ou menos como programar Java: uma hora você quer ter controle sobre tudo.

Foi então que conheci Game Maker, que me guiou por alguns anos nos caminhos tortuosos da programação de jogos. Talvez algum dia entre em detalhes a respeito das vantagens e aspectos maravilhosos da IDE em outro post dedicado ao assunto, mas, em resumo, GM oferece maneiras de trabalhar da maneira mais simples, para iniciantes, com os recursos mais avançados, incluindo uma linguagem própria derivada do C++. =D

Outro ambiente em escala mais restrita que aprendi a usar e também gostei foi o RPG Maker. Por si só, a série RM era limitada, embora fosse possível, também, fazer horrores naquela coisa. Me diverti muito, até que a versão XP se tornou impraticável para meu uso(o PC antigo era uma carroça, convenhamos =/) e fiquei empacado no passado. Mas mesmo antes, houveram outros fatores...

A Era Linux: Programando Hardcoremente

Mas, infelizmente, tudo que é bom dura pouco, e duas coisas aconteceram. Não exatamente nesta ordem, mas aconteceram.

Uma, GM se tornou, oficialmente, um software não-freeware. O que era, antes, uma contribuição generosa de quem quisesse ajudar os desenvolvedores, se tornou mandatório para que se pudesse programar em seu total potencial. Daí, ficava mais difícil programar decentemente...

Além, conheci e passei a usar Linux em grande escala. Mais ou menos pelo menos 50% do tempo. Sendo a engine GM baseada em DirectX, não preciso dizer que, não, não era praticável nem sequer emular o sistema operacional.

Visto que, por alguma razão, o desenvolvimento de IDE em Linux é algo, no mínimo, não muito difundido(discutimos detalhes outro dia, ok?), a solução mais óbiva era: aprender a programar sem a IDE. E sim, já começamos.

Epa! E o que eu tenho a ver com isso?!

Bom, entra que isto será o nosso primeiro curso de longa duração baseado em experiência própria. Em outras palavras, eu aprendeo por experiência própria e passo a lição para a frente.

Claro, assim como software em geral, tudo começa com design. Nossas primeiras lições serão de teoria, fundamentos e design de jogos em computadores. Apenas depois começaremos a estudar a programação em si. E pularemos para os tutoriais, projetos e etcéteras.

Em tempo, o projeto já anunciado e em curso Jogo da Vida não está bem das pernas. Eu mesmo vou começar uma "lista de exercícios", com a diferença conceitual de que os exercícios são jogos inteiros.

O primeiro? Pong! =)

Nos vemos na próxima aula!