Se voc gosta de videogame, muito provvel que voc j tenha considerado a ideia de trabalhar com isso, certo? Talvez testar jogos, talvez traduzir, algo na rea. Como eu programo desde muito cedo, foi fcil me imaginar trabalhando com a programao de games e afins, e sempre sonhei com isso. A vida foi caminhando, consegui s duras penas fazer uma faculdade de Cincias da Computao e, com ainda mais luta, uma ps-graduao em Produo de Games. Claro que assim que eu peguei o certificado, eu estava contratado e trabalhando na rea, no mesmo? No. No mesmo. Demorou muito para conseguir alguma coisa. Mas j fiz alguns jogos e trabalhei em alguns projetos que me agregaram muito conhecimento. Um Sudoku feito na faculdade ainda, precrio, em C++, tradues aqui e acol, advergames, alm do meu futebol de boto, que continua em sua fase beta:
Ainda assim, como aconteceu com Zoe Quinn, autora do artigo original que inspirou este meu texto, tudo comea com um pequeno jogo, feito de forma independente. Ela co-fundadora da Dames Making Games, em Toronto, que tem vrios projetos legais, incluindo o incentivo na formao de garotas que trabalhem neste segmento de mercado. Vou detalhar aqui vrias dicas que a ajudaram a chegar onde ela chegou, bem como experincias pessoais minhas, pra formar esse guia ilustrado do Game Developer iniciante. Isso pode ser divertido, mas nem sempre vai ser A primeira coisa que voc precisa saber que criar jogos de videogame no a mesma coisa que jogar videogame. Alis, trabalhar na rea tem um grande potencial de te fazer passar a ver os games com olhos muito mais tcnicos, e que podem ou no te fazer apreciar menos algumas obras. Isso, pois esse tipo de conhecimento te torna capaz de enxergar as falhas com mais facilidade. Ao mesmo tempo que as qualidades, aqueles detalhes feitos com maestria, ganham ainda mais brilho e mais cor. Copo meio cheio, meio vazio, ou apenas um copo, depende do seu prprio referencial. possvel trabalhar com o roteiro, game design, level design, inteligncia artificial, arte, com a programao em si, com a implementao, testes, com a parte comercial e mais uma infinidade de funes. Tudo isso pode exigir de voc conceitos que so muito diferentes da sua atual realidade, principalmente em projetos nos quais se tem apenas uma ou duas pessoas para criar o pacote todo, ou trs ou quatro, em pequenas empresas independentes. H tambm a situao na qual voc pode contar com um grande time de hbeis ilustradores e programadores de grandes estdios. O importante estar aberto para absorver esse contedo e no ter medo de trabalhar duro. Mas essa uma realidade bem distante dos iniciantes. Por isso Comece por baixo e no tenha medo de errar Como qualquer outra habilidade, aprender a projetar e desenvolver games leva tempo, pacincia e muita prtica. Por mais que isso seja bvio, preciso lembrar que muito provvel e plenamente aceitvel que seu primeiro jogo no tenha a mesma qualidade dos excelentes ttulos que voc costuma jogar. E ele vai ter bugs e erros que vo exigir de voc algumas horas pra criar as devidas correes. E isso talvez te faa perdoar os constantes atrasos nas atualizaes dos seus jogos, que nunca chegavam, e que antes te fazia correr pra reclamar muito no Twitter. Considere tambm trabalhar com prottipos, que so verses menores da sua ideia principal, com funcionalidades reduzidas, mas que te permitam ver seu jogo em funcionamento. Isso vai te ajudar a aprimorar os requisitos e te dar um panorama do tamanho total do projeto. Alis, uma vez que voc faa isso, bem provvel que voc j comece a ver problemas no escopo inicial. Isso porque a gente tende a querer enfiar o mundo dentro de uma caixa de fsforos, planejando um game com vrias mecnicas diferentes e contedo alm da conta. Essa ambio pode te colocar em vrias enrascadas (e muita confuso na Sesso da Tarde). Portanto, esteja pronto para diminuir o escopo e fazer algo simples. Conhece o conceito do KISS? Keep It Short and Simple {pra ser educado aqui.}. Para o seu primeiro jogo, pense em algo com uma mecnica simples, com comandos bsicos. Quer um exemplo? Pegue dois jogos antigos, daqueles do Atari, com mecnicas triviais, e misture ambos. Algo assim, como eu postei esses dias no meu Twitter:
Pense em algo mais prximo do Pong, em vez de querer fazer a nova verso do The Elder Scrolls, ou o GTA VI. Faa um jogo no qual o personagem principal, que pode ser apenas uma barra horizontal, evite que uma bola toque o cho. um desafio simples, mas que vai te dar experincia para dar um passo maior no futuro. necessrio evitar algumas coisas no comeo, como querer criar uma funo multiplayer, placar online hospedado em um servidor, grficos em 3D, coisas assim. No que voc deva abdicar de aprender como isso funciona, mas tente no colocar isso no seu primeiro ttulo, entende? Mais uma vez, KISS. Quer programar? Mesmo? Ento considere ler sobre clculo Essa foi uma das partes mais tristes pra mim, e me desculpe se sou o portador de ms notcias. H vrias etapas na criao de um game, desde o seu esboo at a verso final. Mas uma coisa certa: se voc pretende seguir a carreira com programao de jogos, em algum momento ser necessrio codificar conceitos de clculo e geometria analtica. Lembra de matrizes, vetores, produto escalar e mais uma poro de exerccios que voc fazia nas coxas (ou no) na escola? Pois Pode ser que surja a necessidade de reaprender tudo isso. Esteja preparado para um futuro assim. Mas no quero assustar ningum, vamos por partes
Escolha suas ferramentas Ento maravilha, j pensei o suficiente, tenho uma ideia pra fazer meu primeiro jogo, algo simples, facilmente gerencivel e com escopo plausvel. E agora Matheus? Bem, voc tem uma batalha pela frente, e preciso escolher suas armas. Existe uma variedade enorme de Game Engines e softwares que podem te ajudar a desenvolver um game. Como a ideia aqui auxiliar os iniciantes, vou tentar focar em ferramentas utilizveis mesmo por quem tem pouqussima ou nenhuma experincia com programao. Muitas delas j possuem vrios exemplos de games, que voc pode utilizar o projeto para fazer algo diferente com eles, mexer no cdigo, separar funes, estragar e fazer parar de funcionar, tudo isso caracteriza uma das melhores formas de aprender a desenvolver e programar, tanto jogos, quanto aplicativos em geral, que sair fuando. Mesmo, srio. Vou focar, portanto, em quatro ferramentas que considero que tenham uma curva de aprendizagem curta, capazes de produzir uma grande variedade de jogos e prottipos, de forma relativamente rpida. Afinal, seu primeiro jogo, o ideal poder jog-lo em um prazo aceitvel, no quero desestimular ningum, certo? Todas elas possuem verses gratuitas, o que significa que voc no precisa gastar os tubos pra poder adentrar esta carreira que voc tanto busca. 1. Twine Voc j leu aqueles livros de aventura, no qual voc tinha que escolher a prxima atitude do personagem, indo para a pgina tal? Ou mesmo jogado games assim, no qual voc clica na prxima ao a ser executada e assim a histria vai seguindo? Ento, o Twine um programa relativamente novo, feito para a criao de aventuras assim. Nesta ferramenta visual, voc cria a histria, com os possveis comandos, em uma srie de ns conectados, que podem ser compartilhados atravs de um arquivo HTML. Sim, simples e rpido com voc est imaginando, tudo depende da sua criatividade. E, veja, sem usar nenhuma linha de cdigo ou sintaxes bizarras. Se voc no tem experincia nenhuma com programao, este pode ser o ponto de partida ideal. No somente por ser bem simples de usar, mas tambm porque ele pode te ensinar os princpios bsicos de programao, como estruturas SE-SENO-ENTO (IF-ELSE-THEN), laos de repetio ENQUANTO e AT-QUE (como Loops e Whiles), manipulao de variveis e outros conceitos que formam o corao deste tipo de aprendizado.
Se voc j possui experincia com codificao ou web development, fica ainda mais fcil usar o Twine para criar jogos mais complexos. E j que ele exporta os projetos em HMTL, basicamente voc pode fazer uma salada maluca dentro do jogo, com imagens, msica e at outros jogos, como os feitos em flash. S no vale fazer uma chamada para um emulador embutido e falar que voc t desenvolvendo games. Se voc ficou curioso pra saber o que pode sair do Twine, vale a pena conferir os jogos Howling Dogs e Afterward, que mesmo em ingls, d pra se divertir bastante. Esse tutorial aqui fantstico e vai te ajudar muito. De qualquer forma, trata-se de um aplicativo limitado. Se voc quiser fazer algo mais complexo que chamadas com as estruturas citadas acima, ou eventos aleatrios, procedimentos com tempo, ser necessrio escrever seu prprio cdigo. Esse tipo de funo, infelizmente, no tem suporte nativo. E, claro, se sua meta desenvolver um shooter simples ou algum game de plataforma, essa no a ferramenta indicada. 2. Stencyl Outra ferramenta recm criada, o Stencyl tem uma interface grfica bem amigvel, que vai te ajudar a conceber uma grande variedade de games. Se voc gosta de programao na pegada LEGO, encaixar blocos e procedimentos parecidos, ser ainda mais atraente. Voc pode organizar, encaixar, empilhar e conectar os blocos com as aes em comandos lgicos. bvio que, se voc quiser, d para abrir e modificar o cdigo destas peas. Alis, neste modo d at para programar suas prprias funes do zero. O Stencyl tambm possui uma biblioteca com jogos exemplos para que voc possa utiliz-los ou modific-los. Ver e editar o cdigo destas peas vai te ajudar a aprender Actionscript3, uma linguagem que pode ser aplicada para fazer jogos em Flash, com ferramentas da Adobe e sem a necessidade de usar o Stencyl em si.
Uma vez que esta ferramenta gera games em flash (arquivos .swf), bem fcil compartilhar seus jogos entre seus amigos. Alis, nem necessrio ter seu prprio servio de hospedagem, j que possvel fazer o upload do jogo para o site do Stencyl e compartilhar o link de l mesmo. Outra vantagem interessante deste software que voc pode criar e inserir seus prprios ativos de arte, como modelos, sprites, texturas, sons, msicas e at outros jogos completos. Dois exemplos do que j foi feito nesta plataforma: Handheld Video Game e o The Brim. Ainda assim, como eu disse, trata-se de uma ferramenta nova e ela possui sim alguns bugs. Um dos que mais me irritou at hoje apagou todo meu projeto. Por sorte, eu tinha backup e eu aconselho que voc tambm o faa. Constantemente. Em vrios lugares. Sim, nunca demais.
O programa bsico gratuito, mas se voc quiser adquirir a verso Pro, que oferece vrias customizaes e cuja assinatura te d acesso a fruns privados de desenvolvedores, basta desembolsar US$ 79 por ano. E se sua ideia portar seus games para o iOS, ser necessrio pagar mais US$ 149 por ano. Mas, lembre-se, voc est apenas aprendendo. Pessoalmente, acho interessante que voc saiba que estas opes existem, mas recomendo pensar nelas mais pra frente, ok? Se voc procura tutoriais, vdeos e projetos para iniciantes, basta seguir as instrues que existem dentro da prpria ferramenta. Alm disso, existe tambm o Stencylpedia, um site com informaes adicionais que podem te ajudar. 3. GameMaker Chegou a hora de falar de um dos game engines mais conhecidos entre os game developers iniciantes. Trata-se do GameMaker, uma ferramenta que bem parecida com o Stencyl, mas possui algumas diferenas chave. Por exemplo, a verso gratuita do GameMaker s exporta seus jogos para arquivos binrios executveis (.exe ou .dmg), e ainda assim com marca dgua neles. Nada que impea seu aprendizado, verdade. As edies pagas (Standard por US$ 49,99; Professional por US$ 99,99; Master por US$ 499,99) oferecem mais formatos e funes, que so essenciais para quem deseja criar um game comercial. O conceito de arrastar-e-soltar os blocos tambm bem similar ao Stencyl, mas com uma linguagem prpria, que s funciona no GameMaker. Todavia, o software tem sido largamente usado para a criao de vrios jogos independentes de bastante qualidade, como as verses originais de Spelunky e Stealth Bastard, o que deixa evidente sua flexibilidade.
O GameMaker tambm conta com uma porrada de tutoriais embarcados, que eu recomendo fortemente que voc siga para aprender como as coisas funcionam nesta plataforma, e sentir sua usabilidade. Uma vez que voc tenha feito isso, pode ser a hora de dar uma navegada no YoYo Games, que possui tambm uma tonelada de tutoriais que certamente vo te ajudar a criar aquele jogo especfico que tanto voc deseja desenvolver. Pra ficarmos na sesso Favorite estes sites agora, ainda recomendo o GMLscripts, o TIGsource e essa thread com vrios jogos open-source feitos com o GameMaker. 4. Shiva3D Se voc achou que estas plataformas so simples demais e deseja sentir como trabalhar com um game engine mais parrudo, mas desde que ele seja fcil o suficiente para um iniciante, indico aqui o Shiva3D. Seu game-exemplo mais conhecido o The Hunt, um First Person Shooter/Horror Survival bem legal, que voc pode ter acesso ao cdigo, ao projeto e modificar ao seu bel-prazer.
Foi com essa ferramenta que eu comecei a criar meu jogo do futebol de boto mostrado l em cima, e achei os tutoriais bem didticos. Diferentemente das outras sugestes, necessrio se enfiar um pouco mais nos conceitos de desenvolvimento tradicional de games, alm da necessidade de se familiarizar com a linguagem de Scripts Lua (que brasileira, vejam vocs), mas uma das coisas mais legais que voc tem todos os aparatos para desenvolver o mesmo game e exportar para diversas plataformas, mesmo na verso gratuita (tambm com marca dgua). Voc encontra uma lista de games feitos com Shiva3D neste link, bem como vrios outros tutoriais, documentao, dicas e afins, na comunidade aberta de desenvolvedores. Essas so as quatro ferramentas que eu poderia sugerir para iniciantes que possuem pouca ou nenhuma experincia. Evidentemente, estas no so as nicas ferramentas disponveis no mercado. H por a uma gigantesca oferta de softwares mais avanados e poderosos, como o Unity, frameworks como o Flixel e o Flashpunk, bem como ferramentas diferentes para tipos especficos de games, como o britnico Adventure Game Studio (jogos de aventura, como o nome sugere) e o Inform7 para design de sistemas interativos. Tenha em mente ento que esta apenas a ponta do iceberg. Se voc precisar de qualquer coisa especfica para um jogo, provvel que voc j encontre algum cdigo ou biblioteca pronta que vai te ajudar a chegar onde voc quer, e desenvolver aquela funo que voc necessita. Pai Mei Google salve a todos ns, amm. Acumule e organize elementos grficos e musicais Comentei al em cima sobre art assets, msica, sons, modelos, sprites e texturas, e tudo isso ser necessrio para deixar seu jogo mais bonito, com maior imerso e com melhor acabamento. Mas no se preocupe, existem vrios sites que podem te ajudar a conseguir tudo isso, em verses gratuitas e open-source, como o Freesound.org, que possui diversos efeitos sonoros disponveis, o OpenGameArt.org no qual possvel baixar elementos grficos dos mais variados e o SoundCloud, no qual vrias pessoas divulgam suas msicas prprias sob licenas como a Creative Commons, que te permitem utiliz-las como trilha sonora, sem nenhum custo. Dependendo da licena oferecida, basta creditar o autor. Afinal, o auxlio mtuo de artistas que permite que essa realidade cooperativa continue existindo. Ache algum sincero para testar seu jogo timo, voc fez o prottipo, ele est jogvel, mas seus testes esto viciados. Sim, esto, no duvide disso jamais. Ento hora de chamar algum honesto para testar o game e te passar todas as impresses. Portanto, compartilhe com seus amigos mais prximos. Pessoas nas quais voc confia, e que estejam sinceramente dispostas a te ajudar. Pea para que eles joguem e observe os resultados. Anote as reaes, dicas e sugestes, suas respostas instintivas, o que eles entendem e o que eles no entendem. Com isso, voc vai aprender muita coisa sobre o design do seu jogo. Quanto mais pessoas, mais testes, e melhor assim seu filtro do que deve ou no ser melhorado. Mas, por favor, no seja chato. Ningum quer ajudar uma pessoa inconveniente, seja legal com seus amigos. E aqui, bom citar que voc pode ser alvo de crticas duras ou que te peguem de surpresa. Mas no tenha vergonha ou se irrite se voc deixar passar algo bobo e bvio, j que fazer um jogo um processo iterativo, com vrias etapas de construo-teste- reconstruo, at que se chegue no produto final. Nenhum jogo perfeito e voc vai perceber que seu jogo tende a nunca estar completamente terminado. Sempre vai ficar faltando um ajuste fino daqui e dali. Saiba quando parar. E saiba entender as crticas de uma forma construtiva, sem que isso te abale. O prximo projeto sempre vai ser melhor. Ah, e se lembre que a ltima etapa no desenvolvimento de um jogo, desenvolver outro. Ento crie, teste, jogue, ajuste, corrija, publique, e pense no prximo jogo. Esteja em contato com a comunidade de desenvolvedores, muita gente vai estar disposta a te ajudar se voc estiver disposto a ajud-las. Manter-se junto de outros profissionais da rea vai te inspirar. Faa o dever de casa e pesquise. E eu no estou falando apenas sobre jogar! Estudar game design algo que eu sugiro pra qualquer pessoa que gosta de videogame, no apenas para aqueles que queiram trabalhar com isso. uma habilidade complexa de ser desenvolvida, verdade, e em vrios aspectos, mas vale a pena. Existe uma infinidade de materiais disponveis na Internet, tutoriais, vdeos, novas tcnicas, s querer buscar. Vrios outros desenvolvedores mantm blogs e sites pessoais nos quais possvel ler suas experincias e aprender muito com erros e acertos alheios. Existem listas e mais listas, por exemplo, do que um Game Developer nunca deve fazer, mas se sua vibe ler livros fsicos, recomendo o How to Do Things with Videogames que bem didtico, o Extra Lives do Tom Bissel, e o HTML 5 Game Development For Dummies (no se ofenda com o nome, de fato til e de rpido aprendizado). Otimize o grfico Como dica final, que vale mais para quem trabalha com a arte do jogo, sugiro manter sempre a preocupao de utilizar grficos otimizados. Use somente as texturas necessrias, e considere sempre diminu-las pela metade. Feito isso, pense se d pra diminuir novamente, sem perda do resultado final. Utilizar muitos recursos visuais pode deixar seu game desnecessariamente pesado e esse um anti-pattern que deve ser imediatamente aprendido e corrigido. Mos obra Se voc est comeando agora, acredito que voc tenha aqui todas as informaes necessrias para criar seu primeiro game. E, por favor, uma vez que estiver pronto, deixe a gente ficar sabendo. Vamos fazer essa mquina girar. Se voc um desenvolvedor independente, compartilhe com a gente tambm o seu trabalho. Forte abrao. Matheus Gonalves