Seja especialmente bem-vindo(a) ao GameDev: Aprendendo a programar jogos em Unity! Hoje, iniciarei nosso encontro de uma forma diferente do habitual, por meio de uma reflexão genuína: você já teve a impressão de que o tempo passa em velocidades diferentes, dependendo de qual tipo de atividade estamos realizando?
Digo isso pois minha percepção pessoal é a de que, ao realizarmos ações nas quais sentimos prazer (como ao jogar um game legal, por exemplo), parece que o tempo passa mais rapidamente. O mesmo ocorreu durante a elaboração de nossa série, pois só notei agora, ao preparar o texto de hoje, que se passaram dois anos e 27 dias da estreia de nossa série no GameBlast. De repente, cá estamos, comemorando nosso centésimo encontro, após muitas experimentações, descobertas e conquistas.
Quando chegamos ao quinquagésimo encontro da série, pudemos discutir sobre as motivações que levaram ao desenvolvimento de nossa jornada e realizamos uma breve retrospectiva sobre o processo de criação dos dois primeiros jogos da série, Forest Ping Pong e Motorista da Pesada.
Hoje, além de refletirmos sobre os desafios que estamos enfrentando para desenvolver o game atual, Motorista da Pesada, vamos falar um pouco sobre os primórdios de nossa coluna e sobre o futuro de nossa série; além de abordarmos, também, algumas curiosidades interessantes que marcaram nossa jornada, inclusive sobre a presença de um easter egg que, embora existente desde o início da série, poucas pessoas relataram ter percebido até hoje.
E, se por coincidência, esta for a primeira vez que você acessa nossa série, não perca a oportunidade de, a partir do primeiro texto da série, juntar-se a nós em uma agradável trilha de aprendizado sobre o universo do desenvolvimento de jogos.
Vamos celebrar, mais uma vez, a conquista de novos conhecimentos!
Mais de uma década de história
Nos últimos 17 anos, o Blast se consolidou como um dos principais sistemas de comunicação “de fãs para fãs” sobre games no Brasil. Aqui no GameBlast, por exemplo, você consegue encontrar notícias, análises, artigos de opinião e diversos conteúdos multimídia sobre o universo dos videogames.
A variedade e a grande quantidade de informações acabam fazendo com que haja a necessidade de organizar o fluxo de conteúdos de forma a facilitar o acesso pelos milhares de leitores que visitam os portais todos os dias. No Blast, a organização é realizada por meio de categorias (notícias, matérias especiais, revista GameBlast, podcast BlastCast, dentre outras) e de colunas, tais como a coluna GameDev.
Os primeiros textos da coluna foram publicados no Nintendo Blast em maio de 2009, quando nosso colega Jones de Oliveira iniciou a elaboração de uma série de artigos ensinando os leitores a criarem jogos utilizando a plataforma XNA e linguagem C#, curiosamente a mesma linguagem utilizada por nós durante a construção dos scripts nos projetos em Unity.
Posteriormente, conteúdos da série foram republicados no Xbox Blast até meados de abril de 2013, quando o Jones finalizou a construção de um belo jogo inspirado em Asteroids (Atari, 1979):
Embora o planejamento inicial de Jones para sua série envolvesse, posteriormente, a elaboração de um jogo mobile utilizando o mesmo framework apresentado para os leitores, os desafios da vida real acabaram fazendo com que houvesse uma pausa na disponibilização de novos conteúdos por tempo indeterminado. Assim, a coluna “voltou à ativa” apenas em agosto de 2023, já no GameBlast, quando foi publicado o primeiro texto da série “Aprendendo a programar jogos em Unity”.
Particularmente, entendo completamente a decisão do colega, pois sei que, com base nas experiências que tive durante a construção da série atual, elaborar os textos e atividades de desenvolvimento nos projetos demanda muito tempo e dedicação. Pela dedicação e pioneirismo no Blast, gostaria de agradecer ao Jones pelos ensinamentos compartilhados de forma tão interessante em sua série.
Aventuras bidimensionais
Na série atual de textos, as atividades foram estruturadas de forma a realizarmos experimentos e construirmos novos conhecimentos por meio do desenvolvimento de três projetos de games.
O primeiro projeto, Forest Ping Pong, serviu como uma introdução interessante ao mundo do desenvolvimento de jogos em Unity. Sem nos aprofundarmos muito em conceitos técnicos ou ferramentas complexas, em poucas semanas já pudemos ter em mãos nosso primeiro game funcional.
A simplicidade na abordagem foi proposital, justamente para que pudéssemos sentir o gosto de ver tornar realidade uma ideia que, até então, poderia soar abstrata aos ouvidos de muitos: tirar do papel um jogo “do zero”.
Claro que nem tudo foi criado absolutamente “do zero” pois, nos projetos em geral, sempre fornecemos alguns elementos básicos para iniciarmos a construção dos jogos, tais como imagens, sprites e sons. Mesmo assim, é indescritível a sensação de poder controlar um jogo cuja elaboração foi concretizada por nós mesmos.
Para quem quiser relembrar como era nosso pingue-pongue florestal, recomendo experimentar a versão disponibilizada no link ao final do quinto texto da série.
Logo após a conclusão do primeiro projeto, partimos para a elaboração de uma nova aventura, desta vez vivida sobre quatro rodas.
Durante 26 encontros, realizamos a construção de um platformer rodoviário inspirado no game City Connection (Jaleco, 1985), um clássico dos arcades japoneses (e dos Famiclones mundo afora).
Muitos conceitos importantes para a elaboração de um jogo comercial foram abordados durante a elaboração de Motorista da Pesada:
- Elaboração do sistema de controle de vidas, de itens coletáveis e do tempo restante;
- Implementação de fases e de regras para avanço entre elas ou para a finalização da aventura;
- Desenvolvimento de menus e de sistemas de pause;
- Utilização de conceitos do Unity relativos à gravidade e à colisão entre elementos;
- Conceitos relativos a sprites e outros elementos multimídia, dentre outros.
Note que, para chegarmos ao estágio final do game, levamos cerca de cinco vezes mais encontros do que os necessários para elaborar Forest Ping Pong. O resultado foi muito satisfatório:
Para quem quiser experimentar o jogo, vale a pena experimentar a versão disponibilizada no link ao final do trigésimo-segundo texto da série.
Do 2D ao 3D
Chegando ao estágio atual de nossa série, estamos há 68 encontros trabalhando no projeto Consultório do Dr. Tratanildo. A complexidade no desenvolvimento do projeto atual é maior do que a envolvida na elaboração dos dois games anteriores, principalmente pelos seguintes fatores:
- Trata-se de um jogo ambientado em um consultório médico tridimensional, sendo que tivemos de configurar todo o ambiente explorável (e os elementos que o compõem) no editor do Unity;
- O game apresenta três modos de operação principais: cutscenes, exploração do ambiente e núcleo do tratamento das doenças (labirinto);
- Os sistemas de câmera e de movimentação foram elaborados de forma manual;
- A configuração e a aplicação de animações aos pacientes e ao doutor também precisaram de intervenções manuais de nossa parte.
Apesar da grande carga de aprendizados novos, muito do que observamos e experimentamos durante a concepção dos games 2D foi essencial na construção dos elementos que compõem a nova aventura médica. Exemplos claros disso são o reaproveitamento de conceitos envolvendo colisão entre objetos e a configuração de elementos visíveis no Canvas das cenas do jogo.
Embora ainda precisemos realizar diferentes intervenções para finalizarmos a ligação entre os módulos do jogo, já temos tudo muito bem encaminhado, o que demonstra que, durante a epopeia que está sendo a construção deste e dos demais games, conseguimos amadurecer muito enquanto desenvolvedores de jogos.
Vislumbrando o futuro
É sempre difícil falar sobre o futuro, sobretudo nos tempos atuais, em que tudo muda rapidamente o tempo todo. Porém, sobre nossa série em específico, vou me autoconceder uma licença especial para ligar o modo “mãe Dináh” e compartilhar com todos vocês quais serão nossas próximas etapas, caso tudo ande conforme o planejado.
Por ainda estarmos no processo de desenvolvimento de Consultório do Dr. Tratanildo, teremos ainda diversos encontros a serem realizados para tratarmos de alguns assuntos importantes:
- Ajustes no núcleo do game (modo Labirinto), tanto em relação ao gameplay quanto sobre a inclusão dinâmica das pílulas de saúde dentro da representação do interior dos corpos dos pacientes;
- Ativação, pelo núcleo controlador das fases, dos módulos referentes aos momentos em que se ganha ou se perde no jogo, nos momentos em que julgarmos necessário;
- Criação do menu principal do jogo;
- Adição de efeitos multimídia, ajustes em controles e no jogo como um todo.
Após a conclusão da elaboração de Consultório do Dr. Tratanildo, pretendo fornecer algumas dicas a respeito de adequações de controles entre plataformas, sobre atualização de projetos entre versões do Unity e sobre publicação de jogos nas lojas digitais.
Neste momento, então, “me darei por vencido” e encerrarei nossa série.
Algumas curiosidades
Como já nos encontramos aqui no GameBlast há mais de 24 meses, é natural que surjam dúvidas sobre como se dá o processo de criação de uma série de longa duração. Vou compartilhar com vocês algumas curiosidades interessantes sobre esses últimos dois anos:
Todos os projetos em “Aprendendo a programar jogos em Unity” são considerados obras abertas: semelhantemente ao que ocorre com telenovelas e algumas séries, eles apresentam um começo bem definido, com argumentação inicial elaborada e projeto disponível no GitHub, mas são suscetíveis a ajustes até a entrega do último texto.
Preferi elaborá-los dessa forma por dois motivos principais:
- Conseguir diluir a elaboração dos jogos durante a escrita dos textos, permitindo ensinar a criar um jogo longo sem necessariamente tê-lo completamente pronto desde o primeiro dia da série;
- Permitir a eventual correção de erros, tanto de código quanto de configuração, nos textos subsequentes, caso perceba algo de errado.
À parte dos ganhos óbvios, nesse ritmo eu acabo exercitando regularmente minhas capacidades técnicas enquanto programador de jogos e de sistemas em geral. Isso me permitiu, em determinados momentos desses últimos dois anos, estar apto a ensinar desenvolvimento de games tanto em grupos de pesquisa aos quais faço parte quanto a alunos de escolas técnicas da região em que moro.
Uma exceção em relação à abordagem de obra aberta refere-se aos assets que utilizamos na construção dos jogos, pois busco utilizar na construção dos jogos apenas os que foram disponibilizados nos projetos iniciais via GitHub. Isso é um grande desafio, sobretudo em relação a projetos longos, como Consultório do Dr. Tratanildo, mas, ao menos até o momento, é uma abordagem que vem dando certo (e tomara que continue assim!).
Por fim, trago uma curiosidade que pouca gente chegou a notar desde que a série entrou no ar pela primeira vez: desde muito jovem, eu sempre almejei poder algum dia desenvolver meus próprios games; agora que isso é possível, como forma de homenagear meu “eu dos anos 1990”, as capas de todos os textos de nossa série apresentam como pano de fundo o mesmo background das caixas dos cartuchos de meu primeiro videogame, o Sega Master System.
Como não poderia deixar de ser, muitas pessoas apoiaram e ainda apoiam a elaboração da série, seja por meio da revisão dos textos, seja por meio de conselhos, de dicas e de observações importantes sobre os conteúdos disponibilizados.
Inicialmente, gostaria de agradecer à equipe de revisores do GameBlast, representados aqui pelo insuperável (e inoxidável) amigo Ives Boitano, que nos acompanha desde os primórdios da série.
Estendo, também, meus agradecimentos ao diretor de redação Farley Santos, por ter permitido o desenvolvimento da série e a consequente retomada da coluna GameDev em 2023; além dos conselhos que sempre prestou desde que entrei para o site.
Aos demais colegas redatores e amigos da bancada dos dois podcasts do Blast, fica aqui meu agradecimento pelos diversos convites para divulgação da coluna em seus textos e plataformas de áudio.
Por fim, mas não menos importante, agradeço a você, leitor, por nos acompanhar há mais de dois anos. Espero que os conteúdos que são publicados semissemanalmente possam ter lhe inspirado e divertido, quem sabe até lhe despertando o interesse em desenvolver suas próprias aventuras.
Cem textos não são tão tranquilos de se fazer, mas valeu a pena, não é mesmo, Pica-Pau?
Agora que já “passamos dos cem”, abra seu coração e conte-nos nos comentários qual foi a etapa que você mais gostou durante a elaboração dos três projetos, ou aquela que mais te desafiou tecnicamente para tirar do papel. Iremos adorar ouvi-lo!
Nosso próximo texto já encontra-se disponível, continue conosco nessa jornada de conhecimento e fique ligado sempre aqui no GameBlast!
Revisão: Ives Boitano













