Buscar

INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS DIGITAIS AULA 3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO AO 
DESENVOLVIMENTO DE JOGOS 
DIGITAIS 
AULA 3 
 
 
 
 
 
 
 
 
 
 
 
Prof. Victor Moreira 
 
 
2 
CONVERSA INICIAL 
Nesta etapa, vamos conhecer algumas das principais plataformas de 
jogos e o que precisamos saber antes de desenvolver jogos nelas. 
Descobriremos os principais sistemas de desenvolvimento de jogos e como as 
lógicas de jogo se aplicam a elas. Estudaremos também o caso da lógica de jogo 
em Pac-Man, e como o comportamento dos inimigos afetam as regras e 
mecânicas do jogo e vice-versa. Ainda, vamos ver as principais características 
dos motores de jogo, ou game engine. 
TEMA 1 – SISTEMAS: PARTE 1 
Existem diversos dispositivos em que podemos jogar: os clássicos 
consoles, nosso celular de bolso, computadores e, ainda, existem aqueles que 
conseguem executar Doom em um teste de gravidez. 
Saiba mais 
Para saber mais do que estamos falando, recomendamos o link a seguir. 
Disponível em: <https://olhardigital.com.br/2020/09/10/noticias/desenv 
olvedor-faz-doom-rodar-em-um-teste-de-gravidez/. Acesso em: 22 fev. 2023. 
Cada plataforma de jogo tem as suas peculiaridades, e, como 
desenvolvedores, precisamos entender quais são elas. A seguir, vamos 
conhecer no geral algumas das plataformas mais populares. 
1.1 Plataformas 
Chamamos de “plataformas de jogos” os ambientes que, por meio da 
comunicação entre hardware e software, nos possibilitam executar os jogos. 
Cada plataforma de jogos pode ser pensada como um ambiente operacional. 
Nesse sistema, colocaremos todas as artes do jogo, áudio, scripts etc. Por 
intermédio de uma compilação, ou build, vamos gerar um arquivo que contém 
esse jogo. 
A escolha da plataforma em que o jogo vai funcionar é essencial para 
definir detalhes de como o jogo será feito. Por exemplo, se planejamos fazer um 
jogo de luta, como Street Fighter, será bem difícil adaptar os comandos de 
combos para jogar na tela de um smartphone. Da mesma forma, ao fazermos 
 
 
3 
um jogo tipo “infinity run”, como o Subway Surfers, este terá pouca atratividade 
para ser jogado em um console. Mesmo que seja possível uma adaptação dos 
controles, a questão é a adaptação à plataforma. 
Da mesma forma que a entrada e a saída, a capacidade gráfica da 
plataforma, a memória e o processador, o armazenamento, vários outros fatores 
podem impor a necessidade de alteração no jogo. É por isso que existem jogos 
que são exclusivos para uma plataforma específica. 
1.2 Arcades 
Essa plataforma vem se tornando obsoleta e perdendo sua popularidade. 
O principal motivo para isso são os consoles, que passaram a ser mais 
acessíveis e com alta qualidade gráfica. O arcade foi pensado e construído para 
ser uma máquina de um jogo só, dedicada, que roda um jogo otimizada para ela. 
Além disso, a intenção era ter várias máquinas instaladas para que os jogadores 
pudessem ter opções variadas de jogos. 
O arcade tem uma arquitetura fechada e todos os esquemas de controle 
são embutidos nele. Por isso, a manutenção só pode ser feita por um profissional 
que entende dessa arquitetura específica, o que torna a manutenção onerosa, 
além do alto valor de cada uma dessas máquinas. Todas essas características 
tornam os arcades quase inviáveis de se ter em casa, a não ser que sejamos 
colecionadores. 
Mesmo assim, ainda encontramos os arcades em casa de jogos, 
geralmente em shoppings, que atualmente focam na experiência do jogador. Por 
exemplo, jogos de corrida de carro colocam controles de volantes, de pedais e 
de câmbio para passar as marchas. Já nos jogos de moto, o jogador sobe em 
uma réplica de moto que pode se movimentar para os lados. São vários os 
exemplos de arcades que focam nesse tipo de experiência imersiva que o 
jogador normalmente não teria acesso em plataformas caseiras. 
 
 
4 
Figura 1 – Arcades modernos 
 
Crédito: Artapartment/Shutterstock. 
1.3 Consoles de video game 
Esta é, provavelmente, a primeira plataforma de jogos digitais que a 
maioria dos jogadores teve acesso, muito por conta da sua popularidade e preço 
baixo. Por muito tempo, os consoles foram a plataforma de jogos mais lucrativa; 
atualmente estão perdendo espaço para os smartphones. 
Figura 2 – Mercado global de jogos 
 
Fonte: Moreira, 2023. 
 
 
5 
Os consoles, assim como os arcades, têm uma arquitetura específica e 
fechada, capaz de executar jogos que são produzidos para ela. Com isso, os 
consoles passaram a ser uma opção economicamente mais viável do que os 
arcades. Assim, os jogos começaram a se adaptar a essa plataforma, com jogos 
mais longos e mais aprimorados. Com o passar dos anos, também começaram 
a ficar maiores, com o uso das mídias de CD, em que poderiam ter até 700mb 
de espaço, passando para os DVDs, depois para o Blu-ray e, mais recentemente, 
disponíveis por download em lojas virtuais. 
Os controles também mudaram e foram adaptados para melhorar a 
usabilidade e a ergonomia. Novos designs de controles foram criados, alguns 
até baseados em captura de movimentos. Hoje, controles dos consoles 
Playstation e Xbox são referência de usabilidade e tecnologias embarcadas. 
Figura 3 – Controles dos consoles Xbox e Playstation 
 
Crédito: Carlos_Pascual/Shutterstock. 
A vantagem dessa plataforma é sua acessibilidade e praticidade, uma vez 
que não é necessário conhecimento técnico de computação para colocar um 
console para funcionar, é só o ligar na tomada e jogar. Além disso, os jogos já 
vêm otimizados para a plataforma. Isso significa que o game passou por um 
processo de homologação com a produtora do console. 
 
 
6 
Quanto às desvantagens, essa plataforma está relacionada às versões de 
cada console. Ainda é pouco comum termos jogos com retrocompatibilidade 
entre versões de consoles; é tão raro que alguns jogos a destacam como um 
diferencial. Por isso, a cada novo lançamento de console o jogador se vê 
obrigado a comprá-lo se quiser jogos novos e mais modernos. A manutenção 
dos consoles também é um problema, muitas vezes cara e pouco acessível, o 
que faz com que vários usuários criem vídeos na internet explicando como 
resolver um bug, por exemplo. 
TEMA 2 – SISTEMAS: PARTE 2 
2.1 Computadores 
Os computadores foram um berço para os jogos digitais, desde o 
FreeCell, passando por emuladores até chegarmos aos “Massively Multiplayer 
Online Role-Playing Game” – MMORPG (ou “jogo de representação de papéis 
on-line para vários jogadores em massa”, em tradução livre). Esses 
equipamentos nem sempre foram vistos como uma plataforma popular para se 
jogar, mas com a evolução dos computadores pessoais isso começou a mudar. 
O computador tem a característica de ser multiuso, ao contrário das outras 
plataformas, como o console, sendo possível executar diversos tipos de 
programas. 
Os computadores apresentam uma arquitetura mais genérica, ou seja, é 
possível instalar diversos tipos de programas e aplicações, que, nesse contexto, 
dependem do sistema operacional. Além disso, é possível otimizar o hardware 
por meio da adição de memória RAM, armazenamento, placa de vídeo etc. Além 
disso, computador pode ser usado para vários propósitos, como trabalho, 
estudo, entretenimento, bem como é possível utilizar tanto os controles 
tradicionais para jogar – teclado e mouse – como também joysticks que se 
conectam facilmente a esse dispositivo por bluetooth. 
 
 
7 
Figura 4 – Plataforma de computador 
 
Crédito: Gorodenkoff/Shutterstock. 
A maior desvantagem dessa plataforma é que ela exige um nível de 
conhecimento técnico. Por exemplo, o jogador de computador precisa entender 
quais são as suas configurações de hardware e se elas atendem aos requisitos 
específicos do jogo. Além disso, outra desvantagem são os títulos exclusivos de 
consoles, que raramente são compatíveis com os computadores. 
2.2 Portáteis ou handhelds 
Os portáteis, ou handhelds, são video games que podem ser carregados 
para qualquerlugar. Os mais modernos têm acesso à internet, o que possibilita 
jogar jogos on-line. Por se tratar de dispositivos portáteis, essa plataforma 
costuma apresentar um hardware menos potente quando comparado aos 
computadores e consoles. Isso impacta diretamente o tipo de jogo que pode ser 
executado, a quantidade de horas que podemos jogar etc. Os componentes dos 
video games portáteis são todos pensados em termos não apenas de 
performance, mas também de consumo de energia, para maximizar o tempo que 
o dispositivo se mantém ativo para o jogador. 
 
 
8 
Figura 5 – Portátil Nintendo Switch 
 
Crédito: SrideeStudio/Shutterstock. 
A maior vantagem desse tipo de plataforma é que o jogador pode levá-la 
a qualquer lugar. Geralmente, os controles são embutidos no dispositivo, mas no 
caso do dispositivo Nintendo Switch isso é uma exceção, já que podem ser 
removidos. A lista de jogos também costuma ser exclusiva: mesmo em 
plataformas como a do Steam Deck, os jogos precisam ser portados. 
O mercado dessa plataforma sempre teve o domínio da desenvolvedora 
Nintendo, que começou com o dispositivo Game Boy e, atualmente, faz muito 
sucesso com o Switch. Além disso, nos últimos anos, principalmente depois do 
advento de jogos que são executados por nuvem, os portáteis vêm ganhando 
cada vez mais destaque. 
2.3 Dispositivos móveis 
Inicialmente, esses dispositivos contavam com jogos simples, como o 
“jogo da cobrinha” e vários outros tipos de jogos casuais. Com a evolução dos 
dispositivos, que ocasionaram melhoras no hardware e na bateria, jogos mais 
refinados passaram a ser criados. 
 
 
9 
 
Crédito: Marko Aliaksandr/Shutterstock. 
Para muitos, o smartphone funciona como um computador de bolso, 
sendo usado por vezes para editar textos e até vídeos. Da mesma forma que os 
portáteis, tem uma importante limitação quanto à bateria. Como vimos na Figura 
2 anterior, jogos para smartphones já são a maior receita mundial. Sendo assim, 
diversas empresas já se especializaram em desenvolver jogos exclusivamente 
para o mobile. Os jogos desenvolvidos para esses dispositivos normalmente 
levam em conta restrições tecnológicas, espaço de armazenamento, capacidade 
de processamento gráfico, eficiência energética, como também a interface do 
dispositivo. 
O principal gênero dos jogos para dispositivos móveis é o casual, ou seja, 
é pensado para se passar pequenos períodos jogando. Por isso, o jogo precisa 
ser intuitivo e fácil de aprender, para que o jogador entre logo em ação, e que as 
partidas sejam curtas, para que o jogador consiga concluir uma fase em poucos 
minutos. Por esses motivos, essa plataforma mobile é a mais popular, com uma 
base de usuários gigantesca. 
2.4 On-line 
São aqueles que, em uma plataforma on-line, estamos nos referindo por 
precisarem de uma conexão à internet. São jogos como os gêneros MMORPG, 
 
 
10 
Multiplayer Online Battle Arena – Moba (ou “arena de batalha on-line para vários 
jogadores”, em tradução livre), entre outros. A principal característica desses 
jogos diz respeito aos servidores, nos quais os jogadores se conectam ao game. 
É claro que grande parte do processamento é realizado no computador do 
jogador, mas a velocidade da conexão também é um grande limitador. De nada 
adianta o jogador ter o computador mais potente se estiver longe do servidor. 
Figura 6 – Jogos on-line 
 
Crédito: Gorodenkoff/Shutterstock. 
Os jogos on-line requerem uma infraestrutura que não é adquirida pelo 
jogador, mas pela empresa que oferece suporte ao jogo. Uma característica dos 
jogos on-line é que conta com uma grande quantidade de jogadores interagindo 
simultaneamente, o que, por vezes, pode sobrecarregar o servidor. 
Os jogos on-line podem ser criados como mundos persistentes ou não 
persistentes. Nos persistentes, as ações do jogador são mantidas não apenas 
para ele, como também para os outros jogadores. Já nas não persistentes, as 
alterações são vistas apenas para um jogador ou para um grupo. Para isso, os 
servidores precisam ter estruturas de múltiplos processadores e eventos de 
armazenamento específico. 
TEMA 3 – DESENVOLVENDO LÓGICAS DE JOGO 
Nesta seção, veremos um pouco sobre como é um jogo do ponto de vista 
da programação ou, mais especificamente, sobre as lógicas do jogo. Antes de 
 
 
11 
começar a programar, precisamos compreender alguns pontos relacionados aos 
comportamentos dos sistemas que vamos criar e refletir sobre eles. 
Para se tornar um bom desenvolvedor de jogos, precisamos saber, no 
mínimo, alguns aspectos básicos da programação. Por exemplo, estruturas que 
são usadas na construção de programas, como os laços de repetição, os 
condicionais, as variáveis, as funções etc. Nada disso será necessário nesse 
momento; o objetivo aqui é compreender as lógicas de programação e quanto 
cada tipo de comportamento do sistema pode ser complexo. 
É na arquitetura de software que definiremos quais tipos de módulos ou 
componentes serão necessários para que o programa/game funcione. Vamos 
definir como eles se comunicarão e trocarão informações, quais tipos de padrões 
de código existem para realizar determinadas tarefas. Mesmo assim, não existe 
uma arquitetura padrão para jogos, normalmente fica a critério da equipe de 
desenvolvimento escolher ou criar seus padrões. Cada equipe definirá aspectos 
para facilitar a programação, melhorar os processos internos de produção de 
assets, tornar mais fácil o desenvolvimento para a plataforma-alvo, prover uma 
interface mais intuitiva, possibilitar uma maior flexibilidade na execução de 
alterações e testes etc. 
Em termos gerais, podemos dividir os aspectos de arquitetura em três 
partes principais: a operacional, que se relaciona a detalhes da plataforma e/ou 
ao sistema operacional destino do jogo e implementa aspectos mais técnicos de 
como o jogo acessa o recurso computacional para executar; a lógica do jogo, 
que é o jogo em si, como regras, mecânicas, jogabilidade, elementos de jogo 
etc., em suma, tudo relacionado ao comportamento dos elementos de jogo; a 
visualização, que remete à apresentação dos elementos, como modelos 3D, 
texturas, animações, ou seja, tudo relacionado à renderização do game. 
3.1 Lógica de jogo 
A lógica do jogo define como o jogo será jogado, quais são os elementos 
no universo e como eles interagem. Ela define como o estado do jogo pode ser 
alterado por estímulos externos, como quando o jogador aperta botões 
específicos no joystick ou teclado, e o como sistema reage a isso. 
Veremos os cinco principais componentes da construção da lógica do jogo 
a seguir. 
 
 
12 
3.1.1 Estado do jogo e estruturas de dados 
Jogos simples podem usar uma estrutura de lista, mas jogos mais 
complexos precisam de algo mais flexível e otimizado para que a busca de “o 
que fazer” seja mais rápida. Essa estrutura de jogo deve ser capaz de percorrer 
as estruturas de dados do objeto rapidamente para alterar o estado de um objeto, 
como também ser capaz de manter outras possibilidades para as propriedades 
de cada objeto. 
Pensemos nas propriedades de um objeto como pontos de vida de uma 
personagem; elas devem ser acessadas constantemente por diversos sistemas. 
Por exemplo, se a personagem recebe um dano, a barra de vida deve mudar; 
assim como as animações que o modelo 3D terá que fazer para que o jogador 
perceba o dano, e assim por diante. 
No entanto, não devemos confundir a representação lógica de um objeto 
do jogo com a representação visual de um objeto. A lógica diz respeito ao estado 
do objeto, como a quantidade de dano que um objeto recebe. Já a representação 
visual contém dados de modelo e texturas que transmitem o estado visualmente 
ao jogador. 
Dessa forma, podemos criar objetos que contêm todas as várias 
definições que tornam esse objeto de jogo único. Algumas pertencem à 
visualização do jogo, como o objeto de malha do modelo 3D da personagem. 
Outrospodem pertencer à lógica do jogo, como dados que informam ao sistema 
de física. Já outros objetos podem descrever dados específicos do jogo, como 
os pontos de vida de uma personagem. 
Quando qualquer dado de lógica de jogo muda, a lógica de jogo a 
transmite como um evento. Por exemplo, quando a personagem recebe dano, a 
lógica do jogo envia um evento informando todos os subsistemas do jogo sobre 
o dano. 
3.1.2 Física e colisão 
A física está relacionada principalmente às regras e ao universo do jogo. 
Ou seja, são essas regras que definem como a física será aplicada no jogo, 
desde aspectos como gravidade até os colisores. 
A maioria dos jogos não apresenta um sistema de física completamente 
realístico, nem mesmo simuladores de voo como Flight Simulator são 
 
 
13 
completamente realísticos. Um sistema de física bom tornará o jogo mais 
divertido, mas um sistema de física ruim removerá completamente a diversão de 
qualquer jogo. 
Um sistema de física bom tornará o jogo mais divertido, mas um sistema 
de física ruim removerá completamente a diversão de qualquer jogo. 
Podemos verificar isso observando alguns movimentos e animações em 
jogos. Ao compararmos dois jogos, um super-realista e outro bem abstrato, por 
exemplo, Limbo e Elden Ring, notamos que no primeiro as animações, por mais 
simples que sejam, fazem sentido com a arte do jogo. Já, no segundo, os 
movimentos e as animações, apesar de muito bem construídos, ainda não 
revelam os movimentos com alta fidelidade. 
Isso ocorre porque, quando a personagem parece tão realista, achamos 
difícil aceitar quando esta faz algo irreal. Isso tem a ver com a psicologia humana 
e como observamos as coisas à nossa volta. Quando nos deparamos com uma 
tecnologia que se aproxime da realidade, como fazem os sistemas de captura 
de movimento, nosso cérebro busca, com mais frequência, erros e disparidades 
com a realidade. 
3.1.3 Eventos 
Quando a lógica do jogo faz alterações no estado do jogo, como criar ou 
mover um objeto, vários sistemas responderão. Por exemplo, em um jogo no 
qual o jogador precisa abrir uma porta, o sistema é formado por um modelo 3D 
da porta, com texturas, e animações de abrir e fechar. Nesse caso, podemos 
supor alguns eventos para essa porta, um em que ela está fechada e é 
necessário ter um colisor para o jogador não passar daquele ponto, ou outro 
estado, em que porta está aberta e o jogador pode passar. A depender da 
complexidade do jogo, essa porta pode precisar de uma chave para ser aberta 
ou da resolução de um puzzle para tal. 
Muitos desenvolvedores criam um sistema de eventos para defini-los e os 
dados que os acompanham. Diferentes subsistemas são registrados para ouvir 
os eventos aos quais eles reagirão. Um bom exemplo disso é o sistema de abrir 
e fechar portas; ele pode ser registrado para ouvir eventos de colisão de objetos 
de modo que possa reagir ao jogador. 
Arquiteturas baseadas em eventos tendem a tornar seu sistema de jogo 
limpo e eficiente. Em vez de diversos subsistemas ficarem esperando a colisão 
 
 
14 
de objeto, o código simplesmente envia um evento para os subsistemas que 
precisam receber. 
O código do evento mantém unida a arquitetura do jogo. Uma vez que 
mantém o registro de eventos, os subsistemas são registrados para ouvir os 
eventos de seu interesse e outros subsistemas enviam eventos conforme 
necessário. 
3.1.4 Gerenciador de processos 
Gerenciar os processos em um sistema de jogo é crucial para executar 
um game de forma adequada. Precisamos compreender que quase nunca o 
jogador terá um hardware extremamente potente, logo, a ordem em que esses 
processos acontecem é de suma importância para o computador. Cada ação no 
jogo pode ser descrita com algumas linhas de código, mas, para formar uma 
lógica de como e quando cada ação acontecerá, precisaremos de um 
gerenciador de processos. 
Um bom exemplo de gerenciador é o que acontece quando o jogador 
lança uma bomba no jogo. Um processo pode rastrear o movimento parabólico 
da bomba até que ele colida com algo, enquanto outro pode gerenciar uma 
explosão de bola de fogo e outro busca por personagens na área da explosão e 
envia o dano. 
3.1.5 Interpretador de comandos 
É importante fazer com que o comando seja interpretado pela máquina e 
que esta possa entender os comandos do jogador. Por exemplo, em um jogo de 
luta, os movimentos frente, baixo, esquerda e direita são enviados por meio de 
inputs, que podem ser de teclado ou joystick. Então, se o jogador aperta para 
direita, a personagem anda para direita; e se aperta o botão esquerdo, a 
personagem anda para a esquerda. A simplicidade termina nesse ponto, porque 
o game precisa prever uma série de outras possibilidades, como se há chão para 
pisar, se a personagem pode ou não se mover, quais são as animações de cada 
movimento etc. 
A visualização do jogo apresenta uma interface para o jogador que se 
altera conforme o jogador insere os comandos. Esse comando é enviado para a 
 
 
15 
lógica do jogo, o código que define o estado das estruturas de dados que serão 
apresentadas ao jogador. 
TEMA 4 – LÓGICA DE PAC-MAN 
Agora veremos a lógica de jogos aplicada em um jogo. Aqui estudaremos 
o jogo Pac-Man, como ele funciona, suas regras e mecânicas. 
Saiba mais 
Recomendamos ver o gameplay de Pac-Man, disposto no link a seguir. 
Disponível em: <https://www.youtube.com/watch?v=opNumHDfuV0>. Acesso 
em: 22 fev. 2023. 
Também é interessante ver outros vídeos do gameplay de Pac-Man, 
inclusive o vídeo disposto no link a seguir sobre o game design desse jogo. 
Disponível em: <https://www.youtube.com/watch?v=S4RHbnBkyh0>. Acesso 
em: 22 fev. 2023. 
Além disso, podemos jogar a versão web do Pac-Man no link a seguir. 
Disponível em: <https://g.co/kgs/TBm5kR>. Acesso em: 22 fev. 2023. 
Em Pac-Man, o jogador controla uma bolinha amarela. Seu objetivo é 
comer todos os pontinhos do mapa, sem se deixar ser pego pelos fantasmas. 
Para mover o Pac-Man, o jogador deve usar as teclas de direcionais e 
movimentá-lo para cima, para baixo, para a direita e a esquerda. O mapa do jogo 
é um labirinto que consiste em vários caminhos delimitados por paredes. Caso 
os fantasmas peguem o Pac-Man, ele perde uma vida; o jogador usualmente 
começa com três vidas. Existem pontinhos especiais que são referidos como 
“pílulas de energia”, que dão ao Pac-Man o poder de “comer” os fantasmas; esse 
modo e chamado de “energizado”. Cada fantasma tem um padrão de movimento 
próprio, e o jogador deve ter cuidado e atenção para não ser encurralado por 
eles. 
Agora, vamos analisar alguns pontos importantes sobre as mecânicas do 
jogo. Existe uma diferença entre o Pac-Man no modo energizado e o no modo 
normal. O Pac-Man se energiza depois de pegar a bolinha bônus, e tem 
momentaneamente o poder de comer fantasmas. Essa diferença não afeta 
apenas o confronto com os fantasmas, mas até a forma como eles se 
movimentam, nesse caso, os fantasmas fogem do jogador. 
 
 
16 
Existem estados diferentes dentro do jogo que alteram o modo como os 
elementos se comportam ou se apresentam para o jogador. Esse conjunto de 
características é o estado do jogo, que precisa ser atualizado constantemente. 
Em nível de programação, isso significa manter um conjunto de variáveis e 
estruturas com informações sobre os vários elementos do jogo, bem como 
executar ações na medida em que o estado se transforma. Por exemplo, se 
todas as bolinhas presentes no mapa acabarem, o jogo precisa saber dessa 
ocorrência e que o jogador venceu a partida, exibindo informações na tela. Se o 
Pac-Man for pego por um fantasma e não tiver mais tentativas, a temida tela de 
Game Over será exibida para o jogador. 
Figura 7 – Momento em que o Pac-Man pode comer o fantasma 
 
Fonte: Moreira, 2023. 
4.1 Modo dos fantasmas 
Os quatro fantasmas se chamam Blinky, Pinky, Inky e Clyde. Eles estão 
sempre em um dos trêsmodos possíveis: chase (“perseguir”); scatter 
(“espalhar”) ou frightened (“assustado”). 
4.1.1 Modo chase ou “perseguir” 
O modo chase é o modo normal; nele, os fantasmas estão tentando 
encontrar e capturar Pac-Man. Cada um dos quatro fantasmas tem um 
comportamento único enquanto persegue o jogador. O Blinky, o fantasma 
 
 
17 
vermelho, age como uma sombra, sempre buscando estar perto do Pac-Man; 
Pinky, o fantasma rosa, tem o objetivo de emboscar Pac-Man, tentando entrar 
na frente dele; Inky, o fantasma azul, patrulhará uma área e não é muito 
previsível nesse modo; Clyde, o fantasma laranja, está se movendo de forma 
aleatória e parece ficar fora do caminho de Pac-Man. 
4.1.2 Modo scatter ou “espalhar” 
No modo scatter, os fantasmas param de perseguir Pac-Man e cada um 
se moverá para seus respectivos cantos por alguns segundos. O fantasma 
vermelho se move em direção ao canto superior direito, enquanto o fantasma 
rosa se move em direção ao canto superior esquerdo. O fantasma azul se move 
em direção ao canto inferior esquerdo, e o fantasma laranja se move em direção 
ao canto inferior esquerdo. Esse modo dura apenas alguns segundos e, em 
seguida, muda de volta para o modo chase. 
4.1.3 Modo frightened ou “assustado” 
O modo “assustado” ocorre quando Pac-Man fica energizado ao comer 
uma pílula de energia. Existem quatro pílulas localizadas no labirinto e todos os 
quatro fantasmas mudam para esse modo quando Pac-Man está energizado. Os 
fantasmas ficam azuis escuros e vagam pelo labirinto, tornando-se vulneráveis. 
Eles piscarão momentos antes de retornarem ao modo “perseguir” ou “espalhar”. 
4.2 Personalidades dos fantasmas 
As únicas diferenças entre os fantasmas são seus métodos de seleção de 
destino nos modos “Perseguir” e “espalhar”, já que o modo “assustado” tem um 
perfil de aleatoriedade. 
4.2.1 Fantasma vermelho 
O fantasma vermelho começa fora da casa fantasma e, geralmente, é o 
primeiro a ser visto como uma ameaça, já que ele traça uma linha reta até o Pac-
Man. Ele é referido como Blinky, e o jogo descreve sua personalidade como 
sombra. O destino de Blinky no modo “perseguir” é definido como o bloco atual 
de Pac-Man. Por isso, Blinky persegue o Pac-Man ficando bem atrás dele. 
 
 
18 
Mesmo que o método de rastreio de Blinky seja muito simples, ele tem 
uma peculiaridade que os outros fantasmas não têm; em dois pontos definidos 
de cada nível, sua velocidade aumenta em 5% e seu comportamento no modo 
“espalhar” muda. O tempo da mudança de velocidade varia de acordo com o 
nível, bem como ocorre cada vez mais cedo à medida que o jogador progride. 
4.2.2 Fantasma rosa 
O fantasma rosa começa dentro da casa fantasma, no centro da tela, e 
sempre sai imediatamente, mesmo no primeiro nível. Seu apelido é Pinky, e sua 
personalidade é descrita como rápida. Pinky não se move mais rápido do que 
nenhum dos outros fantasmas, mas seu esquema de comportamento tenta 
movê-lo para o lugar em que Pac-Man está indo, em vez de onde ele está 
atualmente. 
O bloco de destino de Pinky, no modo “perseguir”, é determinado 
observando a posição e orientação atual de Pac-Man e selecionando o local 
quatro blocos à frente de Pac-Man. Como o seu bloco-alvo é definido como 
quatro blocos na frente de Pac-Man, se Pac-Man for ao seu encontro, o bloco-
alvo de Pinky estará realmente atrás de si mesmo, uma vez que eles estão a 
menos de quatro peças de distância. Isso fará com que Pinky escolha tomar 
qualquer outra direção, a fim de voltar a perseguir o seu alvo. Por causa disso, 
é uma estratégia comum, quando Pinky estiver chegando perto do Pac-Man, 
voltarmos de encontro ao fantasma. 
4.1.3 Fantasma azul 
O fantasma azul, ou Inky, permanece dentro da casa fantasma por um 
curto espaço de tempo no primeiro nível. Ele só se junta à perseguição até que 
Pac-Man tenha conseguido comer pelo menos 30 dos pontos. Inky é difícil de 
prever porque ele usa a posição e orientação do Pac-Man, bem como a posição 
de Blinky (o fantasma vermelho) para calcular onde irá. A partir daí, desenhamos 
um vetor da posição de Blinky para esse bloco e, em seguida, dobramos o 
comprimento do vetor. O bloco em que esse novo vetor estendido termina será 
o alvo real de Inky. 
 
 
19 
Figura 8 – Vetor de posição do fantasma azul 
 
Fonte: Moreira, 2023. 
Como resultado, o alvo de Inky pode variar muito quando Blinky não está 
perto de Pac-Man. O cálculo de “duas peças na frente de Pac-Man” de Inky sofre 
exatamente o mesmo erro de posicionar o fantasma no bloco da parede. 
Entretanto, nesse caso, o comportamento padrão dos fantasmas seria parar um 
bloco antes e se reposicionar. 
4.2.4 Fantasma laranja 
O fantasma laranja, Clyde, é o último a deixar a casa fantasma, e só sai 
depois que um terço dos pontos tenham sido comidos. O comportamento desse 
fantasma dá a impressão de que ele está fazendo outras coisas e não 
procurando o Pac-Man. 
Clyde tem dois modos de comportamento que ele constantemente alterna 
com base em sua proximidade com Pac-Man. Ele segue em direção ao Pac-
Man, mas quando chega a um raio de oito blocos, fica assustado e se direciona 
para o canto inferior esquerdo. A combinação desses dois métodos tem o efeito 
geral de Clyde alternando entre vir diretamente em direção a Pac-Man e, em 
seguida, mudar de ideia e voltar para seu canto sempre que chegar muito perto. 
 
 
20 
Se Pac-Man permanecer parado nessa posição, Clyde indefinidamente daria 
uma volta em torno dessa área. 
Tudo o que vimos aqui são características da lógica do jogo, ou seja, são 
partes da programação preocupadas em como o jogo funciona no sentido da 
interação com o jogador. É uma parte independente do hardware ou do sistema 
no qual o jogo vai funcionar. 
TEMA 5 – GAME ENGINE 
Para desenvolver jogos para cada um desses sistemas, precisamos de 
uma game engine ou “motor de jogo”. Após vários anos de desenvolvimento de 
jogos, algumas empresas começaram a criar motores de jogos próprios, uma 
vez que os processos internos eram bem conhecidos. Depois de criar vários 
jogos, algumas tarefas se tornam recorrentes, e criar interfaces que facilitam 
essas tarefas torna o processo mais rápido. Todo jogo precisa controlar um 
estado, desenhar objetos na tela, capturar os comandos etc. As empresas de 
jogos perceberam que se fizessem um programa abrangendo essas funções que 
se repetem, isso possibilitaria focar em outros detalhes do jogo, como lógicas, 
artes, efeitos sonoros etc. 
Portanto, o motor de jogo foi criado para facilitar a vida de quem faz jogos. 
Podemos dizer que o motor representa um framework de desenvolvimento de 
jogos, já que ele apresenta várias funcionalidades previamente implementadas 
em sua estrutura. Dessa forma, o desenvolvedor precisa complementar e/ou 
alterar o código para criar o seu jogo dentro de um ambiente pré-estabelecido. 
Os motores costumam apresentar várias funcionalidades, como: 
• motor gráfico, que desenha na tela (2D e/ou 3D); 
• motor de física, que calcula como os objetos se movem e se comportam; 
• sistemas de suporte a áudio e animações; 
• comunicação de dados; 
• gerenciamento de memória; 
• gerenciamento do fluxo de execução; 
• ferramentas de código; e 
• inteligência artificial. 
O motor de jogo Unity 3D tem várias ferramentas, desde edições simples 
de modelos 3D até criação de animações e programação de eventos. Isso 
 
 
21 
possibilita o trabalho de diferentes profissionais no uso do programa. O motor já 
tem uma base de implementação pronta para usarmos e estendermos com 
código próprio. Dependendo do motor, isso pode ser feito de forma mais 
rudimentar, por meio do uso de bibliotecas de código ou, de forma mais 
elaborada, com uma interface contendo programas para edição do código, 
edição de modelos 2D/3D, gerenciamento de recursos, edição de animação etc. 
Um detalhe importante é que o motor não substitui todas as ferramentas 
necessáriasna produção de um jogo. Embora alguns até tenham a capacidade 
de criar modelos 3D básicos, dificilmente conseguirão substituir uma ferramenta 
específica como o 3ds Max ou Blender. Os motores possibilitam que o 
desenvolvedor carregue recursos produzidos nessas ferramentas de forma 
intuitiva e com um bom suporte para diferentes formatos. Os motores de jogos 
podem ser vistos como uma camada intermediária, ou middleware, entre a 
codificação do jogo e o hardware no qual ele é desenvolvido ou executado. 
5.1 Entradas 
Um dos aspectos mais importantes de um jogo é como o jogador vai jogar. 
Os motores de jogos geralmente suportam uma variedade de tipos de entrada: 
teclado, mouse, joystick, toques na tela etc. Existem muitas maneiras diferentes 
de lidar com a entrada, mas há dois principais meios para isso: por meio de 
eventos ou de sondagem. 
Os eventos de entrada são ativados por intermédio de ações do jogador, 
é quando pressionamos uma determinada tecla ou botão. Os motores são 
capazes de mapear os principais tipos de controles como teclado, mouse e 
alguns joysticks. Vale lembrar que se usarmos um joystick diferente dos comuns, 
como o do Playstation ou do Xbox, será necessário mapear os botões 
manualmente. Esse mapeamento serve para em ações comuns como “pular” ou 
“atirar”, para que possamos construir o código sem ter que nos preocuparmos 
com o usuário que deseja jogar usando um layout diferente daquele em torno do 
qual construímos o nosso jogo. 
A sondagem geralmente é feita por meio da verificação constante dos 
dados. Por exemplo, em um jogo que usa o giroscópio para mover a 
personagem, o sistema precisa ficar constantemente verificando os dados 
enviadores do giroscópio. Essa sondagem também é importante para controles 
analógicos. Por exemplo, em muitos jogos de corrida se usa o analógico para 
 
 
22 
diferenciar curvas mais fechadas ou mais abertas de acordo como a posição do 
direcional analógico. 
5.2 Gráficos 
Uma das principais coisas que chamam a atenção dos desenvolvedores 
de jogos para um motor é a capacidade de gerar ótimos gráficos sem muito 
esforço. Os jogos são construídos em torno de modelos 3D que geralmente são 
criados de modelagem externa e depois são importados para o motor. Ou seja, 
quanto maior for o leque de possibilidade de exportação desses modelos, maior 
será o público que esse motor atingirá. 
Uma vez que o modelo 3D tenha sido importado para o motor, o 
desenvolvedor pode adicioná-lo ao jogo que está construindo, colocar mapas de 
colisão, materiais, assim como gerar sombras para criar um objeto mais crível. 
Os motores de jogo também apresentam uma série de tecnologias e efeitos de 
iluminação, que dão vida aos modelos, além de lidar com a animações e efeitos 
visuais. 
5.3 Som 
O som também é muito importante para os jogos, apesar de ser 
negligenciado por alguns desenvolvedores. Adicionar efeitos sonoros aos jogos 
não é tão simples, principalmente quando falamos de jogos 3D. 
Os efeitos sonoros precisam de um tratamento especial; alguns motores 
podem projetar sons em um ambiente 3D. E com o tratamento correto, é possível 
incorporar diversos efeitos de som para dar a atmosfera necessária ao jogo. Há 
também muitas maneiras de melhorar o realismo de um som, como adicionar 
modulação de tom e reverberação para fazer parecer que o som está saltando 
das paredes de seus arredores. Por exemplo, o som de espadas em confronto 
em um campo aberto precisa ser diferente de uma batalha em uma masmorra. 
5.4 Conectividade 
Nos últimos anos, jogos começaram a oferecer modos de jogos 
multiplayer on-line com maior frequência, com o principal propósito de 
incrementar a experiência de jogo adicionando partidas que podem ser 
compartilhas com os amigos. Isso requer funções em torno da comunicação 
 
 
23 
entre diferentes servidores ou até mesmo outros computadores. A maioria dos 
motores de jogo já fornecem muitos componentes e scripts que fazem a maior 
parte do trabalho. Isso possibilita ao desenvolvedor que trabalhe nos aspectos 
da diversão do multiplayer, em vez de se preocupar com as complexidades do 
tráfego. 
5.5 Física 
Sempre foi possível notar que, em alguns jogos, o comportamento de 
certas coisas não fazia sentido, seja um caixa que sai voando ou uma cortina 
intransponível. Essa incongruência acontece porque nós temos um 
conhecimento sobre o peso das coisas, e podemos prever como se 
comportariam. Atualmente existem até mesmo motores especializados em 
simulações físicas, como Havok e PhysX, da Nvidia, que fornecem diversas 
funções para promover uma física mais realista. 
Quando o motor renderiza um cubo em um jogo, ele é apenas um efeito 
visual, e combinamos com mapas de refração de luz e colisão para dar a ele 
uma sensação de que é um objeto real. Entretanto, não há nada inerente ao 
cubo que diga que ele tem que obedecer às leis da física. Por isso, precisamos 
adicionar a física ao cubo para que ele reaja à gravidade ou seja empurrado, 
disparado etc. O cubo recebe características físicas que podem não ser as 
mesmas que a forma visual, desde massa, atrito, estaticidade, entre outras 
propriedades para criar um objeto que pode interagir com o mundo ao seu redor. 
Quanto mais realista e complexa for a física aplicada no jogo, maior será 
a necessidade de processamento no jogo, uma vez que todos os cálculos 
relacionados à física precisam ser realizados em tempo real. Por isso, em muitos 
jogos são adicionados apenas efeitos de física simples, dessa forma, 
principalmente quando falamos de jogos mobile, a física parece pouco realista. 
5.6 Interfaces gráficas do usuário 
Os motores de jogos precisam suportar alguns recursos para a construção 
da Graphical User Interface (GUI, ou “Interface Gráfica do Usuário”). Cada jogo 
tem a sua GUI, que busca se encaixar ao estilo do jogo. Sempre que pensamos 
em fornecer uma boa experiência ao jogador, precisamos ter uma GUI que 
consiga comunicar o que é necessário. A maioria dos motores já oferecem 
 
 
24 
interfaces padrão, que podem ser facilmente alteradas. Assim, podemos criar 
menus, botões e barras personalizadas do nosso jogo. 
5.7 Scripts 
Outra parte muito importante dos motores é a criação ou edição de scripts 
ou códigos. A maioria dos motores de jogos fornecem alguns templates para 
iniciar um jogo com o jogador em uma posição específica, adicionando 
movimento de câmeras, geradores de partículas, manipulação de luzes, eventos 
e uma série de outros recursos. No meio deles, o que dá vida a tudo isso são os 
códigos implementados. Geralmente a criação de scripts é uma tarefa bem fácil, 
como clicar com o botão direto do mouse, mas a edição é que será complexa. 
Por exemplo, na Unity a criação de scripts é bem simples, só ir em Assets > 
Create > C# Script. Contudo, a edição de script fica a cargo de outros programas, 
como o Visual Studio. É com o Visual Studio que vamos de fato programar, ou 
seja, escrever o código do jogo. No entanto, sempre que escrevermos alguma 
coisa no código, o motor de jogo precisará compilar e verificar se há erros nele. 
Figura 9 – Criação de scripts no Unity 
 
Fonte: Moreira, 2023. 
5.8 Benefícios e desvantagens 
Um dos maiores benefícios dos motores de jogos são como eles fornecem 
aos desenvolvedores ferramentas para a construção de jogos, para que eles não 
precisem “reinventar a roda”. Isso vai desde otimizações gráficas, para obter uma 
boa taxa de frames per second (FPS, ou “quadros por segundo”), até a 
importação de assets. 
 Eles basicamente fazem parte do trabalho para que desenvolvedores 
possam se concentrar na arte, na história e em outros fatores importantes para 
criar um bom jogo. Entretanto, essa também é uma das maiores desvantagens 
dos motores de jogo, uma vez que homogeneízam os jogos que são criados. 
 
 
25 
Além disso, há motores para diferentes finalidades, por exemplo, um jogo 
de tiro em primeirapessoa pode utilizar um motor diferente de um jogo de um 
Role-Playing Game (RPG) ou de futebol. Isso dependerá das características do 
motor, assim como do quanto a empresa está disposta em investir no 
desenvolvimento de um motor próprio. 
Saiba mais 
Mesmo assim, existem aqueles motores de jogos que são muito 
utilizados. Recomendamos acompanhar o caso do jogo Horizon Chace, 
desenvolvido pela Aquiris. Mesmo que o Unity 3D não seja bem reconhecido 
para fazer jogos de corrida, a Aquiris conseguiu fazer um jogo de sucesso com 
o Unity. 
FINALIZANDO 
Conhecemos algumas das principais plataformas de jogos e o que 
precisamos saber antes de desenvolver jogos nessas plataformas. Descobrimos 
alguns dos principais sistemas de desenvolvimento de jogos e como as lógicas 
de jogo se aplicam a elas. Estudamos o caso da lógica de jogo em Pac-Man, e 
como o comportamento dos inimigos afetam as regras e mecânicas do jogo e 
vice-versa. Por fim, acompanhamos as principais características dos motores de 
jogo, ou game engine. 
	4.1 Modo dos fantasmas

Outros materiais