Programador de games: por onde começar?
Já me questionei muito isso, pensando em como poderia começar uma carreira de desenvolvedor de games, mesmo que seja indie. Encontrei algumas respostas e muitas dúvidas, que foram exclarecidas pela minha professora de Produção de Games da pós-graduação. Depois de pensar sobre todas as informações que tinha, e levando em conta a indústria de games no Brasil, encontrei três perfis distintos de programadores de games iniciantes, e também indie:
Jogos para Web: Provavelmente é o tipo de desenvolvimento de games que pode alcançar um grande número de pessoas muito rápido, já que basta acessar um site com o jogo para jogar. O Flash, aliado ao Action Script, fornece ao desenvolvedor um poderosa ferramenta para criar jogos muito criativos e viciantes para o ambiente Web. Acho que o principal porém do Flash é que se o jogo for muito elaborado e pesado para ser jogado no navegador, provavelmente não será tão jogado quanto um minigame mais simples. Muitos programadores web, e web designers que tenham afinidade com programação, podem optar por este caminho para começar a estudar o desenvolvimento de games, devido a sua facilidade.
Jogos para Celular: Aqui começa a complicar um pouco, pois é uma técnologia mais complexas e requer mais empenho do programador, sem falar que um jogo feito para um determinado celular pode não funcionar adequadamente em outro – necessita ser portado. A principal linguagem utilizada para este desenvolvimento é o J2ME (Java 2 Mobile Edition), e pode ser usada com softwares como Eclipse e Netbeans, entre outros. Muitas empresas no Brasil trabalham com desenvolvimento de jogos para celular ou porting. São jogos de desenvolvimento rápido e que geram renda para a empresa, porém existem limites nestes jogos, pois o processamento da maioria dos celulares é fraco, o que pode comprometer jogos mais ambiciosos e favorecer, novamente, minigames mais simples. Existe também o desenvolvimento de jogos para iPhone e iPod, que utilizam um software gratuito da Apple, porém que só roda em Mac, que torna este tipo de desenvolvimento bem restrito.
Outros jogos: Uma pequena parte da indústria de games no Brasil está criando games que não são para Web ou para celular, são jogos para plataformas como Nintendo DS, PC e XBLA (Xbox Live Arcade). O desenvolvimento para estas plataformas são mais complexos e exigem mais dedicação, mas são experiências muito boas para conhecer muitas técnicas de programação de games avançadas, além de praticamente não ter limites para o que vocês quiser criar. Para PC, podemos criar games utilizando praticamente qualquer linguagem, mas as principais bibliotecas para o desenvolvimento de games são em C++ e Java. Para Nintendo DS, podemos criar Homebrew games com o devkitPro, que é um software para programar em C++ e gerar arquivos .nds para serem executados em emuladores de Nintendo DS, que torna o desenvolvimento muito legal pois você consegue ver como o seu jogo funciona em um DS emulado. Para a XBLA, podemos criar games utilizando o XNA Game Studio junto com Visual Studio C#, que é gratuito, você só precisa pagar se quiser ter uma conta premium para disponibilizar seus jogos na rede da Microsoft.
Eu, particularmente, estou optando por estudar o desenvolvimento de Homebrew para o Nintendo DS, pois quero estudar C++. Poderia até escolher o XNA, pois trabalho com C# a mais de 3 anos, ou desenvolver para celular já que tive Java nos 4 anos da faculdade, mas exatamente por isso escolhi começar estudar o desenvolvimento de jogos para DS, eu quero e preciso aprender melhor C++ e, por enquanto, estou apenas estudando C++ em jogos para PC na pós-graduação.
E com tudo isso, acabei esbarrando em uma dificuldade que deve ser a principal que irei enfrentar: não sou artista, sou programador! Ou seja, mesmo que eu faço algum jogo divertido, não vai ficar muito bonito, preciso encontrar algum artista que goste de pixel art para fazer jogos comigo, já que quero começar fazendo games 2D. Minha meta é montar um portifólio com demos de games diferentes em algumas plataformas, como as que citei acima.
No próximo post irei falar sobre o primeiro game em C++ com a biblioteca SDL que desenvolvi com meu grupo na pós-graduação e mostrar o game, até mais!