Buscar

03 - Principais Sistemas, Lógicas de Jogo e a tal da Game Engine

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

18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 1/25
 
 
 
 
 
 
 
 
INTRODUÇÃO AO
DESENVOLVIMENTO DE JOGOS
DIGITAIS
AULA 3
 
 
 
 
 
 
 
 
 
 
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 2/25
Prof. Victor Moreira
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: <htt
ps://olhardigital.com.br/2020/09/10/noticias/desenvolvedor-faz-doom-rodar-em-um-teste-de-gr
avidez/>. 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
https://olhardigital.com.br/2020/09/10/noticias/desenvolvedor-faz-doom-rodar-em-um-teste-de-gravidez/
https://olhardigital.com.br/2020/09/10/noticias/desenvolvedor-faz-doom-rodar-em-um-teste-de-gravidez/
https://olhardigital.com.br/2020/09/10/noticias/desenvolvedor-faz-doom-rodar-em-um-teste-de-gravidez/
https://olhardigital.com.br/2020/09/10/noticias/desenvolvedor-faz-doom-rodar-em-um-teste-de-gravidez/
https://olhardigital.com.br/2020/09/10/noticias/desenvolvedor-faz-doom-rodar-em-um-teste-de-gravidez/
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 3/25
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 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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 4/25
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
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 5/25
Fonte: Moreira, 2023.
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
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 6/25
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.
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
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 7/25
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 podeser 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.
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
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 8/25
Os portáteis, ou handhelds, são video games que podem ser carregados para qualquer lugar. 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.
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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 9/25
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.
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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 10/25
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, 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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 11/25
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 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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 12/25
Veremos os cinco principais componentes da construção da lógica do jogo a seguir.
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 estadode
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. Outros podem 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 completamente realísticos. Um sistema de física bom
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 13/25
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 de objeto, o código simplesmente envia um
evento para os subsistemas que precisam receber.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 14/25
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 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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 15/25
Saiba mais
Recomendamos ver o gameplay de Pac-Man, disposto no link a seguir. Disponível em: <http
s://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.c
om/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: <http
s://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.
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
https://www.youtube.com/watch?v=opNumHDfuV0
https://www.youtube.com/watch?v=opNumHDfuV0
https://www.youtube.com/watch?v=opNumHDfuV0
https://www.youtube.com/watch?v=opNumHDfuV0
https://www.youtube.com/watch?v=S4RHbnBkyh0
https://www.youtube.com/watch?v=S4RHbnBkyh0
https://www.youtube.com/watch?v=S4RHbnBkyh0
https://www.youtube.com/watch?v=S4RHbnBkyh0
https://g.co/kgs/TBm5kR
https://g.co/kgs/TBm5kR
https://g.co/kgs/TBm5kR
https://g.co/kgs/TBm5kR
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 16/25
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ês
modos 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 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
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 17/25
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.
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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 18/25
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.
Figura 8 – Vetor de posição do fantasma azul
Fonte: Moreira, 2023.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 19/25
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. 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 quese 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
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 20/25
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 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árias na
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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 21/25
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 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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 22/25
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 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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 23/25
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 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. Amaioria
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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 24/25
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.
Além disso, há motores para diferentes finalidades, por exemplo, um jogo de tiro em primeira
pessoa 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.
18/03/24, 12:32 UNINTER
https://univirtus.uninter.com/ava/web/roa/ 25/25