Buscar

unidadde 1

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 53 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 53 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 53 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

09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 1/53
DESENVOLVIMENTO DE JOGOS PARADESENVOLVIMENTO DE JOGOS PARA
WEBWEB
DESENVOLVIMENTO DE JOGOSDESENVOLVIMENTO DE JOGOS
WEB: INÍCIO DA JORNADA DOWEB: INÍCIO DA JORNADA DO
GAMEDEVGAMEDEV
Autor: Esp. Diego Escobar
R e v i s o r : D e i v t i h C u n h a
I N I C I A R
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 2/53
introdução
Introdução
Tudo na vida tem seu nível de di�culdade e com o desenvolvimento de jogos não poderia ser
diferente. Mas é claro que, com o processo e ferramentas certas, podemos diminuir essa
di�culdade.
O desenvolvimento de jogos, em geral, é muito diverso e essa diversidade vem da dose de
criatividade que cada processo de desenvolvimento insere em cada jogo.
Em uma analogia com a marcenaria, veremos que um marceneiro faz várias mobílias de
madeira, sua matéria-prima é a mesma, suas ferramentas também, mas suas técnicas de uso
da madeira vão variar com a necessidade que a construção e o design da peça variarem.
Sendo assim, usaremos uma ferramenta que irá nos auxiliar no desenvolvimento deste
projeto. Com ela, conseguiremos acelerar o processo do desenvolvimento de jogos em
geral. Neste projeto, trabalharemos com 2D, mas a ferramenta pode ir além disso.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 3/53
No princípio da web, desenvolvedores de sites e a�ns só precisavam se preocupar com telas
de computadores desktop (computador de mesa), que, em geral, tinham o mesmo tamanho,
14 polegadas. Sendo assim, os designers de sites conseguiam manter um padrão de
tamanho e exponencialidade deles. Também não havia preocupação em executar o
conteúdo desses sites em diversos tipos e tamanhos diferentes de telas.
Nos dias atuais, não só computadores desktop têm acesso aos conteúdos dos sites alocados
na Internet, mas também dispositivos com tamanhos variados de tela, e isso se tornou uma
preocupação com relação à maneira que o conteúdo estava disposto nas web pages (páginas
da web).
O desenvolvimento de conteúdo web para celulares é um novo paradigma. Quando
comparado ao modelo antigo de desenvolvimento web, precisamos estar atentos
principalmente à resolução das telas e seu funcionamento em relação a aceitar interação de
um dispositivo móvel.
Quando pensamos em desenvolvimento de jogos para web e queremos que esses
funcionem em várias plataformas, por exemplo, desktop e mobile, precisamos nos atentar se
a plataforma na qual vamos disponibilizar esse jogo se preocupa com a disponibilização de
conteúdos multiplataforma; caso contrário, teremos problemas de incompatibilidade de
dispositivos.
Introdução aoIntrodução ao
Desenvolvimento de JogosDesenvolvimento de Jogos
WebWeb
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 4/53
Contexto Atual do “Game Dev para Web”
Segundo Tom Greenaway, um “Lead Game” do Google, responsável pelo desenvolvimento
de jogos para a web, os jogos web precisam ser de fácil acesso, ou seja, devemos permitir ao
jogador chegar ao jogo da maneira mais fácil possível, precisão viabilizar um carregamento
de conteúdo rápido o “load” do jogo. Jogos web precisão explorar aquilo que eles têm de
mais forte e mitigar ao máximo seus pontos fracos (READ PLAYER…, 2019).
Pontos fortes:
fácil de compartilhar; basta enviar o link do site.
quase todos os dispositivos hoje em dia tem acesso a um web browser, o nosso
querido navegador.
praticamente não existem restrições físicas nem digitais para a produção,
disponibilização e monetização de nossos jogos.
Pontos negativos:
A web é um ambiente de muita descon�ança. Os usuários não se sentem à
vontade para fazer pagamentos em websites avulsos.
Há di�culdade em entregar o conteúdo certo ao dispositivo certo. Por ser
multiplataforma, precisamos nos atentar com vários tipos de con�gurações para
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 5/53
que possamos atingir o maior número de dispositivos possível.
Precisa de um acesso à Internet para acessar os conteúdos e mantê-los
funcionando.
O que é uma Engine?
Game engine ou motor de jogos são ferramentas de desenvolvimento de jogos projetadas
para acelerar o processo de desenvolvimento de jogos, reduzir custos, diminuir a
complexidade no desenvolvimento e o tempo de chegada de seu produto no mercado.
Podemos pensar nelas como um conjunto de ferramentas e bibliotecas.
Essas ferramentas de software criam uma camada de abstração além das tarefas
mais comuns no desenvolvimento de videogames. As camadas de abstração são
empacotadas em ferramentas projetadas para funcionar como componentes
interoperáveis que podem ser substituídos completamente ou estendidos por
componentes adicionais de terceiros (HALPERN, 2019, p. 1, tradução nossa).
Ou seja, as game engines, além de reduzirem nosso esforço no desenvolvimento de um jogo,
trazem-nos muitos benefícios, e um deles é a redução de conhecimento que é necessário ter
para desenvolver um jogo, nos trazem muitas funcionalidades prontas, prede�nidas e vários
recursos prontos para serem usados em nosso desenvolvimento.
Porque usar uma Engine?
“É incrivelmente difícil de se fazer um jogo” (WHY YOU..., 2017, on-line), palavras de Yan
Chernikov, ou Cherno, como se autointitula em seus vídeos no YouTube. Segundo sua conta
do LinkedIn, Cherno é um engenheiro de software na EA Games em Melbourne, na Austrália,
há quatro anos.
Cherno mantém um canal no YouTube no qual cria conteúdos para desenvolvedores de
jogos e aspirantes ao desenvolvimento. No vídeo publicado em 2017, intitulado Why you
NEED to use a GAME ENGINE (Por que você PRECISA usar um MOTOR DE JOGOS), Cherno
enfatiza as vantagens de se desenvolver jogos utilizando os motores de jogos que estão
disponíveis no mercado, e um dos maiores motivos é que uma ferramenta como essa facilita
muito o trabalho do desenvolvedor de jogos em vários aspectos, como acelerar a produção
dos jogos e facilitá-la ao desenvolvedor e disponibilizar o jogo para várias plataformas,
entre outros.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 6/53
Cherno deixa bem claro, em seu depoimento, que fazer um jogo totalmente sozinho, mesmo
tendo uma ferramenta como uma Engine à disposição, somente por orgulho de dizer “Eu �z
isso tudo sozinho, mesmo que tenha levado 20 vezes mais tempo” (WHY YOU..., 2017, on-
line, tradução nossa), é uma besteira. Utilizar uma game engine é uma estratégia de negócio e
mesmo as maiores empresas do mundo em termos de videogames cometem erros enormes,
muitas vezes precisam �car corrigindo problemas de compatibilidade em seus jogos e
problemas que surgem por diversos motivos, enquanto a Engine tem uma grande equipe de
desenvolvedores ao dispor, que busca sanar tais erros e estão sempre procurando
aperfeiçoar a ferramenta.
Para Cherno (2017, on-line), quem deseja desenvolver jogos precisa tomar uma decisão: se
deseja fazer jogos ou se deseja programar ferramentas para criar jogos, pois existe uma
grande diferença em criar jogos e fazer as ferramentas para que esse desenvolvimento seja
possível.
Mas Cherno (2017, on-line) levanta um ponto interessante em relação a desenvolver uma
game engine sozinho ou em um time. Ele deixa claro que, caso as ferramentas que estão
disponíveis no mercado não consigam atender às necessidades de seu projeto, claramente
precisamos desenvolver essa ferramenta nós mesmos, mas isso é um campo muito
especí�co e, em geral, essas pessoas já têm muita experiência em desenvolver jogos para
sentir essa necessidade.
Portanto, fazer uso de uma ferramenta que vai nos poupar tempo de forma gratuita é uma
vantagem, pois ela nos aproxima do mercadoem relação à competitividade da qualidade da
ferramenta que estamos usando, bem como em relação à velocidade de desenvolvimento
do produto e de lançamento do produto no mercado.
Unity, um motor de Jogos
Vamos começar a apresentação da Unity citando algumas das plataformas pelas quais ela
têm possibilidade de disponibilizar um jogo. Devemos sempre lembrar que diferentes
plataformas exigem parametrizações diferentes. Por exemplo, temos os consoles, e cada
console tem um controle com botões diferentes, os quais o mercado já padronizou algumas
funcionalidades. Isso não nos impede de criarmos novas ações para eles, mas devemos
lembrar que um controle de videogame é diferente de um teclado e um mouse.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 7/53
Vejamos algumas plataformas que a Unity tem compatibilidade:
Mobile: Android, IOS.
Desktops: Windows, Linux.
Web: WebGL “Páginas da web”.
Consoles: PS4, Xbox One, 3DS.
Entre outras, a Unity Engine hoje já possibilita compatibilidade com mais de 20
plataformas diferentes (UNITY PARA..., 2019).
A Unity é um motor de jogos, sendo uma das melhores ferramentas do tipo disponíveis no
mercado. Como já foi visto antes, utilizar uma ferramenta como essa só nos traz vantagens.
Desse modo, teremos muito mais tempo para enfrentar os desa�os de fazer o design de
nossos jogos do que nos preocuparmos com problemas de compatibilidade entre as
plataformas que desejamos atingir com nosso produto.
saiba mais
Saiba mais
Conheça alguns dos produtos desenvolvidos com a
Unity. Jogos, animações e ferramentas são algumas
das possibilidades que a Unity traz com seu arsenal de
possibilidades para o desenvolvimento de produtos
para o entretenimento em geral.
ACESSAR
https://unity.com/pt/madewith
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 8/53
Uma Visão sobre Prototipação de Jogos
Digitais
Uma parte muito importante no desenvolvimento de qualquer jogo para qualquer
plataforma, de qualquer gênero, é a prototipação dele.
Para isso, devemos nos atentar a alguns pontos muito importantes no desenvolvimento de
um jogo, como o design do game.
Design de Games
Para Schuytema (2016, p. 3), “Design de games é a planta baixa de um game. Designer é a
pessoa designada para criar a planta baixa e, a partir dela, com a combinação adequada de
talento e esforço, surgirá um game”.
É exatamente isso que faremos com a prototipagem de nosso jogo: criaremos nossa planta
baixa, ou o mapa que nos guiará pelos caminhos que planejamos para nosso jogo. Essa parte
é muito importante, pois não adianta só ter a Unity, sons, imagens e os outros componentes
do jogo. É preciso também ter uma ideia do que queremos construir e como esse jogo deve
parecer, por isso fazemos a prototipagem.
saiba mais
Saiba mais
Conheça alguns títulos de jogos web dos últimos anos,
e veja a evolução de técnicas, jogabilidade e
diversidade que os jogos web têm atingido, e também
jogos feitos com a Unity.
ASS I ST IR
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 9/53
Apesar de ter sido projetado para ser produzido como um jogo digital 2D, em seu
primeiro teste para validar e avaliar o conceitos gerais da mecânica, foi utilizado
um protótipo analógico, ou seja, físico. Esta opção deu-se pelo fato de um modelo
físico - utilizando recursos mais acessíveis como papel, EVA, canetas coloridas e
brinquedos - não onera em demasia a equipe e pode ser produzido em um período
de tempo bem reduzido (SATO, 2010, p. 79).
Existem várias maneiras de se prototipar um jogo, e uma das mais usadas e também a mais
fácil é a “paper prototyping”. Essa prototipagem requer lápis e papel. Devemos desenhar
nossas telas e interações que desejamos ter em nosso jogo. Consiste basicamente em criar
as possíveis interações humano-máquina, em que tentamos provar que as mecânicas as
quais desejamos inserir em nosso jogo serão divertidas e aplicáveis. Precisamos fazer esses
testes para que possamos ter nossa planta baixa e com ela chegar ao �m de nosso projeto.
Desta forma, desde o início do game design, o protótipo se faz presente e
necessário para visualizar melhor as ideias propostas e estabelecê-las no projeto
como conceitos. No entanto, a prototipagem não se restringe somente a testar os
conceitos gerais de jogos. Em vários casos, após se estabelecer o conceito geral,
alguns testes são necessários para veri�car a viabilidade da representação de
uma determinada situação no jogo a �m de conferir credibilidade ao elemento
proposto (SATO, 2010, p. 79).
Precisamos descrever como o jogo será. O título já temos: “Space Shooter”. O jogo terá:
controle do jogo será feito pelo teclado;
mouse será apenas para apertar botões;
tela de Menu principal, com botão Start; e
tela de GameOver com botão Restart.
Além disso,
serão três tipos de naves inimigas, cada uma representando uma onda/wave;
as naves inimigas não vão atirar, somente passar pela tela;
cada nave inimiga terá uma quantidade de vida diferente;
quando qualquer nave for destruída uma animação de partículas vai aparecer no
local da explosão;
os asteroides farão parte do parallax junto com as nuvens de poeira;
a nave do jogador vai atirar sozinha; isso facilita caso deseje levar o jogo para a
plataforma mobile;
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 10/53
todo início de onda/wave trará um PowerUp;
para a nave do jogador morrer, precisa colidir com uma nave inimiga, apenas uma
vez;
o tiro terá um valor numérico de dano, que será aumentado com o PowerUp e os
inimigos terão vida;
cada nave inimiga que for destruída contará uma pontuação;
vamos colocar efeitos sonoros e música no jogo;
quando acabarem as ondas/waves, aparecerá a palavra �m junto ao botão
Restart.
Usaremos a Unity, portanto teremos acesso a uma diversidade de materiais gratuitos
desenvolvidos para a Unity e disponibilizados de maneira muito fácil de se fazer download e
acoplar ao projeto. Vamos fazer uma prototipagem utilizando um editor de imagem, que é
basicamente a mesma ideia da “paper prototyping”, só que digital. Simplesmente, criamos
telas digitais para que tenhamos uma maneira de sabermos o que desejamos fazer e “mais
ou menos” quais funcionalidades e telas devemos criar.
Bom, vamos começar pela lista de ferramentas:
Unity, vamos usar a versão Personal, a versão mais atualizada, que é gratuita até
certo ponto. Para mais informações, devemos ler todo o contrato, mas,
saiba mais
Saiba mais
Descubra outras maneiras de prototipagem de jogos e
aprofunde o seu conhecimento com relação a
prototipagens de jogos em geral.
ACESSAR
https://www.fabricadejogos.net/posts/tipos-de-prototipagem-para-desenvolvimento-de-jogos-digitais/
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 11/53
basicamente, ela é gratuita até alcançarmos uma determinada quantia em lucro
de venda dos jogos feitos com ela. Sendo assim, para usá-la precisamos aceitar os
termos de contrato, instalar e fazer uma conta para acesso dela. Na Figura 1.1,
vemos a tela de download:
Ao �nalizar a instalação da Unity, no momento de abri-la pela primeira vez, será necessário
fazer o login; em seguida, podemos criar nosso primeiro projeto. Para criarmos nosso
primeiro projeto, as seguintes informações devem ser preenchidas.
Project name = nome do Projeto.
Loca�on = Local: onde o projeto �cará dentro de seu computador.
Organiza�on: será o nome que escolheu para sua conta da Unity.
Template: 2D, indica o modelo de jogo que desejamos criar.
Add Asset Package: como esse é nosso primeiro projeto não faremos uso desta
função agora.
Enable Unity Analy�cs: quando está ligado, no modo “On”, permite a Unity fazer
análises em seu projeto e fazer possíveis sugestões.
Na Figura 1.2,observa-se a imagem da tela de criação do projeto:
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 12/53
Quando �nalizar essa parte, e criar o projeto, a Unity irá iniciar o processo de geração do
projeto. As primeiras informações que estarão contidas neste projeto serão:
Pasta: Favorites, que tem um ícone de estrela, não mexeremos nela.
Pasta: Assets.
Sub-Pasta: Scenes, que �ca dentro da pasta Assets.
Arquivo SampleScene, que �ca dentro da pasta Scene. Esse arquivo é o
responsável por armazenar uma cena.
Pasta: Packages, armazena bibliotecas e a�ns; em geral, não mexeremos nela.
A Figura 1.3 mostra a Unity logo após a criação do projeto:
Figura 1.2 - Print da tela de criação de projeto da Unity 
Fonte: Elaborada pelo autor.
Figura 1.3 - Print da tela com projeto recém-criado 
Fonte: Elaborada pelo autor.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 13/53
A “Scene” traz uma visualização dos objetos que estão em seu jogo. Podem ser usados com
várias �nalidades, menus, níveis individuais, entre outras coisas. Na documentação da
“Scene”/cena, a Unity explicita que podemos pensar em cada “Scene” como um nível
individual. “Pense em cada arquivo de cena exclusivo como um nível único” (SCENES, 2019,
on-line). Essas cenas são onde podemos colocar nossos objetos, cenários e obstáculos, entre
outros.
Para trabalhar com a Unity, é necessário aprender a manipular e modi�car os objetos da
cena. A própria documentação da Unity traz essa visão como uma necessidade básica para
quem está querendo trabalhar com a Unity (THE SCENE..., 2019, on-line).
Em um projeto recém-criado, encontraremos dois objetos dentro da “Scene”: uma câmera e
uma luz direcional. A câmera pode variar entre ortográ�ca 2D ou perspectiva 3D, e a luz
direcional geralmente é usada para representar o sol da “Scene”. Com apenas uma luz
direcional, podemos iluminar toda a “Scene”.
Essa cena não estará salva. Para isso, podemos seguir o caminho (File > Save As) e escolher
um caminho em seu computador, ou no Windows podemos pressionar as teclas: Ctrl + Shi�
+ S, para abrir a mesma tela para salvar.
Perceba na Figura 1.3 que, na barra da janela, em seguida ao ícone da Unity, temos a versão
da Unity, logo após, o modelo Personal, o nome da “Scene” que está dentro da pasta
Assets/Scene, o nome do projeto, a plataforma na qual está apontada e, por �m, o modelo
do directX que a Unity está usando.
Com a Unity instalada e o projeto criado, podemos procurar pelos conteúdos gratuitos que
ela disponibiliza. A Figura 1.4 mostra a tela de busca dos Assets. Existem algumas
categorias com as quais podemos re�nar nossa busca, por preço, conteúdos 3D ou 2D,
conteúdos gratuitos, mas, mesmo sem essas categorias, podemos simplesmente escrever
uma palavra como “Space” para fazer uma busca sobre esse tema.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 14/53
Nosso primeiro jogo será um “Space Shooter”, um jogo de nave espacial de tiro, bem
simples, mas com começo, meio e �m. Para isso, utilizaremos esses “Assets” Space-Kit, basta
acessar o site da “Unity Assets Store”, buscar “2D Space Kit” e clicar em “Add to my assets”.
Com a Unity aberta, acesse o link do “Space-Kit” e clique no botão “azul”, chamado “Open in
Unity”. A Figura 1.5 mostra essa página com esse botão. Essa ação abrirá uma aba no
navegador com outro botão “Abrir URL”; em seguida, o endereço URL que está
selecionando. Ele abrirá o conteúdo na Unity, que poderá ser baixado e instalado. A Figura
1.6 mostra essa página com essa aba aberta.
saiba mais
Saiba mais
Existem vários outros “Assets” disponibilizados pela
Unity, versões pagas e gratuitas.
ACESSAR
https://assetstore.unity.com/top-assets/top-free
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 15/53
É muito importante frisar que, para o botão “Open in Unity” aparecer na página dos Assets,
como demonstra a Figura 1.5, é preciso estar logado em sua conta da Unity nessa página:
Ao clicar no botão da aba que abrirá na página dos “Assests” da Unity, como demonstrado
na Figura 1.6, estará escrito “Abrir URL: em seguida a url”, que abrirá a tela de download
dentro da Unity. Agora, com a Unity aberta, a aba “Asset Store” estará aberta com o site do
“Asset” e com o botão de download do “Asset”, aparecerá nesse caso, a imagem do “Space-
Kit”, e ao lado da imagem o botão azul escrito download, após o download ser concluído, o
botão mudará para “Import”, que signi�ca importar. Clicando nesse botão, a Unity iniciará o
processo de  importação do pacote. Por �m, uma tela será aberta dentro da Unity chamada
“Import Unity Package”. Nesta tela, serão listados todos os conteúdos do pacote. E, para
�nalizar a importação, será necessário clicar no botão “Import”, desta vez situado na tela
“Import Unity Package”. A Figura 1.7 traz a tela da Unity com a tela “Import Unity Package”:
Figura 1.5 - Print da página da Unity Asset Store 
Fonte: Elaborada pelo autor.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 16/53
Quando os conteúdos que mencionamos acima forem importados e incluídos no projeto,
uma nova pasta vai aparecer dentro da pasta “Assets”, a pasta “2D Space Kit”. Usaremos as
imagens das naves, fundos e tudo o mais que estiver disponível dentro desse pacote, para
fazer nossa prototipagem de baixo nível. Depois que a prototipagem estiver pronta,
daremos inicio ao passo a passo com a Unity.
Ao �nalizar o download e adicionar a pasta “2D Space Kit” em seu projeto, usaremos em
nossa prototipagem as seguintes imagens:
Plano de fundo: Pasta - Assets/2D Space kit/Backgrounds/2.png.
Nave: Pasta - Assets/2D Space kit/Ships and Stations/Cruiser 3.png.
Asteroides: Pasta - Assets/2D Space kit/Asteroids/Asteroid 1.png.
Inimigo 1: Pasta - Assets/2D Space kit/Ships and Stations/Alien 1.png.
Inimigo 2: Pasta - Assets/2D Space kit/Ships and Stations/Alien 2.png.
Inimigo 3: Pasta - Assets/2D Space kit/Ships and Stations/Alien 3.png.
Tiro: Pasta - Assets/2D Space kit/Particles (Sprites)/ Projectile Sharp.png.
Poeira: Pasta - Assets/2D Space kit/Dust and Nebula/DustCloud.png.
Em seguida, a Figura 1.8 traz todos os componentes que serão usados para realizar a
prototipagem do “Space Shooter”, três naves inimigas, uma nave para o jogador, poeira
espacial, que será usada para fazer o parallax, um meteoro, que também será usado no
parallax, o tiro e o plano de fundo.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 17/53
As Figuras 1.9, 1.10 e 1.11, a seguir, foram montadas com um editor de imagem que divide
as imagens em camadas. Dessa forma, conseguimos montar essas imagens que
representam o resultado �nal que o jogo deverá ter.
Figura 1.8 - Imagens usadas no jogo 
Fonte: Elaborada pelo autor.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 18/53
Como os botões que vamos usar são da Unity, não precisamos de �guras para prototipagem
dessas telas.
ti
Figura 1.11 - Terceira onda/wave 
Fonte: Elaborada pelo autor.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 19/53
praticarVamos Praticar
No momento da criação de um jogo, devem-se levar em consideração vários aspectos que estão
envolvidos com a aparência do jogo e com a sua jogabilidade, mas existem alguns que, se não forem
bem construídos, podem gerar problemas no momento de disponibilizar/exportar o jogo para
múltiplas plataformas. Sendo assim, assinale a alternativa que apresenta um dos aspectos
apresentados.
a) Paleta de cores do jogo.
b) Resolução do jogo.
c) Jogabilidade.
d) Possibilidade de multijogadores.
e) Consumo dememória.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 20/53
Com a prototipagem feita, poderemos iniciar o desenvolvimento do “Space Shooter”.
Precisamos usar as imagens que foram citadas anteriormente e montá-las de forma a gerar
o mesmo resultado da prototipagem.
Com a Unity rodando, devemos abrir a pasta ”Assets”, que �ca na aba “Project”, na qual está
a pasta “Scenes”. Lá encontraremos nossa cena, que é a parte principal do projeto, e essa
parte será onde nosso jogo inicia sua criação.
A Figura 1.12 mostra a Unity aberta com o Layout Default “padrão” selecionado. Há
números verdes e vermelhos e retângulos com as mesmas cores. Vejamos o que cada um
signi�ca. 
Space Shooter, Início doSpace Shooter, Início do
DesenvolvimentoDesenvolvimento
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 21/53
Vamos iniciar com os números verdes:
1. Nesse campo, podemos trocar o layout da tela da Unity. O layout é como a tela é
apresentada. Podemos também modi�car o Layout e salvá-lo.
2. Na aba “Game”, vemos como a câmera do jogo vai visualizá-lo e como isso �cará
no �nal. Ela representa o jogo sendo executado, e podemos testá-lo antes de
passar para alguma plataforma.
3. Nesse campo, podemos mudar a visão da câmera e informar que ela �cará em
formato 2D. Caso esteja desmarcado, a câmera �ca em formato 3D. Lembrando
que isso não vai mudar a visualização da câmera do jogo, que é a imagem que
aparece na aba “Game”, e mudará somente a câmera da aba “Scene” para esta
visão 3D.
4. A aba “Scene” traz uma visualização dos objetos que estão em seu jogo. Podem
ser usados com várias �nalidades, menus e níveis individuais, entre outras coisas.
Na documentação da “Scene”/cena, a Unity explicita que podemos pensar em cada
“Scene” como um nível individual. “Pense em cada arquivo de cena exclusivo como
um nível único” (SCENES, 2019, on-line). Essas cenas são o local onde podemos
colocar nossos objetos, cenários e obstáculos, entre outros. 
Para trabalhar com a Unity, é necessário aprender a manipular e modi�car os
objetos da cena. A própria documentação da Unity traz essa visão como uma
necessidade básica para quem está querendo trabalhar com a Unity (THE SCENE
VIEW, 2019, on-line).
5. Esse ícone é a nossa “Scene”, onde todo o jogo é montado.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 22/53
6. Essa é a pasta onde a “Scene” �ca, e, quando necessário criar outra “Scene”. O
ideal é criá-la na mesma pasta que a existente.
7. Essa é nossa pasta “Assets”, que �ca dentro da aba “Project”. Essa pasta armazena
todos os conteúdos que podemos usar na criação de nosso jogo. Os conteúdos
que baixamos com os links anteriores �carão nessa pasta, em suas respectivas
pastas, mas nada nos impede de arrastar novos arquivos para essa pasta, ou
mesmo criar uma nova.
8. A aba “Inspector” guarda todos os componentes que o objeto pode ter. Podemos
adicionar novos componentes, como colisor, scripts e luz, en�m, vários tipos de
componentes a um determinado objeto.
O componente “Script” é muito importante. Ele possibilita que o código programado com a
linguagem C# seja usado pela Unity e possa fazer efeito em objetos da “Scene”, ajudando a
controlar, criar rotinas e condições para ocorrerem ações.
Números vermelhos:
1. A aba “Hierarchy” ou hierarquia contém todos os conteúdos que irão compor o
jogo. Botões, player, planos de fundo, efeitos e tudo o mais que vai compor o jogo
deve estar dentro dessa aba. Podemos dizer que ela contém uma lista de todos os
objetos que compõem a “Scene”.
2. Nesse espaço logo abaixo da aba “Hierarchy”, temos o create. Podemos clicar nele,
e uma tela se abrirá no local do clique, em que poderemos escolher criar algum
elemento 2D, 3D, efeitos, áudio e luz, entre outros tipos de componentes que
podem compor a cena e serem usados no jogo. Encontramos também o
componente “NewScene”.
3. A câmera do jogo é o ponto que visualiza tudo o que aparece dentro do jogo. Ela
mostra a imagem que aparece na tela do computador quando o jogo é jogado. A
visão da câmera aparece na aba “Game”.
Chegamos ao retângulo vermelho no meio da tela. Ele mostra três botões: Play, Pause e
Step: 
Botão Play: inicia o jogo. Representa a ação de executar o jogo, é como se
estivéssemos pedindo para que o jogo fosse iniciado.
Botão Pause: faz o jogo �car pausado, parado.
Botão Step: esse botão faz as ações do jogo serem puladas uma a uma em
sequência, frame a frame.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 23/53
Depois de nos familiarizarmos com parte da tela inicial da Unity, vamos iniciar nossa
jornada no desenvolvimento do jogo “Space Shooter”. Como já �zemos as devidas
importações do pacote “2D Space Kit”, podemos usar seu conteúdo.
Devemos encontrar a imagem de fundo que está na pasta – Assets/2D Space
kit/Backgrounds/2.png. O nome da imagem é 2.png. Caso queira utilizar outra imagem
para fazer essa parte, �que à vontade, pois existem várias outras imagens interessantes
nesta pasta.
Encontrando o plano de fundo, podemos utilizá-lo de duas maneiras:
Podemos arrastá-lo para dentro da Aba “Scene”.
Podemos arrastá-lo para dentro da aba “Hierarchy” (que quer dizer hierarquia),
dentro do projeto.
Adicionando o objeto a “Scene” ou direto na “Hierarchy”, o objeto aparecerá na tela da aba
“Game”. Vamos tentar? A Figura 1.13 demonstra o processo de inserir a imagem direto a
aba “Scene”. Vamos tentar inseri-la na “Hierarchy”?
Caso arraste o objeto que deseja inserir na aba “Hierarchy” para cima do objeto câmera que
lá está, veremos que a Unity permitirá esse movimento e os objetos �caram agrupados
como pastas. Mais à frente, quando falarmos do parallax, falaremos sobre essa ação com
detalhes. Caso clique com o botão direito do mouse dentro da área da aba “Hierarchy”, ou na
ação de “create” que está abaixo do nome da aba “Hierarchy”, veremos que existem vários
tipos de objetos pré de�nidos pela Unity, que podemos usar como peças na construção do
jogo.
Sendo assim, podemos perceber na Figura 1.13 que existe abaixo do nome da aba “Game”,
um retângulo vermelho, que apresenta o campo que de�ne a proporção de nossa tela.
Abrindo-o, veremos vários valores prede�nidos. Escolha o valor que melhor se encaixe com
seu gosto. Por exemplo, o valor de 5:10 ou 6:10 se encaixa melhor com uma tela de celular;
já um valor de 16:9 �caria melhor em uma tela de um desktop. Clicando na área que o
retângulo destaca, será aberta uma função na qual, ao �nal, teremos um ícone com um sinal
de mais (+). Clicando nele, poderemos de�nir uma nova proporção de tela. 
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 24/53
A Figura 1.14 traz alguns botões que são usados para girar, aumentar, diminuir e
movimentar os objetos que estão dentro da “Scene”. O conjunto desses botões é chamado
de “Transform Toolset”, ou conjunto de ferramentas de transformação.
Na Figura 1.14, temos na sequência em que aparecem:
Hand Tool: quando selecionado, move todo o cenário do jogo.
Move Tool: quando selecionado, podemos mover um objeto da cena do jogo para
posicioná-lo.
Rotate Tool: quando selecionado, podemos rotacionar um objeto na cena do jogo.
Scale Tool: quando selecionado, podemos maximizar ou minimizar um objeto na
cena do jogo.
Rect Tool: quando selecionado, assume que estamos tratando um objeto
bidimensional. Pode ser usado para maximizar ou minimizar de forma diferente a
disponível na opção anterior.
Move, Rotate ou Scale Selected Objects: quando selecionado, possibilita ao
mesmo tempo rotacionar mover ou maximizar. É mais usado para objetos 3D
(HALPERN, 2019). 
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 25/53
Para fazeruso dessas funções, devemos sempre selecioná-las, e também selecionar um
objeto. Assim, podemos usar a aba “Scene” para fazer uso dessas funções.
“Dica: os seis controles no Transform Toolset são mapeados individualmente para as seis
teclas a seguir: Q, W, E, R, T, Y. Use essas teclas de atalho para alternar rapidamente entre as
ferramentas” (HALPERN, 2019, p. 25, tradução nossa).
Tente mover a imagem de fundo que já foi colocada na “Scene” e veja como esses botões
funcionam.
A Figura 1.15 mostra a ação de clicar com o botão direito dentro dos limites da aba
“Hierarchy”. Dessa forma, podemos escolher um novo tipo de objeto que fará parte da
hierarquia de nosso jogo. 
Criando a Nave do Jogador
Vamos começar apresentado uma das partes mais usadas na Unity, o “GameObject”. Para
reconhecer um, é simples. Todo “GameObject” tem um componente “Transform” nele, que
Figura 1.15 - Unity selecionando Game Objetc que deseja criar 
Fonte: Elaborada pelo autor.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 26/53
serve para indicar o posicionamento do objeto na “Scene”. A Unity não permite que esse
componente seja deletado (GAMEOBJECT, 2019).
GameObjects são os objetos fundamentais da Unity que representam
personagens, objetos e cenários. Eles não realizam muito em si, mas atuam como
contêineres para componentes, que implementam as reais funcionalidades
(GAMEOBJECT, 2019, on-line, tradução nossa).
Quando criamos ou arrastamos um objeto para dentro de outro, a Unity entende isso como
um agrupamento de objetos. Esse objeto que está dentro do outro é chamado de “child”, ou
seja, ele vira �lho do objeto que o armazena, e esse objeto que está contendo outro se
transforma em um container, pois ele contém outros objetos.
Podemos ver que existem vários tipos de “GameObjects” que podemos fazer uso, mas, para
exempli�car, vemos que, na Figura 1.15, escolhemos o grupo de objetos 2D e está
selecionada a opção do objeto “Sprite”. Esse objeto é o equivalente a um espaço para uma
imagem, pois, para aparecer alguma imagem dentro do “Sprite”, devemos indicar seu
caminho na aba “Inspector”, dentro do componente “Sprite Renderer”, no campo “Sprite”, ou
podemos simplesmente arrastar a imagem .jpg, .png, entre outras, para cima do campo
“Sprite” desse componente, que a imagem seria direcionada. Mas lembre que, para arrastar
uma imagem para o campo “Sprite”, a imagem precisa estar dentro do projeto, assim como a
tentativa de manipular outros arquivos. Esses devem estar dentro da Unity, aparecendo na
pasta “Assets”.
O componente “Sprite Renderer” é o responsável por pintar as imagens 2D na tela da Unity
e gerenciar também a ordem de pintura dessas imagens.
Já que aprendemos a colocar objetos na tela, vamos colocar alguns outros para treinar.
Coloque a nave dentro da tela, arraste a imagem da nave que está na pasta “Assets/2D
Space kit/Ships and Sta�ons/Cruiser 3.png” para dentro da “Scene”. Uma dica: clique em
cima da aba “Game” e a arraste para o lado. Você verá que pode posicioná-la igual ao
exemplo da Figura 1.13. Dessa forma, sempre teremos a visão da aba “Scene” e da aba
“Game”, ao mesmo tempo.
Agora que o “Cruiser 3” apareceu na aba “Hierarchy”, selecione-o e vá até a aba “Inspector”
e selecione no campo “Tag” a “Tag” Player. Usaremos a “Tag” para encontrar os objetos no
momento da colisão. A Figura 1.16 traz um exemplo. 
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 27/53
A aba “Inspector” é um editor de propriedades de “GameObjects”, situada à direita da tela
da Unity, logo abaixo de onde selecionamos o layout da tela da Unity. O “Inspector” é
sensível ao contexto do objeto. Quando o jogo está rodando, podemos ver, por exemplo, os
valores do componente “Transform” como posição serem modi�cados pelas ações do jogo
(THORN, 2018, tradução nossa). 
O recurso Tag permite marcar objetos especí�cos na cena com tags ou rótulos
especí�cos, permitindo que esses objetos sejam facilmente identi�cados no
código, para que possamos veri�car rapidamente se o jogador, em vez de outros
objetos, está colidindo com as moedas (THORN, 2018, p. 85, tradução nossa).
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 28/53
1. Tag: clique e escolha a opção Player. Caso não tenha, clique em Add Tag, para
adicionar uma nova Tag.
2. Uma boa prática é sempre tentar manter os objetos centralizados ao máximo
possível, como o jogador. Nesse caso, a nave é nosso objeto central. Clique na
engrenagem do componente “Transform” e selecione a primeira opção “Reset”,
para trazer a nave para o eixo em x, y, z e zerar também a rotação e de�nir como 1
a escala do objeto selecionado. Faça isso apenas uma vez, e, a partir desse início,
comece a de�nir novas formas ao seu objeto. Por exemplo, vou diminuir o
tamanho da minha nave para 0.6 no campo “Scale” ou escala. 
Para manter a equivalência das distâncias da nave, devemos diminuí-la por igual
nos três eixos da escala. Para facilitar, clique na bolinha do canto da imagem com o
mouse e com o teclado pressione a tecla “Shift”. Agora, arraste o mouse que a
imagem vai diminuir com equivalência.
3. Por �m, vemos o campo “Order in Layer”, ordem na camada, ou seja, todo o objeto
que estiver na cena e tenha uma imagem ligada a ele. Esse terá o componente
“Sprite Renderer”, o qual traz consigo uma ordem de “Render”. Em jogos 2D, a
Unity organiza as imagens da cena em camadas, e elas de�nem quais objetos vão
aparecer por cima dos outros. 
Vamos experimentar. A nave e o plano de fundo têm esse campo. Mude o número
de um deles e veja como funciona. Lembre-se que o menor valor é o primeiro layer
que é zero, e temos um limite maior do que precisamos usar, sendo no total de 32
“Layers” ou camadas, que vão de 0 a 31. 
A nave �cará no “Layer” 1 e o fundo �cará no “Layer” 0.
Após centralizar a nave, devemos mover a câmera para deixar a nave mais próxima da borda
inferior da tela. Para isso, selecione o objeto câmera na aba “Hierarchy” e mova a câmera
usando a opção “Move Tool” até que a nave esteja mais próxima da borda inferior da
câmera.
Por �m, podemos adicionar à nave um detector de colisão. Basicamente, é um componente
que vai demarcar um campo ao redor de um objeto do jogo. Toda vez que dois detectores de
colisão colidirem, a Unity saberá que houve uma colisão e fará a ação dela ocorrer. Para
adicionar esse componente, selecione o objeto da nave na aba “Hierarchy” ou clicando na
cena. Em seguida, vá até a aba “Inspector” e clique no botão “Add Component” e vamos
adicionar dois componentes,. Para buscar esses componentes, só precisamos escrever os
nomes no campo de busca que vai aparecer após clicar o botão. O “Rigidbody 2D”
possibilita o movimento dentro da “Scene”. Devemos veri�car se o campo “Body Type” está
em Dynamic, “Gravity Scale” em 0 (zero) e “Collision Detec�on” em Discrete. O “Polygon
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 29/53
Collider 2D” veri�ca nossa colisão. Nesse, precisamos selecionar o campo “Is Trigger”, e esse
campo nos ajudará a fazer a colisão funcionar de maneira mais simples.
Para �nalizar, vamos fazer a nave se mover dentro de nossa tela por meio de “inputs” do
teclado. Os “inputs” ocorrem quando pressionamos um botão do teclado ou clicamos com o
mouse. Selecione a nave e, com a “Move Tool”, mova a nave até as bordas da tela que
aparece na aba “Game”. Vamos encontrar alguns valores, direita = 2, esquerda = -2, cima = 7
e baixo = -1. Esses valores podem ser diferentes para cada tamanho diferente de tela e
nave. O importante é que os valores que forem informados nestes campos mantenham a
nave do jogador dentro da tela. A Figura 1.17 mostra as posições que queremos mapear.
Daremos os nomes dessas posições em relação a seus eixos, xMin e xMax, yMin e yMax.
Guarde esses valores,pois vamos usá-los no “Script” que vamos criar agora. Antes, crie na
pasta “Assets” uma nova pasta e a nomeie como “Scripts”. Adicione um novo componente à
nave, o componente “New Script”. Clique nele e dê o nome de “PlayerGerente”. Seu
conteúdo é o código “C#” (lemos “se-sharp”). Para abrir esse “Script” no Visual Studio, basta
darmos um clique duplo no campo “Script” do componente “Script”. 
O código a seguir pode ser colado dentro desse novo “Script” que criamos. 
UnityEngine: biblioteca que possibilita o código C# a conversar com os
componentes da Unity.
Serializable: serialização é um processo que transforma os dados ou um objeto em
um formato que a Unity pode armazenar e reconstruir em outro momento.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 30/53
FixedUpdate: os cálculos de atualização de física são processados imediatamente
após esse Update. Aplicando os cálculos de movimento dentro de FixedUpdate,
não precisamos multiplicar seus valores por Time.deltaTime. Seu tempo de
execução é feito em um tempo con�ável, independentemente da taxa dos frames.
Input: classe responsável por receber valores que entram no jogo.
GetAxis: recebe valores mapeados pela Unity. Estes valores são as teclas W, S,
seta para cima, seta para baixo dos eixos horizontais, e teclas A, D, seta direita e
seta esquerda verticais.
gameObject.GetComponent<>: GameObject é o objeto ao qual o Script está
vinculado, e o GetComponente busca o determinado componente que esse objeto
tem em seu “Inspector”, informando o tipo do componente desta forma: <Nome
do Componente>.
Transform: esse componente determina a posição, rotação e escala de cada objeto
da cena. Todos os “GameObject” tem um componente desse na aba “Inspector”.
RigidBody 2D: esse componente é o responsável por alterar as propriedades do
componente Transform. Podemos alterar os valores diretamente no componente
Transform, mas, em relação à colisão, isso não é muito interessante. Devemos
alterar os valores desse componente somente caso não exista um RigidBody. Esse
componente é muito necessário para que a colisão possa funcionar agindo junto
com o componente collider.
Para uma variável aparecer no componente “Script” dentro do “Inspector”, é preciso
declará-la como public = pública como, podemos ver na Figura 1.18. 
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 31/53
Veja na Figura 1.18 o resultado que desejamos alcançar. Nela, podemos observar o
componente Script PlayerGerente aberto e dentro dele os campos Velocidade e Limites; em
sequência, os campos xMin, xMax, yMin, yMax. 
Figura 1.18 - Nave em posição e Script preenchido 
Fonte: Elaborada pelo autor.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 32/53
praticarVamos Praticar
Observando atentamente a tela da Unity, podemos notar que ela tem uma grande quantidade de
funções e ferramentas. Na aba Scene, existe um botão com a inscrição 2D. Escolha a alternativa
que traz a informação correta sobre a ação que esse botão tem.
a) Esse botão funciona para ativar a possibilidade de adicionar a cena objetos 2D.
b) Esse botão funciona para selecionar todos os objetos 2D da cena do jogo.
c) Esse botão funciona para esconder os objetos 2D da cena.
d) Esse botão funciona para identi�car para a Unity, quando será adicionada a cena um
objeto 2D.
e) Esse botão funciona para fazer a visão da aba Scene �car em 2D ou 3D.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 33/53
Agora que sabemos manipular objetos, inserir novos componentes e receber botões do
teclado e compreendemos uma parte essencial da Unity, vamos fazer uso desse
aprendizado para criar os tiros da nave e o parallax.
Atirando com a Nave
Primeiro, precisamos criar nosso Tiro. Na aba “Project”, crie uma nova pasta, clique com o
botão direito na pasta “Assets”, selecione “Create” e depois “Folder”, que é pasta em inglês.
Dê um nome a essa pasta, por exemplo: “Prefab”.
Ao adicionar um novo objeto, lembre-se sempre de resetar o componente “Transform” dele
e depois pode posicioná-lo.
Na aba “Hierarchy”, crie um objeto vazio em inglês. Ele está como “Create Empty”. Dê o
nome dele de Tiro. Dentro dele, crie um objeto 3D chamado “Quad”. Nesse objeto, chamado
“Quad”, arraste a imagem do Tiro, que foi descrita anteriormente.
Perceba que ao adicionar um objeto dentro do outro o primeiro objeto agora tem uma seta
ao lado do nome na aba “Hierarchy”, em que podemos clicar para esconder ou mostrar seu
interior, nesse caso o objeto “Quad”.
Space Shooter:Space Shooter:
FuncionalidadesFuncionalidades
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 34/53
Ajuste o campo “Shader” do componente “Default-Material”. Ao adicionarmos a imagem,
ele deve se chamar “Projec�le Sharp”. No campo “Shader”, selecione “Legacy Shader”,
depois “Transparent” e, por �m, “Diffuse”.
Selecione o Tiro, adicione nele dois componentes, “Rigidbody 2D”, troque o valor da
gravidade para zero(0) e, no “Capsule Collider 2D”, clique no botão do campo “Edit Collider”.
Será possível editar o tamanho em largura e altura dessa cápsula. Quando terminar de
ajustar a cápsula de forma que mantenha o desenho do Tiro dentro dela e �que o mais justo
possível, altere para zero(0) os valores dos campos x e y do campo “Offset” , veri�que se o
valor do campo “Direc�on” está como “ver�cal” e marque a caixa do campo ”Is Trigger”.
Quando a propriedade “Is Trigger” está marcada, o colisor �ca sendo usado para disparar
um evento e �ca sendo ignorado pelo motor de física da Unity.
Olhando para esse objeto na aba “Scene”, podemos ver que ele agora não é mais um
quadrado e já tomou a forma da imagem. Para mudarmos a cor desse Tiro, selecione o
“Quad” dentro do objeto Tiro, e dentro dele adicione um objeto luz (em inglês, está como
“Light”). Selecione a luz “Direc�onal Light”. Na aba “Inspector” da luz, veja que, no
componente “Light”, existe um campo “Color”, que está branco. Clique nele e escolha uma
cor. Agora, precisamos adicionar dois “Scripts” ao Tiro: o primeiro fará ele se mover quando
for atirado pela nave, o outro fará o Tiro ser destruído quando sair da tela do jogo. 
Shader: basicamente, é quem calcula pixel a pixel como a cor da luz que atinge o
material.
Default-Material: o material de�ne como o objeto re�ete a luz.
Offset: é um valor que referencia a distância entre o componente e a posição de
origem, nesse caso o próprio objeto.
Direc�on: é a direção para onde a cápsula está apontada, vertical ou horizontal.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 35/53
Veja o “Script” de movimentação do Tiro: 
Veja o “Script” que destrói o Tiro quando sai da tela: 
Por �m, para que possamos usar esse objeto Tiro em outras naves, arraste-o da aba
“Hierarchy” para a pasta que criamos no início, a pasta “Prefab”.
Dessa forma, sempre que precisarmos dele, basta arrastá-lo para uma nova posição.
Chamamos esse tipo de objeto de “Prefabs”. São “Game Objects” que foram pré-fabricados
e já estão prontos para uso. Quando um “Prefab” contém outros objetos dentro dele, ele se
transforma em um container. Sendo assim, teremos cópias dele em vários lugares. Quando
for para um inimigo, podemos alterar sua cor, tendo Tiros de cores diferentes.
Para que esse Tiro funcione em nossa nave, precisamos fazer alguns ajustes. Clique na nave
e dentro dela adicione um objeto vazio. Dê o nome dele de “SpawnShoot” e o posicione na
ponta da nave, na posição onde deseja que o Tiro saia. Para ajudar a posicionar o
“SpawnShoot”, jogue o tiro dentro do “SpawnShoot” para que ele �que visível, e depois
delete o Tiro quando ele estiver posicionado.
Para que a nave possa atirar, precisamos criar um novo “Script”para a nave. Repita o
processo de criação de “Script” visto anteriormente e dê o nome dele de “Player Tiro”.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 36/53
Dentro desse “Script”, cole o código a seguir nele. 
Arraste o “SpawnShoot” e o Tiro para seus locais correspondentes dentro desse novo
“Script”, ajuste um valor para a variável “Tempo_Entre_Tiros” (uma sugestão é 0.25) e
troque a “Tag” para Tiro. Caso não tenha,  adicione-a.
Parallax
Antes de posicionar os objetos, lembre-se de sempre de resetar seus valores do
componente “Transform” na aba “Inspector”.
Para criarmos o efeito de Parallax, precisamos fazer uma camada ou mais de uma que se
mova entre a nave e o fundo do jogo. Imagine que o jogo é uma pilha de papéis, o fundo do
jogo é o primeiro papel dessa pilha e a nave do jogador é o papel que está no topo dessa
pilha. O efeito parallax deve �car entre o papel que está na base da pilha e o papel que está
no topo da pilha. A Figura 1.19 demonstra a ordem dessa pilha: 
Podemos pensar, então, que, no momento da Unity pintar um objeto na tela, esse objeto já
deve vir na ordem em que ele vai ser pintado. Dessa forma, ele sempre será sobreposto por
alguns objetos e sobrepor outros. Nesse caso, a nave vai sobrepor a poeira e o fundo da tela.
Precisamos seguir uma receita que nos guie até a �nalização desse efeito. Sabemos que o
parallax precisa ter um movimento contínuo, então devemos fazer uma emenda na qual ele
Figura 1.19 - Ordem da pilha 
Fonte: Elaborada pelo autor.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 37/53
acabe e continue, sem que o jogador perceba essa emenda.
Uma coisa muito importante: o “Quad” é um objeto 3D, portanto não possui o componente
“Sprite Render”. Sendo assim, não há como ajustar quem aparece primeiro de maneira 2D,
então devemos mexer no valor do eixo z da nave e do “Gerencia Parallax”. Colocando o eixo
z com o valor de 0 ou -1 deve ser o su�ciente. Caso não seja, procure um valor que �que
bom para seu jogo. Lembre-se da pilha que ordena os objetos.
Vamos criar um objeto vazio na aba “Hierarchy”, o qual terá o nome de “Gerencia Parallax”.
Não devemos usar acentos em nomes de objetos ou variáveis, ou qualquer outra coisa que
entrar em contato com a lógica do jogo, pois isso pode gerar erros no futuro.
Dentro do objeto que acabamos de criar, criaremos outro objeto vazio, ao qual daremos o
nome de “Parallax 1”. Dentro desse, criaremos um objeto 3D do tipo “Quad”. Quando ele
estiver pronto, podemos copiá-lo e criaremos no total três nuvens, às quais daremos o
nome de “nuvem 1”, “nuvem 2” e “nuvem 3”. Faremos uma organização de forma aleatória, o
que nos parecer melhor. Lembre-se de que um dos ingredientes de um jogo é a criatividade.
Agora, encontre a imagem de nuvem que separamos anteriormente e arraste para o “Quad”
que está na aba “Scene”. Caso contrário, não funcionará da forma correta. Veremos que
nosso “Quad” agora tem o formato da nuvem de poeira, no campo “Shader” dentro do
componente “Default-Material”, que deve estar com o nome de “DustCloud 1”, que �ca na
aba “Inspector” desse “Quad”.
Selecione o “Shader”, “Mobile” depois “Par�cles” e, por �m, “Addi�ve”. Com essa formação
pronta, selecione a nuvem e pressione “Ctrl + c” depois “Ctrl + v” (o famoso copiar e colar) e
crie mais duas nuvens. Posicione-as da maneira que mais agradar visualmente. Podemos ver
um exemplo na Figura 1.20: 
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 38/53
Na Figura 1.20, podemos observar que na aba “Scene” as nuvens estão destacadas com a
borda laranja, pois elas estão selecionadas. Para selecionar mais de um objeto, precisamos
pressionar a tecla Shi� e clicar nos outros objetos que desejamos selecionar.
Com essas três nuvens selecionadas, repita o processo de copiar e colar e arraste-as novas
nuvens para cima da tela no eixo y. Para isso, use a função “Move Tool”, deixe-as próximas
da borda superior da tela, mantendo a formação que fez. Para que o efeito parallax funcione
de maneira �uida, repita esse processo mais uma vez e leve essas três novas nuvens além
das anteriores e também mantenha proximidade. Por �m, é preciso criar dentro do objeto
“Parallax 1” um objeto vazio, e posicioná-lo no �nal dessa formação de nuvens que fez, um
pouco distante da última nuvem dessa sequência. Para esse novo objeto, podemos dar o
nome de “gerencia_Inicio”. A Figura 1.21 demonstra essa formação e deixa os objetos
selecionados para que possamos ver como estão dispostos na “Scene”. O objeto
“gerencia_Inicio” está posicionado no local onde estão as setas verde e vermelha, que
representam os eixos X e Y. 
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 39/53
Perceba na Figura 1.21 que o objeto mais distante é o “gerencia_Inicio”. Ele é utilizado para
sabermos para onde a próxima sequência de parallax deve ser movida e �carem em um loop
enquanto o jogo estiver sendo executado.
Adicione o “Script” a seguir no objeto “Parallax 1”. 
Agora, podemos selecionar o objeto “Parallax 1”, copiá-lo e colá-lo dentro do objeto
“Gerencia Parallax”. Precisamos mover esse novo parallax para além das nuvens existentes.
Agora, com “Parallax 1” e “Parallax 2” posicionados, precisamos gerenciar o “fimTela”. Esse
objeto vazio deve ser criado dentro do objeto “Gerencia Parallax” e posicionado além dos
limites da borda inferior da tela, para que, quando nossas nuvens chegarem até ele, elas
possam voltar para cima onde está o objeto “gerencia_Inicio”, que segue a cauda de cada um
dos parallax que criamos, o 1 e o 2, como podemos ver no exemplo da �gura 1.22. O
“fimTela” é igual para os dois parallax, mas o “gerencia_Inicio” deve ser ligado ao “Parallax 1”
no “gerencia_Inicio” do “Parallax 2” e vice-versa.
Esse processo do parallax necessita de alguns testes e ajustes, para que as nuvens possam
passar e fazer a volta de maneira �uida. Para testar, precisamos apertar o botão de “Play” da
Unity e ver se tudo ocorre de maneira correta.
Lembre-se de que os campos onde os valores de “gerencia_Inicio”, “fimTela” e a “velocidade”
das nuvens, iriam aparecer no “Script” criado em “Parallax 1” e “Parallax 2”. Podemos deixar
a velocidade deles em 0.1 e, para os outros dois valores, podemos arrastar os objetos
“gerencia_Inicio” e “fimTela” para os campos dentro do componente “Script” de cada
parallax. 
Figura 1.21 - Sequência do objeto Parallax1. 
Fonte: Print feito pelo autor.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 40/53
Uma dica: a nave pode �car no eixo z = -1, e o objeto “Gerencia Parallax” com o valor do eixo
z = -0.8953174. Lembre-se sempre de que esses valores são demonstrativos. Você pode e
deve alterar esses valores para que eles representem melhor o seu jogo. A Figura 1.22
representa bem essa formação, e novamente, como o objeto que marca o �m da tela não
tem imagem igual aos objetos que marcam o início, dessa vez o objeto “fimTela” está sendo
representado pelas setas verde e vermelha. 
praticarVamos Praticar
No desenvolvimento de jogos, existem vários tipo de efeitos que podemos criar, um que é muito
usado no desenvolvimento de jogos 2d é o efeito de “parallax”. Este efeito é muito simples de ser
criado e dá um toque especial ao jogo. Escolha a alternativa que indica a de�nição do efeito
parallax.
a) O parallax é um efeito que podemos criar para dar a impressão de movimento 2D ao
jogo. Dessa forma, podemos criar uma ilusão de movimento bidimensional.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 41/53
b) O parallax é um efeito que podemos adicionar somente a jogos espaciais, pois ele cria o
efeito de espaço profundo ao jogo. Praticamente todos os jogosespaciais usam este efeito.
c) O parallax é um efeito que nos dá profundidade em jogos 2D. Como o jogo é feito em
camadas, algumas delas se movimentam em velocidades diferentes dando o efeito de
profundidade.
d) O parallax é um efeito que nos ajuda a criar jogos em geral. Sem esse efeito é
praticamente impossível criar um jogo que seja agradável.
e) O parallax é um efeito que nos proporciona engajamento no jogo, técnica muito usada
para ganhar mercado e jogadores; sem ele, um jogo não é vendável.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 42/53
Para criarmos um “PowerUp” (ou em português um aumento de poder), precisamos fazer
algumas alterações em nossos “Scripts” e adicionar algumas modi�cações. Vamos começar
pela nave: precisamos adicionar ao “Script” “PlayerTiros” as seguintes informações.
Antes do método Update(), devemos adicionar:
Dentro do Update, devemos adicionar esse código. Já existem códigos dentro do Update.
Adicione esse após o código existente no Update:
Perceba que cada classe e método dentro de um “Script” tem seu espaço determinado com
chaves. “{“ indica a abertura e “}” indica o fechamento, tanto de classes quanto de métodos.
Classe: na Unity, uma classe armazena o código de um “Script”. Ela pode conter
variáveis, métodos e seus respectivos valores e códigos.
Método: eles servem para conter funcionalidades que iremos programar, como
atirar com a nave, ou mover a nave, dentre outros.
Variáveis: são usadas para conter valores, que podem ser numéricos, ou até
outros objetos, como um RigidBody 2D.
PowerUpsPowerUps
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 43/53
Agora, precisamos criar um objeto para ser nosso “PowerUp”. De tempos em tempos, ele
deve aparecer na tela. Escolhi criar o “PowerUp” com uma réplica da nave que estamos
usando para o jogador, porém com um tamanho menor. Para mudar o tamanho da nave, use
a ferramenta “Scale Tool”. Vá até a pasta onde encontramos a nave da primeira vez. Aqui
está o caminho “Assets/2D Space kit/Ships and Stations/Cruiser 3.png”. Arraste a imagem
da nave para a aba “Hierarchy” e mude o nome desse objeto para “PowerUp”. Crie nesse
objeto um “Script” chamado “PowerUp”, apague os métodos Updates e start e coloque esses
métodos a seguir dentro da classe “PowerUp” que está dentro do “Script”.
Veri�que se sua nave está usando a “Tag” Player, pois esse método gerencia a colisão entre
dois objetos que tenham colisão. Para isso, devemos adicionar em nosso objeto “PowerUp”
um corpo de colisão, o componente “Polygon Collider 2d”. Marque a caixa do campo “Is
Trigger”, e um “Rigidbody 2D”. Lembre-se de zerar a gravidade e, por �m, troque a “Tag” para
PowerUp. Agora, podemos transformar o “PowerUp” em um “Prefab”, arrastando-o da aba
“Hierarchy” para a pasta efeitos.
Space Shooter: Enfrentando Inimigos
Vamos criar um pouco de ação em nosso jogo. Para isso, vamos criar os inimigos e suas
“waves”; em português, “waves” são ondas. Junto dessas “waves”, vamos colocar nosso
“PowerUp”.
Inimigos
Para criar nossos “Prefabs” dos inimigos, precisamos arrastar a imagem da nave do primeiro
inimigo para a aba “Hierarchy”. Ao �nal desse processo, vamos conseguir fazer cópias desse
“Prefab” e mudar a imagem, valor de vida e tudo o mais que for necessário para criarmos
outros inimigos.
Em seguida, devemos ajustar o campo “Order in Layer” para 1, mudar a “Tag” para Inimigo e
sempre nos lembrar de antes de tudo resetar os valores do componente “Transform”.
Precisamos adicionar o componente “Rigidbody 2D” zerar a gravidade e adicionar o
componente “Polygon Collision 2D” e marcar a caixa do campo “Is Trigger”. Com isso
pronto, precisamos criar um novo “Script”. Daremos a ele o nome de “Nave_Inimigo”.
Precisamos ver qual é o lado da frente da imagem; em geral, as naves estão apontadas para
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 44/53
cima igual à nave do jogador, e precisamos rotacionar a nave inimiga. Para isso, mude o valor
do eixo z do componente “Transform” no campo “Rota�on” para 180.
Lembre-se de utilizar a ferramenta “Scale Tool” para aumentar ou diminuir o tamanho das
naves inimigas.
Nesse “Script”, teremos as variáveis vida e velocidade.
Vejamos o “Script”, a seguir:
Para concluir, podemos fazer cópias desse inimigo “Alient 1” e trocar as imagens das naves e
os valores de vida e velocidade de cada um. Para mudar a imagem do objeto inimigo, basta
arrastar a imagem desejada para o campo “Sprite” do componente “Sprite Render”. Por �m,
arraste esses objetos para a pasta que estamos usando para armazenar os “Prefabs”, a pasta
efeitos. Perceba que, ao gerar um “Prefab”, uma seta mais à direita do nome do “Prefab”
surge, e essa nos leva ao ambiente de edição do “Prefab”. Teste-a para ver como funciona.
Waves de Inimigos com PowerUps
Com os inimigos e o PowerUp prontos, podemos agora criar um objeto vazio para gerenciá-
los dentro do jogo. Vamos criar um novo objeto vazio, e vamos chamá-lo de
“Gerencia_Ondas”. Nesse novo objeto, vamos criar um “Script“ e vamos chamá-lo de
“Controle”. Esse “Script” terá a possibilidade de gerenciar as ondas dos inimigos e no início
de cada onda teremos um “PowerUp”. Também vamos controlar a posição de início das
ondas, quantidade de naves por onda, tempo de espera, entre as ondas, tempo de espera
para início da primeira onda e as posições dos “PowerUps”.
Vejamos o “Script” a seguir:
posInimigos: esse vetor armazena um valor inicial para as naves inimigas, porém
esse valor é usado para gerar um campo onde as naves devem ser geradas
aleatoriamente, e a mesma coisa é feita com o vetor posPowerUps. Devemos
informar o valor de X igual ao valor que usamos para manter a nave dentro da
tela. Nesse caso, foi o valor 2, e o valor de Y é o valor em que naves vão iniciar, ou
seja, será a distância dela até chegar a borda superior da tela do jogo.
StartCorou�ne: inicia uma rotina secundária através do IEnumerator.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 45/53
IEnumerator: coloca o método dentro de uma ordem que pode ser chamado pelo
StartCorou�ne.
Instan�ate: faz um clone do objeto original que indicamos.
WaitForSeconds: suspende a corotina por uma quantidade de tempo em
segundos.
praticarVamos Praticar
Vimos vários tipos de objetos que podem ser criados com a Unity, objetos 2D, 3D, textos e vários
outros, e que cada objeto tem uma função predeterminada pela Unity e tem seu modo de ser
usado. Em relação a isso, selecione a alternativa que traz o passo a passo de como gerar um novo
objeto na Unity.
a) Para gerar um novo objeto, devemos clicar na aba Game e, em seguida, clicar com o
botão direito do mouse em seu interior. Assim, parecerá uma caixa na qual estarão listados
os possíveis objetos. Selecione um e pronto; criamos um novo objeto.
b) Para gerar um novo objeto, devemos clicar na aba Cena e, em seguida, clicar com o botão
direito do mouse em seu interior. Assim, aparecerá uma caixa na qual estarão listados os
possíveis objetos. Selecione um e pronto, criamos um novo objeto.
c) Para gerar um novo objeto, devemos clicar na aba Console e, em seguida, clicar com o
botão direito do mouse em seu interior. Assim, aparecerá uma caixa na qual estarão listados
os possíveis objetos. Selecione um e pronto, criamos um novo objeto.
d) Para gerar um novo objeto, devemos clicar na aba “Inspector”/inspetor e, em seguida,
clicar com o botão direito do mouse em seu interior. Assim, aparecerá uma caixa na qual
estarão listados os possíveis objetos. Selecione um e pronto, criamos um novo objeto.
e) Para gerar um novo objeto, devemos clicar na aba “Hierarchy”hierarquia e, em seguida,
clicar com o botão direito do mouse em seu interior. Assim, aparecerá uma caixa na qual
estarão listados os possíveis objetos. Selecione um e pronto,criamos um novo objeto.
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 46/53
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 47/53
indicações
Material
Complementar
L IVRO
Unity Total: Fundamentos Essenciais
Autores: Rafael Henrique Capati e Joberth Morais de Andrade
Editora: Kindle
Comentário: o livro traz princípios essenciais, descreve os Game
Objects e seus componentes, mostra modelos 2D e 3D, materiais
e texturas e fala sobre terrenos, ambientes externos, luzes e tudo
o mais para se criar um game na unity.
WEB
Playing Hard
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 48/53
Ano: 2018
Comentário: esse documentário conta a história de Jason
Vandenberghe, Game Producer do jogo For Honor. Mostra os
bastidores da indústria de jogos pro�ssionais e narra a jornada de
desenvolver um jogo tão grande, do começo ao �m. Foram cinco
anos até seu lançamento.
A C E S S A R
https://www.youtube.com/watch?v=20hUmq66StA
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 49/53
conclusão
Conclusão
Para iniciar nossa jornada no desenvolvimento de jogos 2D usando a Unity, vimos o básico
sobre como utilizar a Unity, como criar um objeto e tratá-lo de maneira que podemos
movimentá-lo utilizando o teclado do computador ou criar um objeto que o próprio código
irá se encarrega de movê-lo. Para isso, �zemos uso de “Scripts” que são escritos com a
linguagem C#. Criamos conteiners de objetos e também vimos uma maneira de criar o
efeito de parallax e ondas de inimigos, iguais ou diferentes, com tempo e quantidade.
referências
Referências
Bibliográ�cas
DOCUMENTATION. Unity.Disponível em: https://docs.unity3d.com/ScriptReference/.
Acesso em: 18 nov. 2019.
GAMEOBJECT. Unity. Disponível em: https://docs.unity3d.com/Manual/class-
GameObject.html. Acesso em: 20 nov. 2019.
HALPERN, J. Developing 2D Games with Unity: independent game programming with C#.
New York: Apress, 2019.
LEAD game designer. Get in Media, [2019]. Disponível em:
http://getinmedia.com/careers/lead-game-designer. Acesso em: 18 nov. 2019.
https://docs.unity3d.com/ScriptReference/
https://docs.unity3d.com/Manual/class-GameObject.html
http://getinmedia.com/careers/lead-game-designer
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 50/53
READY player web: building modern web games. [S. l.: s. n.], 2019. 1 vídeo (7 min 38 s).
Publicado pelo canal Chrome Dev Summit. Disponível em:
https://www.youtube.com/watch?v=5_ySzSDnyYI. Acesso em: 18 nov. 2019.
SATO, A. K. O. Game design e proto�pagem: conceitos e aplicações ao longo do processo
projetual. Florianópolis, SC: SBGames, 2010. Disponível em:
http://www.sbgames.org/papers/sbgames10/artanddesign/Full_A&D_10.pdf. Acesso em: 3
dez. 2019.
SCENES. Unity. Disponível em:
https://docs.unity3d.com/560/Documentation/Manual/CreatingScenes.html. Acesso em:
25 nov. 2019.
SCHUYTEMA, P. Design de games: uma abordagem prática. São Paulo: Cengage Learning,
2016.
THE scene view. Unity. Disponível em:
https://docs.unity3d.com/560/Documentation/Manual/UsingTheSceneView.html. Acesso
em: 25 nov. 2019.
THORN, A. Unity 2018 By Example. 2. ed, Birmingham, UK: Packt, 2018.
UNITY para dispositivo móvel. Unity, [2019]. Disponível em:
https://unity3d.com/pt/unity/features/multiplatform. Acesso em: 20 nov. 2019.
WHY you need to use a game engine. [S. l.: s. n.]. 1 vídeo (1 min 1 s). Publicado pelo canal The
Cherno. Disponível em: https://www.youtube.com/watch?v=QQ9MTzrsldo. Acesso em: 25
nov. 2019.
https://www.youtube.com/watch?v=5_ySzSDnyYI
http://www.sbgames.org/papers/sbgames10/artanddesign/Full_A&D_10.pdf
https://docs.unity3d.com/560/Documentation/Manual/CreatingScenes.html
https://docs.unity3d.com/560/Documentation/Manual/UsingTheSceneView.html
https://unity3d.com/pt/unity/features/multiplatform
https://www.youtube.com/watch?v=QQ9MTzrsldo
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 51/53
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 52/53
09/10/2020 Ead.br
https://unifacs.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 53/53

Outros materiais