Caso hoje seja a primeira vez que você lê conteúdos de nossa série, considere-se especialmente convidado a juntar-se a nós em uma interessante jornada de aprendizados sobre o mundo do desenvolvimento de games.
Elaborando diferentes projetos de programação de jogos digitais, estamos aprendendo na prática, encontro a encontro, interessantes técnicas e ferramentas utilizáveis no processo de elaboração das aventuras digitais que tanto curtimos desfrutar em nossos consoles, computadores e smartphones.
Ferramentas como a Unity são utilizadas no desenvolvimento de projetos de grandes estúdios. Games como Among Us, Cuphead e Super Bomberman R foram tirados do papel por meio da utilização dessa ferramenta; por isso, nossos projetos são desenvolvidos também utilizando-a como apoio para que possamos entender e aplicar as mesmas técnicas adotadas na criação de jogos dos mais diversos estilos gráficos e de gameplay.
Fique despreocupado caso não tenha tido anteriormente a oportunidade de aprender sobre programação de jogos ou de sistemas, pois todas as etapas de criação de nossos projetos são detalhadas de forma a permitir a todos que queiram tirar do papel seus próprios games experimentar e aplicar os conceitos em seus projetos pessoais.
A partir do primeiro texto da série, abordamos desde a instalação e a configuração do Unity em nossos computadores até os passos que envolvem a criação e a codificação de comportamentos e de regras de um game, a configuração de personagens, adversários, itens e elementos multimídia diversos dos cenários e das fases, dentre outras etapas muito interessantes.
Além do projeto atualmente em desenvolvimento, já elaboramos outros dois games 2D: Forest Ping Pong, uma “homenagem florestal” ao clássico Pong (Atari, 1972), e Motorista da Pesada, um jogo de plataforma inspirado no arcade japonês City Connection (Jaleco, 1985). Vale muito a pena conferir o processo de desenvolvimento de ambos por meio do índice disponibilizado no primeiro texto da série.
Caso queira aprender mais sobre esse fascinante universo, fica aqui nosso convite para trilhar conosco um caminho de aprendizados repleto de novos conhecimentos e de muita diversão!
De um cenário vazio a um excêntrico consultório
Para quem nos acompanha desde os primeiros projetos da série, é possível perceber que a complexidade da elaboração de Consultório do Dr. Tratanildo em relação aos demais jogos é bem maior, tanto pelos seus aspectos de gameplay, que contemplam diferentes mecânicas para controle de personagens, medicamentos e agentes de doenças, quanto pela mudança de paradigma espacial da ambientação do game, vivenciado agora em um cenário tridimensional.
Por falar em ambiente 3D, a elaboração básica do cenário foi a primeira atividade na elaboração de nosso game. Agindo como verdadeiros “pedreiros e engenheiros virtuais”, planejamentos e levantamos paredes, portas, teto, janelas e muitos outros elementos para dar vida ao excêntrico consultório de Tratanildo Doencita.
Detalhes importantes, como a configuração de Colliders para as paredes e quinas do cenário, além da configuração da iluminação do ambiente, não passaram despercebidos por nossos olhos durante as primeiras etapas de construção do consultório.

Aos poucos, fomos dando vida ao ambiente de nossa aventura, com o acréscimo do leito hospitalar, das prateleiras que receberiam, em breve, as pílulas de saúde, além de plantas, biombos e outros elementos decorativos interessantes.

Por falar em pílulas de saúde, durante sua concepção, pudemos aprender diferentes conceitos envolvendo Prefabs e customização de elementos tridimensionais por meio da criação e da edição de Materials e texturas.
Ao final do processo de posicionamento e de customização dos elementos do cenário, além da configuração de colisores para os demais elementos do cenário, tudo estava apto a receber um dos mais renomados médicos que o mundo virtual já teve a honra de recepcionar. Bastaria “apenas” que o tal médico estivesse apto a transitar pelo consultório...Médicos e pacientes pelo consultório
Antes de concluirmos os ajustes necessários para que Tratanildo Doencita pudesse caminhar adequadamente pelo cenário, os primeiros modelos representando os pacientes de nossa aventura foram posicionados em cena, de forma a estudarmos melhor seus comportamentos e como poderíamos agir para que eles também pudessem se movimentar pelo cenário de nosso game.
O modelo que utilizamos para representar os pacientes trazia consigo a possibilidade de personalização da aparência de seus membros, por meio de intervenções sobre os Materials utilizados em cada uma das partes dos bonecos 3D.
Dessa forma, pudemos de antemão nos planejarmos para a construção de variantes interessantes do modelo tridimensional dos pacientes, por meio da escolha de conjuntos de Materials a serem utilizados na representação dos enfermos a serem tratados pelo médico.

O controle das movimentações do médico e de seus pacientes envolveu a aplicação de animações à seus modelos. A elaboração de diversos fluxos de animações aplicáveis a ambos os tipos de personagens foi essencial para que pudéssemos elaborar reações interessantes aos humanoides do jogo, sem serem restritos apenas a aspectos relacionados à movimentação de personagens.

Em relação ao controle da movimentação de Tratanildo pelo seu consultório, nos experimentos iniciais utilizamos uma abordagem semelhante a jogos clássicos, como os primeiros títulos da série Resident Evil, com câmera fixa e controle de movimentos em estilo tank.

Depois, por meio de novos desenvolvimentos em relação à câmera, adotamos uma visão em terceira pessoa sobre os ombros do médico, permitindo um deslocamento mais natural do jogador pelo cenário.
Essas intervenções permitiram aprendermos interessantes conceitos sobre o uso de câmeras no Unity, a configuração de limites físicos no cenário e ajustes relacionados ao fluxo de animações, envolvendo condições de parada e de retomada da caminhada.
Com todos esses recursos implementados, pudemos tirar do papel as primeiras interações entre médico e paciente do game, codificando um pequeno sistema de diálogo prévio entre o enfermo e Tratanildo, a ser utilizado antes dos tratamentos serem iniciados de fato.
A elaboração do labirinto
Como o núcleo do enredo de nosso game envolve a utilização das pílulas de saúde e do maquinário atrelado ao leito hospitalar para o tratamento dos pacientes, nada mais lúdico do que a representação do interior dos corpos dos enfermos por meio de um labirinto tridimensional, cujos movimentos de inclinação controlados pelo jogador são aplicados tanto a ele quanto à cama presente no cenário, fazendo parecer com que, de fato, Doutor Tratanildo esteja aplicando seus tratamentos sobre o paciente a ser atendido no momento.
O primeiro passo dessa etapa envolveu a elaboração de um labirinto, construído fora dos limites do consultório.
Depois de sua concepção básica, realizamos inúmeros experimentos e ajustes envolvendo a exibição dinâmica de obstáculos e de pílulas de saúde dentro do novo ambiente criado.

Por fim, adicionamos ao labirinto, pela primeira vez, os grandes rivais de Tratanildo Doencita nessa empreitada virtual: os simpáticos, porém muito perigosos, agentes de doenças.
Posteriormente, além de configurarmos métodos de exibição do labirinto de forma simultânea à visualização interna do consultório, sincronizamos as inclinações do labirinto com as do leito hospitalar, concluindo a concepção básica da aventura a ser desenvolvida.
Comportamentos, Prefabs, ajustes e (muitos) códigos
Em sequência à inserção dos elementos básicos de nosso game, após ajustarmos o aspecto visual do labirinto, diferentes variações dos agentes de doenças foram elaboradas, cada uma representando um análogo a um tipo específico de pílula: monstrinhos roxos vulneráveis à pílulas roxas, monstrinhos amarelos vulneráveis à pílulas amarelas, e assim sucessivamente.
Essa intervenção em específico retomou o conceito de Prefabs que abordamos durante a elaboração das pílulas de saúde, o que nos poupou um tempo considerável de configuração dos monstrinhos durante a posterior implementação de novas funcionalidades a todas suas variantes.

A composição visual dos elementos a serem exibidos na tela, por meio de configurações no Canvas de nossa cena, foi realizada logo em sequência à inserção do paciente sobre o leito.
Informações importantes, como o tempo restante de tratamento, começaram a ser exibidos nos cantos superior e inferior da imagem do jogo.

Depois da construção inicial do labirinto, um dos elementos principais do gameplay de nosso jogo, demos início a uma sequência intensa, porém muito interessante, de configurações dos comportamentos esperados para cada elemento do jogo.
Elaboramos scripts e comandos para que Tratanildo pudesse coletar as pílulas pelo cenário, visando o posterior fornecimento dos medicamentos aos pacientes durante os tratamentos.
Em seguida, configuramos comportamentos dinâmicos de movimentação e reação à obstáculos para os diferentes agentes de doenças configurados em nosso game.

Também realizamos ajustes para a adequada visualização dos desafios a serem vencidos pelo jogador, em cada caso clínico a ser tratado pelo médico no consultório.
Mais recentemente, com o amadurecimento do projeto, configuramos uma quantidade inicial de desafios encadeados entre si, permitindo experimentarmos e ajustarmos as condições do jogo relacionadas a exibição das telas de vitória e de game over.
O que vem por aí
O caminho trilhado até o momento foi longo, mas é muito gratificante notarmos que, a cada encontro, chegamos mais perto da elaboração de um divertido game tridimensional.
Mais do que ver o projeto se tornar, de fato, um jogo, o conhecimento que estamos agregando neste processo nos preparar a alçar voos maiores, podendo aplicar posteriormente os inúmeros conhecimentos que construímos por meio das experimentações em nossos projetos pessoais.
Nos próximos encontros, daremos sequência a parte final da construção de Consultório do Dr. Tratanildo, por meio da realização de ajustes nos comportamentos de determinados elementos do cenário e sobre os controles do jogador, além da construção dos menus do jogo.
Nosso próximo encontro será no dia 15 de março. Até mais! Fique sempre ligado nas novidades do GameBlast!
Revisão: Mariana Marçal















