SlideShare uma empresa Scribd logo
1 de 121
Baixar para ler offline
FACULDADES DOCTUM IPATINGA
BACHARELADO EM SISTEMAS DE INFORMAÇÃO
EKETLIN VIEIRA GOMES
ICARO RAYONE AZEVEDO DIAS
MATHEUS RODRIGUES SILVA
DESENVOLVIMENTO DE JOGOS UTILIZANDO UNITY 3D
IPATINGA, MG
2016
D
D
D
D
Unidade Ipatinga – MG
SISTEMAS DE
INFORMAÇÃO
Ipatinga
2016
EKETLIN VIEIRA GOMES
ICARO RAYONE AZEVEDO DIAS
MATHEUS RODRIGUES SILVA
DESENVOLVIMENTO DE JOGOS UTILIZANDO
UNITY 3D
Trabalho de Conclusão de Curso apresentado à
Coordenação de Curso de da Faculdade Doctum
de Ipatinga - Rede de Ensino Doctum, como
requisito parcial para a obtenção do título de
bacharel em Sistemas de Informação.
Prof.° Orientador: Msc. Marcelo José Vigorito
Campara.
Área de concentração: Desenvolvimento de
jogos digitais.
EKETLIN VIEIRA GOMES
ICARO RAYONE AZEVEDO DIAS
MATHEUS RODRIGUES SILVA
DESENVOLVIMENTO DE JOGOS UTILIZANDO UNITY 3D
Este Trabalho de Conclusão de Curso foi
julgado e aprovado, como requisito parcial
a obtenção do título de bacharel em
Sistemas de Informação na Faculdade
Doctum de Ipatinga – Rede Doctum de
Ensino, em 2016.
Média Final: ____________________
Ipatinga, 14 de dezembro de 2016
Banca Examinadora
______________________________________________
Prof.ª Convidada: Maíza Cristina de Souza Dias
Mestre em Informática PUC-Minas
Faculdades Doctum Ipatinga
______________________________________________
Prof. Convidado: Talles Quintão Pessoa
Especialista em Redes – Escola Superior Aberta do Brasil
Faculdades Doctum Ipatinga
______________________________________________
Prof. Orientador: Marcelo José Vigorito Campara
Mestre em Sistema de Informação e Gestão
do Conhecimento – Universidade FUMEC
Faculdades Doctum Ipatinga
DEDICATÓRIA
Dedico este trabalho aos meus pais Altair Gomes e Luzia de Fátima, meu namorado
Patrick Moreno e meus irmãos, que me apoiaram muito nestes quatro anos, e todos
aqueles que me ajudaram a transformar esse sonho em realidade, me proporcionando
forças para que eu não desistisse de ir atrás do que eu buscava para minha vida.
Surgiram muitos obstáculos pelo caminho durante esses últimos anos, mas graças a
vocês, eu não fraquejei.
Eketlin Vieira Gomes
Dedico este trabalho aos meus pais, irmãos, familiares e amigos que de muitas formas
me incentivaram e ajudaram para que fosse possível a concretiza-lo.
Icaro Rayone Azevedo Dias
Dedico a Deus, por ser extremamente paciente e piedoso comigo.
Aos meus pais que foram companheiros e me ajudaram em todas as horas.
A meus amigos e familiares.
Matheus Rodrigues Silva
AGRADECIMENTOS
Agradecemos primeiramente a Deus, por ter guiado nossos passos e proporcionado
a oportunidade de chegar até aqui.
Agradecemos nossos familiares e amigos, que sempre nos apoiaram e nos
incentivaram a nunca desistir, a faculdade, sеυ corpo docente, direção е
administração qυе oportunizaram а janela qυе hoje vislumbramos um horizonte
superior, enfim a todos qυе direta оυ indiretamente fizeram parte de nossa formação,
о nosso muito obrigado.
EPÍGRAFE
“Talvez não tenhamos conseguido fazer o
melhor, mas lutamos para que o melhor fosse
feito. Não somos o que deveríamos ser, não
somos o que iremos ser, mas, graças a Deus,
não somos o que éramos”.
(Martin Luther King)
RESUMO
Esse trabalho tem o intuito de aprofundar os conhecimentos a respeito do
desenvolvimento de jogos, desenvolvendo uma versão demonstrativa de um jogo com
uma fase, tal jogo será do gênero Shot’em up, que consiste em o personagem principal
atirar projéteis em seus inimigos e evitar os perigos e obstáculos. Normalmente o
personagem utilizado nesse estilo de jogo é um veículo, e a câmera geralmente se
localiza num ângulo superior ao personagem e se encontra fixada durante todo o jogo
no mesmo ângulo de visão. Será demonstrado o processo de criação dos jogos
eletrônicos com ênfase no processo de game design. O desenvolvimento será dividido
nas etapas de game design que envolve a criação do Game Design Document, na
etapa da arte, na qual são criados os elementos visuais e auditivos do jogo, na de
programação utilizando a linguagem CSharp e a documentação, apresentando como
resultado a versão de demonstração completamente jogável, de modo que seja
possível esclarecer os detalhes menos conhecidos da construção de um jogo aos
aficionados pela área, em um mercado que tem crescido muito nos últimos anos em
vários países e o mercado brasileiro se encontra em uma boa colocação, na qual está
sendo avaliado com o quantia equivalente a US$ 1,3 bilhões.
Palavras chave: Game Design, Arte, Programação, Desenvolvimento, Jogo.
ABSTRACT
This essay is intended to dig deeper into the knowledge of game development,
developing a demo version of a game with one level, into the genre of “Shot’ em Up”
in which the main character shoots projectiles at his enemies and avoids danger and
obstacles. Normally, the main character that is used in this style of game is a veicle,
and the camera is usually located on its back, on a superior angle and is fixed
throughout the game at the same viewing angle. It will show the process of creation
and development of the electronic games with emphasis in the process of game
design. The development will be divided in game design parts that involve the creation
of the Game Design Document, In the art parts, in which elements visual and audio
are created, at programming using the CSharp language and the documentation,
presenting as a result the demo version completely playable and possible to clarify the
datails that oare barely known of a game’s creation to the passionate ones for the area
in a market that has grown a lot in the last recent years in many countries, and the
Brazilian market is in a good position, in which it is being evaluated with the equivalent
of US $ 1.3 billion.
Key words: Game Design, Art, Programming, Development, Game.
LISTA DE ILUSTRAÇÕES
Figura 1: Interface do Unity .......................................................................................24
Figura 2: Renderização .............................................................................................28
Figura 3: Funções utilizadas no Blender ...................................................................51
Figura 4: Modelagem ................................................................................................52
Figura 5: Cenário.......................................................................................................53
Figura 6: Tela de carregamento ................................................................................53
Figura 7: Menu do jogo .............................................................................................54
Figura 8: Tela de combate ........................................................................................55
Figura 9: HUD ...........................................................................................................56
Figura 10: Aeronave Inimiga .....................................................................................56
Figura 11: Turbina Inimigo ........................................................................................57
Figura 12: Aeronave principal....................................................................................57
Figura 13: Aeronave principal - traseira ....................................................................58
Figura 14: Míssil Modelagem ....................................................................................58
Figura 15: Míssil........................................................................................................59
Figura 16: Míssil encaixado na aeronave..................................................................59
Figura 17: Míssil Inimigo ...........................................................................................60
Figura 18: Míssil Inimigo 2 ........................................................................................60
Figura 19: Game Over...............................................................................................61
Figura 20: Vitória.......................................................................................................61
Figura 21: Diagrama de caso de uso ........................................................................66
Figura 22: Sky Force .................................................................................................82
Figura 23: Teclado ....................................................................................................85
Figura 24: Diagrama de telas ....................................................................................86
Figura 25: Personagem principal...............................................................................88
Figura 26: Inimigo......................................................................................................90
LISTA DE TABELAS
Tabela 1: Países que arrecadam com o mercado de jogos ......................................38
SUMÁRIO
1 INTRODUÇÃO .......................................................................................................14
1.1 Objetivo Geral..................................................................................................14
1.2 Objetivos Específicos.......................................................................................14
1.3 Principais Contribuições ..................................................................................14
1.4 Problemas e hipóteses ....................................................................................15
1.5 Justificativa ......................................................................................................16
1.6 Organização do Trabalho ................................................................................17
2 REVISÃO BIBLIOGRÁFICA ...............................................................................18
2.1 Histórico do desenvolvimento de jogos eletrônicos .........................................18
2.2 Papel do Designer de Games..........................................................................20
2.3 Unity 3D...........................................................................................................21
2.3.1 Estrutura do Unity......................................................................................24
2.3.1.1 Interface .................................................................................................24
2.3.2 Componentes............................................................................................26
2.3.3 Assets .......................................................................................................26
2.3.4 Prefabs......................................................................................................27
2.3.5 Packages ..................................................................................................27
2.3.6 Renderização ............................................................................................27
2.3.7 Iluminação.................................................................................................28
2.4 Blender ............................................................................................................29
2.5 Visual Studio....................................................................................................29
2.6 Linguagem C# .................................................................................................30
2.7 Sonoplastia......................................................................................................30
2.8 Dados bidimensionais (2D) e tridimensionais (3D) ..........................................32
2.9 Aplicação de jogos em trabalhos de equipe ....................................................32
2.10 Inteligência artificial........................................................................................33
2.11 A Física e a matemática usadas no jogo .......................................................34
2.12 Interface do usuário .......................................................................................36
2.13 Heads-Up Display (HUD)...............................................................................36
2.14 Jogadores......................................................................................................37
2.15 Engenharia de Software ................................................................................39
2.16 Casos de uso.................................................................................................40
3 METODOLOGIA.....................................................................................................42
4 DESENVOLVIMENTO ...........................................................................................44
4.1 Processo de Elaboração de um Jogo ..............................................................44
4.2 Pré-produção...................................................................................................45
4.2.1 Definição do gênero ..................................................................................45
4.2.2 Criando a história...................................................................................47
4.2.3 Game Design Document .......................................................................49
4.3 Produção .........................................................................................................49
4.3.1 Arte/Animação..........................................................................................50
4.3.2 Programação.............................................................................................62
4.3.2.1 Jogador ..................................................................................................62
4.3.2.2 Tiro.........................................................................................................63
4.3.2.3 Inimigo...................................................................................................63
4.3.2.4 Clonador................................................................................................64
4.3.2.5 Menu principal, Tela de vitória e Tela de derrota ...................................64
4.3.3 Level Design .............................................................................................64
4.3.4 Diagrama de caso de uso .........................................................................66
4.4 Pós-Produção ..................................................................................................66
5 CONSIDERAÇÕES FINAIS ...................................................................................68
REFERÊNCIAS.........................................................................................................70
GLOSSÁRIO .............................................................................................................76
ANEXOS ...................................................................................................................78
ANEXO A – Game Design Document .......................................................................78
1 INTRODUÇÃO .......................................................................................................80
1.1 História do jogo................................................................................................80
1.2 Game Play.......................................................................................................80
1.3 Público Alvo.....................................................................................................81
1.4 Produto similar.................................................................................................82
2 CONTROLE E INTERAÇÂO ..................................................................................84
2.1 Entrada ............................................................................................................84
2.1.1 Teclado .....................................................................................................84
2.2 Saída ...............................................................................................................85
2.2.1 Telas .........................................................................................................85
2.2.2 Menu .........................................................................................................86
2.2.3 HUD ..........................................................................................................86
2.3 Câmera............................................................................................................87
2.4 Mecânica básica ..............................................................................................87
3 INTERFACE E PERSONAGENS ...........................................................................88
3.1.1 Personagem principal................................................................................88
3.1.2 Inimigos.....................................................................................................90
4 OBJETIVOS ...........................................................................................................92
4.1 Objetivo do jogo...............................................................................................92
4.1.1 Como vencer.............................................................................................92
4.1.2 Como perder .............................................................................................92
ANEXO B – Scripts do jogo.......................................................................................94
14
1 INTRODUÇÃO
Diante da popularização de aparelhos eletrônicos, como computadores, notebooks,
smartphones, tablets e videogames, devido à maior facilidade de acesso e aquisição
dessas tecnologias, o mercado de jogos vem evoluindo com o passar dos anos, e
conquistando cada vez mais admiradores.
Mesmo os jogos tendo uma grande comunidade de fãs, os processos de
desenvolvimento de games ainda são pouco conhecidos, fator que tem aumentado o
número de interessados na área.
Este projeto tem o intuito de aprofundar e disseminar os conhecimentos e informações
sobre o desenvolvimento de jogos, desenvolvendo uma versão demonstrativa com
uma fase de um jogo, utilizando o motor gráfico Unity 3D e demonstrando os
processos necessários para chegar ao resultado final esperado.
1.1 Objetivo Geral
 Desenvolver uma versão demonstrativa de um jogo, com uma fase.
1.2 Objetivos Específicos
 Demonstrar o processo de criação de um jogo eletrônico;
 Abordar o papel do game design no desenvolvimento do jogo;
 Desenvolver o Game Design Document.
1.3 Principais Contribuições
Através do desenvolvimento de uma versão demonstrativa de um jogo, foi possível
demonstrar os processos de desenvolvimento de um jogo no motor gráfico Unity 3D,
tratando a importância do game design para todo o restante do processo de criação
de um jogo, desenvolvendo um Game Design Document que serviu de aporte durante
as etapas de arte e programação.
15
1.4 Problemas e hipóteses
O constante crescimento do mercado tem obrigado a indústria de jogos eletrônicos a
se adaptar às diversas exigências de seus consumidores, e para adaptar-se a esse
mercado sedento por novidades, os produtores de jogos tem buscado:
 Gráficos melhores;
 Histórias envolventes;
 Personagens que criem uma aproximação com o jogador;
 Game play agradável.
Segundo Rogers (2013), para alcançar tais adaptações os produtores devem se
dedicar aos principais processos de produção de jogos que são:
 Game Design;
 Arte;
 Programação.
O game design sendo o primeiro e principal processo do desenvolvimento de jogos,
se subdivide em diversos subprocessos, que quando reunidos, tem objetivo de
fornecer aos profissionais das demais fases do desenvolvimento a base e orientação
durante toda a criação do jogo, no caso de um game design mal estruturado e
interpretado, o resultado pode ser um jogo completamente contrário à ideia inicial, que
pode levar ao fracasso do jogo no mercado (ROGERS, 2013).
Diante do pouco conhecimento sobre os processos que constituem como resultado
final um jogo eletrônico, é preciso questionar quais os processos necessários para o
desenvolvimento de um jogo, e tendo em vista o game design como processo de suma
importância para um resultado final de sucesso, se faz necessário questionar também,
qual o papel do game design dentro do processo de criação dos jogos eletrônicos.
16
1.5 Justificativa
Num cenário de crise econômica, o mercado de jogos segue cada vez mais forte o
caminho contrário das demais áreas, abrindo espaço para inúmeras profissões
voltadas para o segmento. De acordo com o jornalista George Vidor (2015), o mercado
de jogos eletrônicos ainda cresce a um ritmo superior a 10% ao ano, em contraste
com a média da economia. No mundo, os games já faturam mais que cinema e
música, juntos.
O mercado brasileiro de jogos está em crescimento, segundo a revista pesquisa game
brasil (2016), 74,7% dos brasileiros entrevistados jogam videogames, sendo 52,6%
desse público são mulheres entre 16 a 34 anos, dentre as plataformas mais usada
estão os smartphones (77,2%), os computadores (66,9%) e consoles (45,7%).
Mesmo com todo o desenvolvimento do ramo, ainda é pequena a quantidade de
profissionais preparados, devido à falta de conhecimento sobre a área. Segundo Vidor
(2015), a indústria de jogos contribui tanto na geração de empregos e rendas quanto
na exploração de novas tecnologias, como é o caso da Realidade Virtual. “Dessa
forma, pode-se dizer que o setor de jogos digitais é de suma importância no
desenvolvimento tecnológico e acaba relacionado a diversos outros setores”, destaca.
A escolha do tema se fez com o intuito de expandir em quantidade e qualidade os
materiais disponíveis sobre o assunto, já que atualmente são escassas as
informações à disposição dos interessados.
As ferramentas escolhidas para o desenvolvimento do jogo foram, o motor gráfico
Unity 3D, que oferece as ferramentas necessárias para todo o processo de criação do
jogo, possui uma compatibilidade com ferramentas externas, além de possuir uma
versão gratuita, fatores que favoreceram na escolha do mesmo, foi escolhido o
Blender para elaborar a parte visual do jogo e o Visual Studio usado para o
desenvolver a mecânica usando a linguagem de programação CSharp.
17
1.6 Organização do Trabalho
Este trabalho é composto por cinco Capítulos, organizados da seguinte forma:
Na parte inicial, apresenta-se a introdução do trabalho onde é justificado o motivo que
levou a escolha do tema, os problemas e as hipóteses. O objetivo principal é
desenvolver uma versão demonstrativa de um jogo para levar e disseminar o
conhecimento e informações sobre o desenvolvimento de jogos.
A segunda parte é formada pelo referencial teórico que aborda desde a história do
desenvolvimento dos jogos, passando pelo game design, depois a linguagem de
programação e as ferramentas utilizadas para criação do jogo, entre outros aspectos
relevantes. Na terceira parte é abordada a Metodologia utilizada no trabalho.
Posteriormente na quarta parte é apresentado o processo de desenvolvimento do
jogo, e por fim, na última parte são apresentadas as conclusões deste trabalho.
18
2 REVISÃO BIBLIOGRÁFICA
Neste capitulo serão abordados alguns temas importantes para este trabalho,
começando pela história dos jogos eletrônicos, passando pelo papel que desempenha
o Game design, ferramentas e a linguagem utilizadas para o desenvolvimento,
assuntos como sonoplastia, dados bidimensionais e tridimensionais, inteligência
artificial, física e matemática usadas no jogo, interface do usuário, jogadores entre
outros.
2.1 Histórico do desenvolvimento de jogos eletrônicos
Os jogos, desde muitos anos atrás se encontram presente na vida das pessoas,
proporcionando diversão, lazer e ajudando no desenvolvimento físico e mental.
Segundo Mendes (2006), um jogo é qualquer atividade ou competição que existem
regras a serem cumpridas.
Normalmente os jogos envolvem competitividade, com regras na maioria das vezes
de fácil entendimento, e pode envolver um ou vários jogadores, sejam em equipes ou
individual, onde sempre haverá o (s) vencedor (es).
Os jogos mais populares antigamente eram os de cartas e tabuleiros, “milênios se
passaram e, cada vez mais, jogos diferentes teriam sido inventados para cada cultura
do globo. Nos tempos atuais, prevaleceram os jogos eletrônicos” (MOREIRA, 2011).
Segundo Rogers (2013), os primeiros videogames foram criados nos anos 1950,
porém, poucas pessoas tinham acesso a eles. As primeiras pessoas que os
programaram, eram estudantes de computação que frequentavam excelentes
universidades, e trabalhados de instalações militares no Brooklhaven National
Laboratories.
Posteriormente a incontáveis debates entre historiadores, chegaram-se a
concordância de que o primeiro jogo da história estreou-se no ano de 1958. Foi
desenvolvido pelo físico William Higinbotham, e denominado Tennis Programing,
conhecido também por Tennis for Two, com o objetivo de atrair pessoas para exibição
19
do poderio nuclear dos EUA. Se trata de um simples jogo de tênis, processado em um
computador analógico e exibido em um osciloscópio (AMORIN, 2006).
Em 1961, foi criado o Space War, classificado como o primeiro jogo interativo de
computador, devido ter sido criado de fato para ser jogado. Foi desenvolvido pelos
estudantes do MIT, Stephen Russell, Peter Samson, Dan Edwards, Martin
Graetz, Alan Kotok e Steve Piner e Robert A. Saunders (KENT, 2001, p.18).
No ano de 1972 foi fundada por Nolan Bushnell e Ted Dabney a empresa Atari. O
primeiro jogo desenvolvido pela empresa foi o ‘Pong’, um simples jogo de tênis onde
apresenta duas barras sendo uma do lado direito e uma do lado esquerdo, e uma bola,
o objetivo é alcançar uma pontuação maior que seu adversário, sendo dez pontos a
maior pontuação do jogo. É considerado o primeiro videogame arcade da história que
ao ser comercializado gerou lucros, o que deu origens a um novo setor das indústrias.
No ano de 1980 os videogames arcades começaram a estar presentes em todos os
lugares e os temas e gêneros dos jogos se diversificaram, e aos mesmo tempo os
gabinetes ficaram bem decorados e os controles realistas, e nos anos 1990, muitos
jogos árcades, “começaram a parecer com minibrinquedos de parques temáticos”
(ROGERS, 2013).
Com o sucesso dos árcades e a repercussão e proliferação que os jogos eletrônicos
tiveram, fez com que as empresas inovassem no ramo, levando o mercado de
consoles a desenvolver videogames domésticos, para serem conectados em
televisores.
A empresa Magnavox Odyssey desenvolveu um aparelho monocromático e sem
áudio, que possuía alguns apetrechos para aumentar o entusiasmo e participação do
jogador, porém, no momento da divulgação ouve a falta de um bom marketing,
portanto, as vendas despencaram e pararam de vender o videogame.
Em 1976, a empresa Atari desenvolveu uma versão doméstica do jogo ‘Pong’, ao qual
denominou ‘Home Pong’. Sua concorrente Coleco (Connecticut Leather Company),
criou um console chamado ‘Telstar Arcade’, ao qual era usado para jogar jogos como
20
o ‘Pong’, de corrida e de tiro, e surgiram muitos videogames similares a estes na
época.
Fairchild Channel F, no ano de 1976, lançou um console que se destacava dos
demais, devido ele utilizar um cartucho para armazenamento de memória, chamados
de ‘videocarts’, e apresentar cores em seus jogos.
O ano que marcou a história dos videogames foi o de 1977, pois aconteceu o
lançamento de um videogame que estourou de vender e foi um fenômeno na época,
o Atari VGS 2600.
Com o passar dos anos, os jogos foram melhorando os gráficos, passando de 8 bits,
para 16, 32, 128 e 64bits. E melhorando os consoles e os controles, passando de
joysticks, para controles com mais botões, sem fio, touch screem, e controles com
sensores que leem os movimentos.
Foram criados aparelhos de jogos portáteis, como o Nintendo Game Boy, Sega Game
Gear, Nintendo DS, PSP (Playstation Portable). Os jogos foram se adaptando a
computadores pessoais e celulares. Atualmente utiliza-se a tecnologia de dimensões
de universo e realidade virtual, os gráficos dos jogos são extremamente reais e
complexos, e a inteligência artificial bastante precisa.
2.2 Papel do Designer de Games
A partir do momento em que o mercado comercial de videogame se tornou sério, para
se desenvolver um jogo, se tornou necessário ter uma equipe maior de pessoas, visto
que os primeiros jogos criados, foram feitos por uma única pessoa (ROGERS, 2013).
Desenvolver um jogo se tornou algo mais complexo, portanto, foram divididas várias
funções entre as pessoas das equipes de desenvolvimento, onde cada uma se
responsabilizou por determinada parte da criação do jogo, desde a documentação a
prática. Dentre essas podemos destacar, o produtor, designer, artista, roteirista,
compositor, programador e o testador.
21
O Designer de Games é o profissional responsável por desenvolver e projetar jogos
eletrônicos. Ele cria todos os elementos necessários em um jogo de maneira
minuciosa antes de passar para fase de produção, depois os redigi em um documento
denominado Game Design Document (GDD), este documento será a base de
desenvolvimento para as equipes envolvidas na criação do jogo.
Segundo Rogers (2013), a função principal de um game designer é criar as regras e
ideias que irão fazer parte do jogo e torná-lo divertido e atraente. O Designer pode
atuar como Lead Designer, responsável pela criação do cenário do jogo, Level
Designer, responsável por criar os desafios e as armadilhas que estarão presentes no
decorrer de cada fase, Content Designer, responsável por criar e caracterizar os
personagens, como serão as missões do jogo, os itens e puzzles, System Designer,
responsável por criar as regras e limitações que o jogo apresentará, e Game Writer,
responsável pela história do jogo e o roteiro que ele irá seguir.
Para Bates (2001, p. 154), o designer tem a função de levar entretenimento aos
jogadores no momento em que estão jogando. Ambos autores concordam com a ideia
de que é responsabilidade do designer tornar o jogo divertido para o jogador, lhe
proporcionando momentos de lazer. Já para o autor Rouse (2010), “o designer de
games é a pessoa que projeta o game, que determina a aparência e a mecânica do
jogo”.
Para Schuytema (2008) "o designer 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á o game”, Schuytema, ao citar que o designer
de games é uma planta baixa, ele define que o projeto do jogo é o processo principal,
e o responsável por criar este projeto é o designer, que irá participar direta ou
indiretamente dele para acompanhar todo o seu desenvolvimento.
2.3 Unity 3D
Segundo Ricardo (2013), o Unity 3D é uma ótima escolha para o desenvolvimento de
jogos pela sua riqueza em ferramentas e recursos. Esta ferramenta está no topo da
das mais recomendadas por ser gratuita e possuir uma interface intuitiva facilitando o
22
desenvolvimento dos jogos sem ter a necessidade de programar diretamente para
DirectX ou OpenGL, pois ela faz isso automaticamente.
Essa ferramenta permite a utilização de todo tipo de script1, desde a linguagem
CSharp até Javascript, para adicionar lógica ao jogo. Além de proporcionar vários
objetos prontos gratuitos, o Unity permite a importação de arquivos de vários formatos,
tanto 2D quanto 3D. Os programas aceitos para importação de arquivos são: Blender
(software de animação), Autodesk Maya (Software de animação), Maxon Cinema 4D
(Software de modelagem 3D), Cheetah3D (software para Mac OS X. para animação
3D) e Luxology Modo 3D (Software de modelagem 3D).
A engine proporciona uma interface amigável e objetiva para o desenvolvimento de
diversos gêneros de jogos com muita simplicidade. Seu ambiente de trabalho é
constituído de várias janelas chamadas views sendo cada uma com um objetivo
diferente. A Scene View é utilizada para manipular os ambientes, o jogador, o ângulo
das câmeras, e os demais objetos sendo uma das funcionalidades mais importante
do Unity.
Outra funcionalidade muito utilizada são os Prefabs, que consiste em uma coleção de
objetos que podem ser reutilizados durante o desenvolvimento do jogo. Se existirem
vários desses objetos espalhados pela Scene e os mesmos estiverem ligados a um
Prefab, qualquer modificação feita a um desses objetos afetará os demais. Durante o
processo de desenvolvimento do jogo, é possível visualizar como ele ficará no seu
formato final através da ferramenta Build, ou seja, o game é testado a qualquer
momento em uma janela fora do editor do Unity.
Para Machado (2014), uma grande vantagem da ferramenta é utilizar objetos prontos,
ganhando tempo e criando mais possibilidades aos desenvolvedores.
1 Códigos que determinam a lógica do jogo, atribuindo comportamento aos objetos ao qual estão
relacionados.
23
A loja oficial do Unity 3D proporciona diversos elementos e até projetos prontos, desde
simples ou até modelos prontos onde o desenvolvedor pode desfrutar e absorver mais
conhecimento sobre o Unity.
Outra vantagem da engine é disponibilização de ferramentas de estudo para os
desenvolvedores, com tutoriais e toda a documentação necessária para quem deseja
utilizar as classes do Unity e seus scripts.
Além da versão gratuita do Unity, existe a versão paga que pode ser comprada por
$1500 ou alugada por $75 ao mês. Com Unity o jogo pode ser desenvolvido para
inúmeras plataformas, sendo essa a principal vantagem da engine. Os jogos podem
ser desenvolvidos para IOS, Android, BrackBerry, Windows Phone ou Windows e não
há necessidade de fazer nenhuma programação extra, basta fazer a reconstrução do
jogo com a plataforma desejada. Outro ponto que deixa a ferramenta mais prática e
simples de aprender é uma comunidade sempre ativa e atualizada às novidades.
Bueno (2016) destaca que o Unity para dispositivos móveis foi lançado inicialmente
para dispositivos da Apple em 2008. Atualmente tal ferramenta do Unity suporta
diferentes plataformas e os principais players.
Com o crescimento da plataforma mobile, o mercado de games deu um enorme salto.
Sendo assim, uma grande oportunidade é a criação de jogos 2D por serem mais
práticos e rápidos de desenvolver. O Unity vem com ferramentas próprias para o
desenvolvimento de projetos 2D, possibilitando a visualização 2D.
O Unity 3D é uma ferramenta poderosa para criação de jogos por obter uma infinidade
de recursos facilitando a elaboração dos mesmos. Sendo assim, é possível criar seus
próprios jogos com a ajuda de uma interface amigável, que simplifica diversos pontos
durante o desenvolvimento. Toda a parte de LoopGame, desenho, renderização
gráfica, sistemas de partículas, efeitos de luz e sombra, áudio, entre outros já está
embutida na ferramenta. A área de criação de jogos no Brasil ainda está crescendo e
a escolha desta engine pode simplificar o desenvolvimento, pois ela atinge um número
considerável de dispositivos e usuários, sendo possível projetar em menos tempo e
minimizar os custos por possuir uma versão gratuita.
24
2.3.1 Estrutura do Unity
Segundo Ferreira (2015), “o Unity trabalha com o gerenciamento de GameObjects.
Os GameObjects representam objetos contidos no projeto e se estendem a objetos
sólidos, objetos inanimados e até seres vivos como plantas, animais e seres
humanos.”
2.3.1.1 Interface
A interface do Unity, como apresenta a Figura 1, é de fácil compreensão e interação,
intuitiva e inteiramente personalizável.
Figura 1: Interface do Unity
Fonte: Elaborada pelos autores
Abaixo seguem as funcionalidades de algumas ferramentas existentes no Unity 3D:
Toolbar ou Barra de Ferramentas
A barra de ferramentas do Unity foi projetada com o objetivo de fornecer uma
facilidade na aprendizagem, agilidade e testes de desenvolvimento. Os botões
25
localizados do lado esquerdo da tela são utilizados para manipulações de objetos
(tamanho, rotação e posição), os botões no centro controlam o estado de execução
do jogo e alternam entre o ambiente de criação e jogo. Os botões ao lado direito são
capazes de controlar as camadas de exibição no ambiente, desativando uma camada,
a mesma se torna invisível, e também, modificar a disposição e forma dos painéis da
engine conforme a vontade do usuário.
Hierarchy
O painel Hierarchy é usado para organizar e listar os objetos que foram usados na
cena. Para adicioná-los a este painel, usa-se o menu Create ou arrasta o objeto para
o painel. “Podem existir objetos que são filhos de outros, desta forma, ao arrastar um
objeto em cima de outro, automaticamente o mesmo se tornará filho, assumindo a
movimentações e outras funcionalidades do pai ” (FERREIRA, 2015).
Scene
Constituída por todos os elementos GameObjects até elementos de HUD, possui
manipulação simples, onde é possível clicar e arrastar os objetos para o local desejado
após selecioná-los.
Game
Onde se apresenta o resultado final de cada modificação feita dentro da Scene, a
partir da aba game o desenvolvedor pode ter noção de suas ações em tempo real,
podendo assim fazer alterações pontuais que tragam o resultado esperado para o
jogo, para executar a aba game é preciso clicar no botão play da barra de ferramentas,
e então a aba começará a executar o jogo desde que não existam erros no projeto.
Inspector
Cada GameObject dispõe de propriedades e detalhes de seus parâmetros, existindo
a possibilidade de alterar determinadas informações antes de inserir o item na cena.
26
Essa “manipulação das propriedades pode ser feita por meio da palheta Inspector e
incluir novos componentes no objeto, variáreis de tipos de valores e também de
referência para outros GameObjects ” (FERREIRA, 2015).
Project
Segundo Ferreira (2015), “É um navegador que lista todos os itens e diretórios
incluídos no projeto atual do Unity, possibilitando importar novos itens pelo menu ou
simplesmente arrastando-os para a área de trabalho. ”
2.3.2 Componentes
Components são um “grupo de parâmetros e funcionalidades que definem o que um
game object faz. É possível atribuir funcionalidades como com física de colisão,
emissão de luz, modos de renderização, texturas, efeitos, áudio, entre vários”
(NAGAOKA, 2013).
“Praticamente quase todos os itens do cenário são GameObjects, que podem ter
vários tipos de componentes associados ao mesmo tempo, como, por exemplo, um
script para alterar seus comportamentos em tempo real no jogo “ (FERREIRA, 2015).
2.3.3 Assets
Os assets podem assumir várias funcionalidades, são capazes de assumirem a forma
de elementos ou aspectos dentro de um jogo, sendo referenciados por algum
componente ou outro asset. Podem assumir a forma de elementos externos como
texturas, scripts, animações e modelos 3D, que necessitam ser importados para o
projeto, ou elementos internos como materiais, shaders2 e prefabs (NAGAOKA, 2013).
2 Pequenos scripts que contêm os cálculos matemáticos e algoritmos para o cálculo da cor de cada
pixel representado, com base na entrada de luz e a configuração do material.
27
2.3.4 Prefabs
Prefabs são grupos de assets, utilizados para “instanciar múltiplas cópias destes
elementos com as mesmas características. Todos os elementos criados a partir de
uma prefab herdam as características determinadas na prefab ” (NAGAOKA, 2013).
As prefabs existem devido em alguns momentos ser necessário repetir determinado
objeto várias vezes em um cenário, facilitando o trabalho, caso haja alguma alteração
em algum dos objetos é possível editar para que os outros também sejam alterados
automaticamente, e podem ser arquivados e reutilizados em outros projetos caso
necessário.
2.3.5 Packages
Segundo Nagaoka (2013), packages é um “conjunto de arquivos de um projeto,
agrupados de forma que é possível ser importado e exportado de um project,
dependendo da necessidade. ” Ao exportar algum elemento, o Unity reconhece todos
os arquivos que são dependentes dele e os agrupam, criando um pacote. E ao
importar para o Unity os elementos que podem ser chamados de assets, e se
encontram em um conjunto agrupados e comprimidos, eles passam a fazer parte do
projeto.
2.3.6 Renderização
Renderização é um processo de compilação usado para se obter um produto final de
um processamento digital, é usada para mostrar em uma baixa resolução os
resultados do projeto produzido, sem necessitar de consumir muitos recursos dos
processadores. Ferramentas como Unity 3D e Blender utilizam a renderização.
Segundo Watkins (2014), ”formas tridimensionais em um aplicativo 3D são criadas
quando as coleções de polígonos são agrupadas. [...] O desenho dos polígonos,
texturas e iluminação associados a eles é chamado de renderização. ”
28
O número de polígonos em uma imagem que será renderizado é muito importante,
quanto maior a quantidade, maior será o consumo de processamento e o tempo de
espera, porém melhor será a qualidade da imagem (FERREIRA, 2015).
Na Figura 2, estão exemplos da renderização utilizando poucos polígonos (230) na
imagem da esquerda, e uma quantidade bem maior (3530) de polígonos na imagem
da direita.
Figura 2: Renderização
Fonte: CLUA; BITTENCOURT (2005).
Pode-se notar que apesar da enorme diferença entre as resoluções, o resultado final
das imagens possui muitas semelhanças, a diferença é que a imagem cujo a
resolução é mais alta, dá para ver os detalhes de forma mais nítida.
2.3.7 Iluminação
Os recursos de iluminação do Unity 3D estão melhorando mais, a cada versão que é
desenvolvida. Desenvolvedores que têm a versão PRO, possuem recursos mais
poderosos comparados a versão gratuita.
29
A iluminação é algo essencial em qualquer imagem ou ambiente desenvolvidos, é
necessário editar as configurações da iluminação de acordo com o ambiente que se
deseja criar. “Existem quatro tipos de GameObjects de luz no Unity, estes são Point
Light, SpotLight, Directional Light e Area Lights. Todos podem ser espalhados no
projeto e possuem características distintas de iluminação”, podem projetar desde a
luz de uma lanterna até a claridade solar (FERREIRA, 2015).
2.4 Blender
A ferramenta Blender originou-se no ano de 1995, e começou a ser comercializada
em 1998, além de ter sido disponibilizado uma versão freeware. Como uma aplicação
integrada permite a criação de vários conteúdos 2D e 3D possuindo uma poderosa
interface altamente otimizada.
A ferramenta oferece uma série de recursos que permitem elaborar complexas
modelagens e animações avançadas. Essas características tornam o Blender um dos
aplicativos Open Source 3D mais populares do mundo (MORAIS; MIAMOTO, 2015;
CHRONISTER, 2009).
2.5 Visual Studio
O Visual Studio é um software que possibilita a construção de aplicações para
diversas plataformas, desde desktops, mobiles a aplicações corporativas e web.
Possui uma ampla biblioteca composta por diversas ferramentas de programação,
compiladores populares para Visual Basic, Visual C/C++ e Visual C#, e algumas
facilidades como editor de texto, identificação de erros e ajuda interativa.
Segundo Câmara (2005), o Visual Studio adota as tecnologias mais recentes,
possibilita criar aplicativos de maneira rápida, melhora a tomada de decisões quando
usado em negócios, possui suporte para aplicativos de grandes organizações
propiciando segurança, confiabilidade, fácil gerenciamento e melhoria na
produtividade.
30
Esse software foi de grande importância para este trabalho, toda a parte de
programação do jogo, foi desenvolvida nele.
2.6 Linguagem C#
CSharp é uma linguagem POO (programação orientada a objetos) que foi
desenvolvida e é atualizada até os dias atuais pela Microsoft. Esta faz parte do
framework .Net utilizado pelo Visual Studio para criação de aplicativos Web, mobile,
desktop, dentre outros.
Segundo Filho (2013), o CSharp simplifica as complexidades encontradas no C++
como variáveis nulo, exumadores, delegação, expressão lambda e acessos realizados
diretamente na memória. Ainda é fortemente usada, e possui suporte a DDL’s e
COM+. Se trata de uma linguagem case-sensitive e suas classes são capazes de
implementarem diversas interfaces.
Em CSharp, tipos e métodos não possuem a necessidade de serem declarados em
ordem. Com as novidades deste nos é permitido a criação de conteúdo de maneira
rápida mantendo a expressividade e a organização de uma linguagem C-Style. Com
estes e alguns outros recursos a mais, o CSharp pode apresentar uma grande
produtividade para programadores que a utilizam.
Segundo a Microsoft (2012) aponta que o processo de compilação do CSharp é mais
simples e mais adaptável se comparado ao C++ ou Java, pois não possui a
necessidade de arquivos de cabeçalhos separados e da declaração de métodos e
tipos em uma ordem específica.
2.7 Sonoplastia
Segundo Morais (2013), sonoplastia é todo aparato audível existente no jogo, e pode
ser separado em quatro categorias: vocalização, efeitos sonoros, som ambiente e a
música.
31
De acordo com Flint Dille e John Zuur Platten (2007) a música nos games se
apresenta de duas formas que eles denominam de Source music e Sound track music.
A primeira se refere a uma música que aparece de maneira natural e orgânica no jogo,
como no exemplo citado acima do jogo Outrun, em que a música tem sua origem no
rádio do carro. A segunda por sua vez é definida como a música que vem de fora do
jogo, seria uma música que toca enquanto acontece a ação do jogo definindo o clima.
Dentro desse contexto, ela pode ser sensitiva, sendo acionada por algum evento no
jogo, “normalmente usada para informar o jogador que ele chegou a um importante
momento específico” (DILLE; PLATTEN, 2007 apud MORAIS, 2013).
Nielsen, Smith e Tosca (2008) expõem que os jogos atuais usam o som de uma
maneira muito mais complexa do que apenas refletir a ação que acontece na tela.
Afirmam que os efeitos sonoros do jogo podem ser afetados pelo ambiente; a
representação do espaço propriamente dita, se existem paredes, se o som viaja pela
água, pelo ar e etc.
Pela espacialidade, que seriam intervenções sonoras baseadas em distância, a
exemplo de um tiroteio que acontece perto do personagem, e um segundo que
acontece mais distante, mas se faz possível escutar o som das armas; e pela física,
que são sons gerados em decorrência dos efeitos físicos que o jogo pode demonstrar,
como o som de um impacto com algum objeto, ou som causado pelos passos de um
personagem (NIELSEN; SMITH; TOSCA, 2008 apud MORAIS, 2013).
Shum ainda coloca que paisagem sonora é formada por sons on-screen, em que os
elementos que emitem o som estão visíveis na tela, e sons off-screen, que são os
sons de elementos que não aparecem na tela. Esse mesmo conceito serve para
identificar tanto a paisagem sonora dos games quanto a dos filmes (SHUM, 2009 apud
MORAIS, 2013).
32
2.8 Dados bidimensionais (2D) e tridimensionais (3D)
Dados bidimensionais ou 2D, são animações que usam os eixos horizontal e vertical
para se moverem e não possuem profundidade como no 3D. Já o 3D, possui três eixos
para se mover, o horizontal, o vertical e o eixo de profundidade, esse último eixo como
o próprio nome diz dá a ideia de uma profundidade perceptível na imagem 3D, o que
a torna muito próxima da realidade. Para Christofoli (2011), o 3D digital será um
enorme aliado da transição digital e estará presente nas futuras renovações
tecnológicas.
Segundo Bueno (2016), os jogos em 2D são simples e mais rápidos para se
desenvolver. Para sua confecção são utilizados objetos gráficos texturizados
chamados de sprites, que são em sua essência objetos em 2D que se movimentam
pelo cenário utilizando técnicas que o tornam possível serem convenientemente
animados ou não.
Neste projeto foi utilizado o gráfico 3D para a criação dos personagens do jogo e o 2D
para a criação do cenário.
2.9 Aplicação de jogos em trabalhos de equipe
Para Terra (2014), o impacto dos jogos no trabalho em equipe é uma estratégia muito
bem-sucedida, como o exemplo da Google que estimula a criatividade dos seus
colaboradores através de desafios, aumentando a competitividade entre os
envolvidos.
Segundo Kapp (2012), mais de 70% das 2000 maiores empresas do mundo vem
aplicando estratégias de jogos em seus negócios. Tal estudo diz que no ano de 2016
o mercado da Gamificação (uso de técnicas que utilizam mecânicas de jogos em
tarefas) corresponderá a aproximadamente U$ 2.8 bilhões.
O livro Gamification escrito por Alves (2014), apresenta números interessantes, como:
 92% das crianças até dois anos já são jogadoras; 5,93 bilhões de anos é o
33
tempo que as pessoas gastaram resolvendo problemas do mundo virtual de
World of Warcraft (online desde 2001);
 O Brasil é o 4º lugar entre os maiores consumidores de jogos eletrônicos do
mundo, movimentando aproximadamente R$ 840 milhões em 2011, com
crescimento previsto de 7,1% até 2016.
Sendo assim, os jogos podem ser um atrativo e uma forma de organização
direcionada a um objetivo, então porque não aproveitar os jogos e programar como
parte do trabalho?
Para iniciar a ideia no seu trabalho, primeiramente é preciso ficar atento a alguns
objetivos, pois as pessoas necessitam de motivação, sendo assim o jogo não pode ter
um objetivo impossível de alcançar. É necessário compreender o problema para lidar
com as regras, saber qual problema existente no desenvolvimento atual da empresa
que pode ser alterado, identificar os jogadores levando a ideia do jogo e deixando que
o grupo participe na avaliação e decisão das regras, definir qual a meta do jogo
lembrando que devem ser alcançáveis.
2.10 Inteligência artificial
A expressão inteligência artificial segundo Lustosa (2004), foi utilizada pela primeira
vez em uma reunião de cientistas nos EUA, no ano de 1956. Tais cientistas possuíam
objetivos de estudar as formas que poderiam ser desenvolvidas as máquinas
inteligentes e como elas adaptariam a humanidade.
Muitos autores deram suas definições a esta ciência, tais como:
 “A arte da criação de máquinas que fazem funções que requerem inteligência
quando feito por pessoas” (Kurzweil, 1990 apud NORVIG; RUSSEL, 2004).
 A inteligência artificial abrange diversos subcampos, desde aprendizagem e
percepções, a teoremas matemáticos e análise de doenças. É de suma
importância para qualquer tarefa intelectual e de fato um campo universal
(NORVIG; RUSSEL, 2004).
34
 “Campo de estudo que procura explicar e emular comportamento inteligente
em termos de processos computacionais” (SCHALKOFF, 1990 apud
LUSTOSA, 2004).
 “Um ramo da ciência da computação que se dedica à automação de
comportamento inteligente” (LUGER & STUBBLEFIELD, 1993 apud LUSTOSA,
2004).
O conceito de Inteligência artificial para desenvolvedores de jogos eletrônicos, é
distinto dos conceitos citados anteriormente, o propósito é usufruir dessa ciência para
levar diversão aos usuários.
“Sua importância é quanto aos resultados que o sistema irá gerar, e não como o
sistema chega até os resultados; ou seja, o problema não é como o sistema pensa,
mas sim como ele age” (KISHIMOTO, 2004). Tal afirmação se dá devido os jogos
eletrônicos serem negócios, portanto seus consumidores não estão interessados em
saber qual foi a inteligência artificial usada para seu funcionamento, o que importa é
que o jogo traga desafios, diversões e tomadas de decisões coerentes a sua história.
Assim como no mundo real, nos jogos, é preciso tomar determinadas decisões,
mesmo se o cálculo dessas decisões ótimas for inviável e penalizar tal ineficiência de
maneira severa (RUSSEL, 2004).
2.11 A Física e a matemática usadas no jogo
A matemática é uma ciência exata que é usada diariamente na vida das pessoas,
desde suas formas mais simples ás mais complexas.
Segundo Cândido (2006), a matemática está presente a todo momento nos meios de
comunicação, e se uma pessoa não é capaz de compreendê-la, ela será “incapaz de
participar de maneira integral de uma vida em sociedade”.
35
Essa ciência caminha lado a lado a física. Ambas são de suma importância na
construção de um jogo, estando presente em algumas etapas da construção deste,
como na programação e na modelagem.
“Grande parte da interatividade de um jogo se deve ao funcionamento de algumas leis
da física sobre o mundo virtual criado” (CLUA; BITTENCOURT, 2005). Efeitos no jogo
como colisão, quando o personagem encosta em uma árvore ou algum outro objeto e
não consegue atravessá-lo; efeitos de velocidade, quando um carro acelera
gradativamente como na vida real; gravidade, tamanho dos objetos que estão no
cenário em relação ao personagem, caso não haja esta proporção o jogo ficará
desproporcional, por exemplo, um prédio deve ser bem mais alto que as pessoas que
andam próximo dele; todos esses efeitos são colocados em prática graças a física e
a matemática existentes no jogo.
Cálculos simples da física nos jogos são:
 Colisão: Quando um objeto se esbarra com o outro. O cálculo da colisão pode
ser realizado de várias maneiras, porém “a mais comum é a técnica de
bounding-boxes, que consiste em englobar cada objeto por uma caixa e
calcular a colisão para a caixa e não para a malha completa do objeto” (CLUA;
BITTENCOURT, 2005).
 Forças resultantes: São as forças que atuam ao mesmo tempo em um corpo.
No mundo real existe os corpos se movimentam devido a aplicação de muitas
forças da física sobre eles. No “ambiente virtual será necessário simular a
aplicação de forças de diversas naturezas sobre os objetos, calculando a
resultante a cada instante para verificar como será o seu movimento. ” (CLUA;
BITTENCOURT, 2005).
Existem vários motores de jogos, como Unreal Engine, Unity 3D, Anvil Engine, Cry
Engine, todos usam as leis da física e os cálculos matemáticos para desenvolverem
um jogo. Para criação do jogo deste trabalho foi escolhido o Unity 3D, que possui
motores de física que proporcionam componentes que suportam simulações próximas
a realidade, bastam alguns ajustes a partir dos scripts e os objetos irão comportar de
maneira real.
36
2.12 Interface do usuário
A interface do usuário é tudo que estará disponível na tela para visão do jogador,
através dela será possível a interação com o jogo, levando diversão ao jogador.
Segundo Lima (2013), “diferentemente das interfaces de usuário de software e
páginas da internet, as interfaces de usuário dos jogos devem levar o usuário a um
estado de imersão. ” O jogador deverá ter sua concentração voltada exclusivamente
ao jogo, sem que haja distrações do meio ao seu redor. “Ao mesmo tempo deve
auxiliar o jogador a executar as tarefas dentro do jogo, sem interferir em sua
experiência. ”
No momento em que está se desenvolvendo um jogo deve dar uma atenção as cores
que serão utilizadas, caso essas cores sejam muito fortes a visão do jogador ficará
cansada de olhá-las por muitas horas, portanto ele irá enjoar do jogo facilmente, e não
extrapolar nos efeitos, pois estes também podem ser cansativos a visão.
É necessário saber qual o público em que o jogo será direcionado, caso sejam
crianças, considerar as limitações que elas podem ter, como “realizar esquemas de
controles muitos complexos”, colocar textos não muito extensos, com palavras de fácil
entendimento e se atentar aos palavrões (ROGERS, 2013).
2.13 Heads-Up Display (HUD)
Segundo Araújo (2015), “HUD é um conjunto de elementos gráficos projetados na tela
para transmitir informações ao jogador durante a execução do jogo”, utilizado para dar
um rápido feedback a ele, sem que desvie sua atenção.
É de grande importância dar preferências aos hubs em forma de ícones, para
demonstrar de maneira rápida e de fácil entendimento as informações do jogo,
facilitando a rápida visão do jogador. Textos serão confusos de entender ao serem
olhados de forma rápida, dar uma atenção a fonte e a cor que serão usadas,
posicionar os hubs na tela de maneia que facilitará a rápida visão do jogador,
demostrar apenas informações relevantes para cada situação do jogo.
37
2.14 Jogadores
Jogadores ou Gamers, são as pessoas que jogam videogame e buscam
conhecimentos sobre jogos. Têm paixão por qualquer jogo independente do gráfico
ou da época que foram lançados, trocam qualquer diversão por um jogo e passam
horas de seus dias jogando. Mas ser um jogador não é apenas um hobby ou diversão,
pode ser uma profissão. Existe a profissão de testador de jogos, em que a função
deste profissional é identificar se existem falhas nos jogos, como nas legendas,
dublagens e traduções dos manuais.
Os jogos podem trazer benefícios as pessoas que os praticam, principalmente jogos
de tiros em primeira e terceira pessoa (KING, 2002). Desenvolvem habilidades de
atenção, motora, de percepção e estímulos visuais e auditivos (CHEN, 2015; GREEN,
2003).
Segundo Boot et al. (2008), as pessoas que jogam videogames, possuem uma maior
capacidade de realizar múltiplas tarefas de forma mais flexível, desenvolvendo rápidas
estratégias de controle de ação, rápidas adaptações as mudanças constantes da vida
e capacidade de controle cognitivo.
Segundo Clua (2014), os jogos digitais estão crescendo cada vez mais, conquistando
uma parte considerável no setor de entretenimento, este segmento é de grande
importância para o impulsionar e financiar as novas tecnologias da computação. Tal
crescimento se dá, devido aumento continuo do número de jogadores, independente
do sexo, idade ou perfil financeiro. Atualmente os jogos são classificados como um
tipo de mídia, porém, quando comparado as mídias tradicionais, o envolvimento do
usuário é bastante intenso devido sua interatividade, além de criar realidades
alternativas que estimulam pessoas desde a infância até a vida adulta a praticarem
atividades que poderiam ser cansativas, caso não fossem um tipo de jogo.
Desta forma, foi estabelecido que a implantação dos jogos cujo objetivo está em
colocar o jogador em ambientes educativos, simulações e treinamentos, é uma
significativa ramificação usada para fins associados a saúde, juntamente com
38
dispositivos que captam movimentos, estão sendo usados para técnicas terapêuticas
e físico-motoras, se tornando uma tendência nesta área.
Segundo o NPD (2015), a população brasileira tem o videogame como uma atividade
favorita. O analista da indústria NPD, Callahan (2015), afirma, “o Brasil é claramente
um mercado de jogos emergente, que está repleto de potencial para um crescimento
ainda maior. ”
Segundo a revista pesquisa game brasil (2016), foi realizada uma pesquisa com o
público brasileiro onde foram colhidas informações a respeito de jogos eletrônicos. Os
resultados foram que 74,7% das pessoas entrevistadas jogam videogames, sendo
52,6% desse público, mulheres, a maioria dos jogadores estão na faixa etária entre
16 a 34 anos, a plataforma mais usada são os smartphones (77,2%), seguidos dos
computadores (66,9%) e consoles (45,7%).
O mercado de jogos está em ascensão não apenas no Brasil, existem diversos outros
países do mundo que parte de suas receitas são arrecadadas graças aos jogos. Na
Tabela 1, estão os países que mais arrecadam no mundo com receitas de jogos.
Tabela 1: Países que arrecadam com o mercado de jogos
Fonte: Newzoo (2016)
39
Segundo o Newzoo (2016), o Brasil é o décimo segundo país de uma lista de vinte
países que mais arrecadam com mercado de games no mundo, seu mercado está
com um valor equivalente a US$ 1,3 bilhões, está atrás de países como China, EUA
e Japão e na frente de países como Austrália e México.
2.15 Engenharia de Software
A engenharia de software é uma metodologia de desenvolvimento e manutenção, que
visa a organização, a produtividade e a qualidade dos sistemas.
Segundo Carvalho e Chiossi (2001), a engenharia de software acompanha o sistema
a ser desenvolvido desde sua fase de percepção até o momento em que ele se torna
um produto, utilizando metodologias, ferramentas e métodos durante todo o processo
de desenvolvimento.
Para Maffeo (1992), a engenharia de software é uma área interdiciplinar que procura
abordar de maneira sistemática processos de implantação, manutenção e construção
de um software, assegurando qualidade e o custo, respeitando os prazos previamente
estipulados.
Para o processo de desenvolvimento de um sistema de software é necessário um
conjunto de atividades a serem realizadas. Dessa forma, é de suma importância
encontrar os erros existentes no sistema, procurar desenvolvê-lo da forma mais clara
possível e envolver o usuário diretamente no processo, para que este acompanhe
toda a fase de criação do sistema e obtenha o produto final dentro do esperado.
Dentre as tarefas do engenheiro de software, existe a engenharia de requisitos, onde
devem ser criadas as funcionalidades que devem existir em um sistema e as
restrições, de acordo com a necessidade do usuário. Os requisitos são considerados
decisórios para o fracasso ou sucesso de um sistema de software.
Segundo Falbo (2012), “requisitos são a base para estimativas, modelagem, projeto,
implementação, testes e até mesmo para a manutenção. Portanto, estão presentes
ao longo de todo o ciclo de vida de um software. ”
40
Posteriormente realizado o levantamento de requisitos, é criado um documento,
denominado documento de requisitos, ao qual define as funcionalidades e os atributos
de qualidade que irão existir no sistema de software. Este documento deve conter
todos os requisitos funcionais e não-funcionais do sistema, e deve ser elaborado de
forma completa e com a melhor compreensão e legibilidade dos requisitos possível,
evitando erros de interpretação e divergências entre a documentação e a
implementação do software (TURINE; MASIERO, 1996).
2.16 Casos de uso
Segundo Stadzisz (2002), “os casos de uso de um projeto de software são descritos
na linguagem UML através de Diagramas de Casos de Uso. Estes diagramas utilizam
como primitivas Atores, Casos de Uso e Relacionamentos. ”
O diagrama de caso de uso é criado para expressar as funcionalidades que existirão
em um sistema, através de um conjunto de atores e casos de usos ao serem
relacionados, sendo uma ótima ferramenta para realizar o levantamento dos requisitos
funcionais do sistema.
Atores
Os atores “são representações de entidades externas, mas que interagem com o
sistema durante sua execução. Basicamente, a interação de atores com o sistema se
dá através de comunicações (troca de mensagens) ” (Stadzisz, 2002). Essas
entidades externas podem ser; pessoas, dispositivos, hardwares e software.
Caso de Uso
O Caso de Uso representa uma aplicação ou uso completo de um software, são as
funcionalidades ou tarefas realizadas pelo ator.
41
“A especificação das funcionalidades de um sistema na forma de casos de uso permite
uma visão mais abrangente das aplicações do sistema favorizando um levantamento
mais completo e preciso de suas atribuições” (Stadzisz, 2002).
Relacionamentos entre Atores e Casos de Uso
É o que interliga um ator a um caso de uso. Segundo Stadzisz (2002), “Os
relacionamentos em um diagrama de casos de uso podem envolver dois atores, dois
casos de uso ou um ator e um caso de uso.
42
3 METODOLOGIA
O processo de desenvolvimento do jogo foi dividido em três etapas para agilizar sua
produção, são elas:
 Game Design;
 Arte;
 Programação.
Na etapa de Game Design, serão estabelecidos os detalhes do jogo através de
brainstormings, onde os membros do projeto irão opinar sobre os aspectos gráficos e
a programação do jogo para dar início ao desenvolvimento do Game Design
Document.
Foi estabelecido que o jogo será no estilo shot’ em Up 2D, segundo Rogers (2013),
se trata de um modelo de jogo onde é apresentada uma tela em que o personagem
que costuma ser um carro, avião, entre outros veículos que “sobem a tela”, vão em
direção contraria aos obstáculos que se deslocam na direção do veículo.
Definido o estilo de jogo, serão estabelecidas as características que definem o seu
público alvo, por se tratar de um estilo de jogo antigo e que não é muito aplicado
atualmente, o principal foco do jogo serão os jogadores entre 18 e 25 anos que
vivenciaram o estilo de game play na infância. Além disso, nesta etapa é decidido
todo o enredo, o cenário, os personagens, o gameplay dentre outras características e
ações que existirão dentro do jogo.
Na etapa de Arte, serão tratadas todas as informações referentes à parte gráfica,
criando os elementos que serão utilizados no jogo, como o personagem que no jogo
será um avião, os inimigos, o cenário que será futurista e todos as outras
características visuais e auditivas que estarão presentes no jogo.
Na etapa de programação, será desenvolvida a mecânica presente no jogo utilizando
a linguagem de programação orientada a objetos CSharp, seguindo as definições
43
estabelecidas no Game Design Document e implementando desde a movimentação
do personagem, até as regras físicas necessárias.
A documentação irá acompanhar todas as outras etapas, tendo início na produção do
Game Design Document, documento base para o desenvolvimento, e evoluindo de
acordo com o progresso do restante do projeto, relatando os resultados da aplicação
de cada etapa. O resultado final será uma versão demonstrativa da fase de um jogo,
em que o tempo dela será determinado através da pontuação de mil pontos. Esta
pontuação deverá ser alcançada no decorrer da fase. O personagem principal irá atirar
nos inimigos destruindo-os e conquistando um ponto a cada inimigo destruído, estes
pontos serão acumulados na pontuação do jogador até alcançar um total de mil
pontos, chegando ao final da fase.
44
4 DESENVOLVIMENTO
Neste capitulo será descrito o desenvolvimento do jogo: todo processo de elaboração,
pré-produção, produção e pós-produção, definição do gênero, criação da história,
Game Design Document, Level Design, arte, animação e programação.
4.1 Processo de Elaboração de um Jogo
Ao se elaborar um jogo, podemos fazer uma analogia de todo o processo com o
desenvolvimento de um software, pois em ambos temos a presença de uma instância
de métodos e técnicas a serem realizadas (PFLEEGER, 2004).
Para realizar o processo de desenvolvimento de um jogo serão realizadas as etapas
a seguir:
1. Game Design Document;
2. Arte/Animação;
3. Programação.
O processo de elaboração de um jogo é multidisciplinar, ou seja, abrange
conhecimentos de profissionais das mais diversas áreas e exige uma equipe de
funcionários capacitados em sua área de atuação.
Entre as áreas de atuações subdivididas no processo de elaboração, é importante
destacar; que a equipe de Game Designers é responsável pela elaboração do jogo, a
equipe de arte é responsável pela apresentação visual (layout) e a equipe de
programação é responsável por desenvolver e implementar toda a parte lógica do
jogo. (FIGUEIREDO, R.; FIGUEIREDO, C., 2011).
45
4.2 Pré-produção
A etapa de pré-produção teve início a partir das ideias de se desenvolver um jogo,
inicialmente foram pensados os aspectos que iriam existir no jogo, o público alvo ao
qual será dirigido, o gênero e o tema. Posteriormente, foi feito o planejamento do
desenvolvimento de forma escrita visando obter um guia na etapa de produção do
jogo, para isso foi desenvolvido o Game Design Document, que por se tratar de um
documento de uma versão demonstrativa não possui grande complexidade e
extensão.
Segundo Novak (2010), criar ideias para um novo jogo é difícil, mas o maior desafio é
escolher quais ideias conjuntamente conciliarão em um jogo de sucesso. A pré-
produção do jogo deve ser estabelecida com precisão, pois caso ela não seja bem-
feita, será necessário muito trabalho para fazer com que o jogo seja divertido e de
sucesso.
Antes de começar a produção do jogo foram tomadas algumas decisões iniciais
necessárias no Game Design Document, o jogo tem como plataforma os
computadores, o público-alvo são jogadores entre 18 e 25 anos, o gênero escolhido
foi o Shot’em up com o tema voltado para a guerra entre civilizações de planetas
diferentes e o cenário é o planeta Terra destruído, onde o jogo se passa no ar,
mostrando uma guerra entre aeronaves. Em seguida foi decidido também, a história
do jogo, os personagens, os objetivos, os ataques, condições de derrota e vitorias
dentre outros aspectos que foram redigidos no Game Design Document.
4.2.1 Definição do gênero
Esse estilo de jogo geralmente não possui muita história, seu foco é derrotar o inimigo
e não ser derrotado, costumam usar bastante velocidade ao realizar os movimentos e
proporcionar adrenalina. Segundo Rogers (2013), jogos de ação exigem coordenação
nas mãos e nos olhos para serem jogados. Esse gênero se divide em vários
subgêneros:
 Jogos de ação arcade se baseiam no estilo dos primeiros jogos arcades, em
46
que o foco era a pontuação, um tempo curto de jogo e um game play de
reflexos.
 Jogos de plataforma são jogos em que o personagem geralmente salta em
plataformas desafiadoras derrotando inimigos, desviando dos obstáculos e
recolhendo itens.
 Jogos de ação furtiva são jogos em que o jogador não deve lutar diretamente
com os inimigos evitando enfrenta-los diretamente.
 Jogos de luta são jogos em que os oponentes se enfrentam com o objetivo de
atacar um ao outro usando golpes. Os personagens podem ser controlados por
pessoas ou pela IA usado no próprio jogo.
 Jogos Beat’ em up são jogos em que o jogador luta contra muitos inimigos que
vão aumentando a quantidade à medida que a dificuldade do jogo aumenta.
Gênero RPG
Jogos de RPG ou interpretação de papeis se baseiam no jogo Dungeons & Dragons,
que era jogado usando lápis e papel. Esse gênero de jogo possui heróis, monstros,
um mundo de fantasias, os personagens são bastante interativos e podem realizar
variadas ações dentro do jogo.
Gênero Estratégia
Os jogos desse gênero exigem planejamento, concentração e pensamento. Eles se
originaram dos clássicos jogos de tabuleiro, como o de xadrez, onde o jogador deve
atingir suas metas ao fazer a administração de um conjunto limitado de recursos
(NOVAK, 2010).
Gênero Simulação
Jogos de simulação expressam no jogo coisas similares ao mundo real, representam
veículos, construções, sistemas, vidas artificiais entre outros. Esse gênero se divide
em vários subgêneros:
47
 Simulação de vida, jogo voltado para “construção e desenvolvimento de
relacionamentos com formas de vida artificiais. The Sims e Princess Maker são
simuladores de vida” (ROGERS, 2013).
 Simulação de veículos, nesses jogos são simulados veículos de pilotagem,
desde veículos pequenos (moto) a veículos maiores (espaçonave). A ideia é
fazer com que a direção do veículo seja o mais próximo possível da experiência
no mundo real.
 Simulação esportiva, faz com que o jogador sinta como se fosse o integrante
de time de futebol mundialmente por exemplo, ele traz a experiência e a
sensação de representar atletas profissionais que possuem características dos
atletas da vida real, onde participam de campeonatos concorrendo a medalhas,
troféus e título de melhor jogador do mundo.
Gênero Shoter
Segundo Rogers (2013), nesse gênero “o jogador foca primeiramente em atirar
projeteis em inimigos. Mesmo sendo rápidos e orientados ao reflexo, como os jogos
de ação, esse gênero evoluiu ao incluir vários subgêneros que se distinguem pela
divisão da câmera”, são eles:
 First person shooter, se trata de um jogo onde a visão da câmera é limitante.
 Shot’ em ups, neste estilo de jogo, o jogador atira em muitos inimigos enquanto
evita perigos. Normalmente o avatar usado nele é um veículo e a câmera pode
se localizar em diferentes ângulos no jogo.
 Third person shoter, nesse subgênero a câmera é posicionada por trás do
jogador proporcionando uma visão parcial ou total do que está acontecendo ao
seu redor, mas a ênfase do gameplay é dada aos tiros.
4.2.2 Criando a história
Para criação de um jogo, é necessário haver uma sequência na ordem dos
acontecimentos dos eventos, ou seja, uma narrativa. A história normalmente é usada
em meios de entretenimentos tradicionais e em muitos jogos, embora não seja
48
essencial para proporcionar um jogo envolvente, satisfatório e popular. O objetivo de
um jogo é proporcionar diversão aos jogadores e independente de qual é a sua história
ele deve seguir a ordem cronológica de ter um início, um meio e um final (NOVAK,
2010, ROGERS, 2013).
Rogers (2013), criou o “triangulo da esquisitice” em que as escolhas são:
personagens, mundo e atividades, e diz que para a criação da história do jogo só
deve-se escolher um vértice de esquisitice para usar nela e deve ser tomado bastante
cuidado quanto a isso, pois podem ser inseridos coisas em excesso na história do
jogo tornando-a cansativa.
Para elaborar a história do jogo foram realizados brainstormings entre os membros do
trabalho, onde foi decidido primeiramente que o jogo se passaria em um momento
futurístico, pois tal período permite a utilização de inúmeras características
inexistentes e desfaz uma série de limitações causadas por características de
ambientes do passado, além disso, o jogo trataria de uma guerra entre naves. Por fim,
foi decidido que haveria uma civilização de outro planeta que ao entrar em contato
com a população da Terra, iria explorar seus recursos e após algum tempo de
tranquilidade daria início a uma grande guerra.
Os extraterrestres seriam do planeta Júpiter, inicialmente eles trocavam tecnologias e
recursos com a Terra, porém após o planeta deles ser devastado por uma chuva de
meteoros, sem eles terem onde ficar, invadiram a Terra para poder habitá-la, dando
início a uma enorme guerra. Após um certo tempo de guerra, o planeta Terra já
destruído e sem muitos recursos, para se defender, confia a vitória sobre os
jupterianos nas mãos de uma única pessoa, o melhor piloto de aeronaves que existia
entre eles. Desenvolvem uma aeronave com as melhores tecnologias e armamentos
que haviam restado na Terra, e mandam o piloto para o combate, neste cenário que
se passará o jogo.
49
4.2.3 Game Design Document
O Game Design Document (GDD), é um documento redigido pelo Game Designer
para os membros da equipe de desenvolvimento do jogo entenderem sua história e
mecânica.
Segundo Rogers (2013), criar um jogo é como fazer chili3, é preciso uma receita, que
seria a documentação, ingredientes certos, que seriam as pessoas e as ferramentas
necessárias para criação do jogo e tempo de preparo, este tempo no jogo seria
usado para além de sua criação, correções de bugs, arte, design e correções no
código.
O Game Design Document é de extrema importância para o desenvolvimento de
um jogo, todos os membros da equipe de desenvolvimento se referenciarão nele
durante a etapa de produção.
Segue no Anexo A o GDD do jogo ao qual foi desenvolvido, para um estudo mais
aprofundado.
4.3 Produção
A etapa de produção foi dividida em duas partes, na primeira parte foram criadas as
partes artísticas do jogo, ou seja, toda a parte visual e auditiva, desde o cenário,
personagens, munições, desenho de capa do jogo até os efeitos sonoros. Na segunda
parte foi realizada a programação do jogo, envolvendo toda a mecânica utilizada,
inteligência artificial e regras de física, fazendo com que o jogo fique completamente
funcional.
³ Chili é um prato tradicional da culinária mexicana e texana feito com feijão, carne moída, tomate e
pimenta.
50
4.3.1 Arte/Animação
Na parte de arte e animação, os artistas e animadores trabalham em conjunto para
alcançarem os objetivos finais, todos os personagens com seus devidos movimentos.
Primeiramente, são desenhados os rascunhos dos personagens e do cenário,
conforme o que foi escrito no roteiro produzido pelo game design. Após feitos os
rascunhos, os artistas fazem uma pesquisa em diversas fontes para alcançarem o
melhor resultado para as cores, estilos, texturas e elementos que serão utilizados para
criação das imagens que existirão no jogo.
“Uma vez realizado esse trabalho, o resultado do mesmo é submetido aos
animadores, os quais digitalizam em 2D ou 3D as imagens produzidas pelos artistas”
(ALMEIDA; MEDEIROS, 2007), usufruindo dos recursos dos softwares adequados
para esta função. As imagens ganham movimentos e animações, seguindo uma
sequência de frames 4que são arquivados e testados pela equipe de programadores.
Inicialmente, antes de iniciar a modelagem, foi produzido um esboço das naves, tendo
sido desenhados à mão, em seguida foram modeladas as aeronaves e os mísseis
utilizando a ferramenta Blender, sendo esta escolhida pelos membros da equipe por
haver uma familiaridade e pelo fato de possuir mais fontes de pesquisa, além de ser
um software open source.
As funções mais utilizadas durante o processo de criação no Blender foram: “extrude”,
“scale” e “subdivision surface”, que seguem simultaneamente como na numeração da
Figura 3.
4 Quadro ou imagens sequenciais de um produto audiovisual.
51
Figura 3: Funções utilizadas no Blender
Fonte: Elaborada pelos autores
A ferramenta extrude é de extrema importância, pois ela permite criar paralelepípedos
de retângulos e cilindros de círculos. É uma ferramenta simples, direta e fácil de usar,
mas muito poderosa, já a ferramenta Scale serve para dimensionar o objeto ou a
seleção desejada.
Subdivision surface, serve para subdividir a superfície dos objetos tornando-os mais
suavizados. Juntamente com as ferramentas extrude e scale, servem como base para
qualquer modelagem.
Após a modelagem ser concluída como mostra a Figura 4, foi preciso pintar a textura
dos objetos. Para isso, foi necessário selecionar a área ou o objeto para modificar as
cores de acordo com o resultado desejado.
52
Figura 4: Modelagem
Fonte: Elaborada pelos autores
Para o desenvolvimento do cenário, foram utilizadas imagens do Google Earth do
mapa da cidade de Ipatinga, estado Minas Gerais, com algumas alterações, que
seriam desenhos de nuvens nas imagens, como retratado na Figura 5. Assim o tempo
que seria usado para a produção de um cenário desde o zero, foi melhor aproveitado
em outras etapas do desenvolvimento.
53
Figura 5: Cenário
Fonte: Elaborada pelos autores
Antes de aparecer a tela inicial do jogo, é apresentada uma animação padrão do Unity
como tela de carregamento, como mostra a Figura 6.
Figura 6: Tela de carregamento
Fonte: Elaborada pelos autores
54
Para tela inicial do jogo, como apresenta a Figura 7, foi utilizada uma imagem da Terra
como plano de fundo, foi inserido na parte superior da imagem o título do jogo e o
desenho de duas naves, que seriam respectivamente a nave principal (jogador) e a
nave inimiga e abaixo forneceu-se uma opção de iniciar o jogo apertando a tecla
Espaço. Após selecionar a tecla “Espaço” o jogo é iniciado e não é possível pausá-lo,
é necessário perder ou ganhar para sair, ou pressionar as teclas ALT + F4.
Figura 7: Menu do jogo
Fonte: Elaborada pelos autores
55
Na tela de combate, apresentada na Figura 8, é realizado o confronto entre a aeronave
do jogador principal (nave Mãe) e as aeronaves inimigas (Jupterianas). Na parte
inferior é apresentada a aeronave do jogador atirando um míssil na nave inimiga, que
está localizada na parte superior da imagem.
Figura 8: Tela de combate
Fonte: Elaborada pelos autores
A HUD do jogo, apresentada na Figura 9, é representada pelas vidas do personagem
principal, que se inicia com cinco vidas, e os pontos do jogador, que são obtidos ao
derrotar as aeronaves inimigas.
56
Figura 9: HUD
Fonte: Elaborada pelos autores
Na Figura 10, está representada a aeronave inimiga, como foi sendo aperfeiçoada no
decorrer da modelagem até o resultado final.
Figura 10: Aeronave Inimiga
Fonte: Elaborada pelos autores
57
Figura 11: Turbina Inimigo
Na Figura 11, representa a modelagem da turbina traseira da aeronave inimiga, na
qual foi inserida apenas uma.
Na Figura 12, está representada a aeronave principal, como foi sendo aperfeiçoada
no decorrer da modelagem até o resultado final.
Figura 12: Aeronave principal
Fonte: Elaborada pelos autores
58
Figura 13: Aeronave principal - traseira
Fonte: Elaborada pelos autores
Na Figura 13, está representada a parte traseira da aeronave principal, e nas Figuras
14 e 15, estão representadas a modelagem do míssil que será usado no jogo como
uma forma de defesa da aeronave principal.
Figura 14: Míssil Modelagem
Fonte: Elaborada pelos autores
59
Figura 15: Míssil
Fonte: Elaborada pelos autores
Figura 16: Míssil encaixado na aeronave
Fonte: Elaborada pelos autores
Na Figura 16, após feita a modelagem dos misseis, eles foram encaixados na
aeronave principal debaixo de suas duas asas, sendo três misseis idênticos de cada
lado. Foram usados também nas aeronaves inimigas debaixo de suas asas, dois
misseis de cada lado, porém um maior que o outro, como representa a Figura 17.
60
Para a modelagem da aeronave inimiga, foi criado um outro modelo de míssil, que foi
inserido em cima de cada uma de suas asas, dois de cada lado, sendo um maior que
o outro, como mostra a Figura 17 e na Figura 18 é apresentado o míssil quando estava
sendo confeccionado.
Figura 17: Míssil Inimigo
Fonte: Elaborada pelos autores
Figura 18: Míssil Inimigo 2
Fonte: Elaborada pelos autores
Quando o jogador perder o jogo será apresentada uma tela como na Figura 19.
61
Figura 19: Game Over
Fonte: Elaborada pelos autores
Quando o jogador vencer o jogo será apresentada uma tela como na Figura 20.
Figura 20: Vitória
Fonte: Elaborada pelos autores
62
4.3.2 Programação
A equipe de programadores é responsável por construir toda mecânica do jogo,
juntamente “com a programação da interface do usuário, a codificação dos arquivos
de áudio, a programação das missões e da rede cliente/servidor, assim como o
desenvolvimento da Inteligência Artificial e dos scripts de linguagem” (ALMEIDA;
MEDEIROS, 2007).
A programação é responsável por consolidar um projeto em um produto, usando os
códigos juntamente com a arte, a música e a jogabilidade, e transformando em um
jogo, onde são criados os movimentos dos personagens, as falas, ações, músicas,
vibrações, ruídos dentre outros aspectos que compõem um jogo.
Para a etapa de programação inicialmente foi preciso fazer a escolha da linguagem
de programação que seria usada no desenvolvimento do jogo, após algumas
pesquisas ficou decidido o uso da linguagem CSharp pelo fato de a linguagem possuir
maior quantidade de informações e conteúdo para estudo. Após estabelecer a
linguagem de programação utilizada, deu início à etapa de programação, a partir do
script responsável pela mecânica do jogador.
4.3.2.1 Jogador
No script “Jogador” foi implementado primeiramente a variável “velocidade” recebendo
um valor que posteriormente seria calculado dentro de determinado eixo (x, y)
formando assim a movimentação do personagem, em seguida foram implementadas
as variáveis “vida” e “pontos” responsáveis por receber o valor inicial dos elementos
de HUD do jogo.
O GameObject “tiro” foi implementado para que fosse possível atribuir o míssil
modelado ao jogador para que posteriormente ao apertar determinada tecla o
personagem disparasse um projetil em direção ao inimigo. Foram então programados
os limites de tela para que o personagem só se movimentasse dentro do espaço
permitido, evitando que o mesmo saísse do campo de visão do jogador.
63
A função “OnTriggerEnter2D” foi utilizada para garantir que ao entrar em contato com
o objeto sinalizado como um inimigo fosse retirado um ponto do total de vidas do
jogador e ao entrar em contato cinco vezes com um inimigo o jogador fosse
direcionado para uma tela de fim de jogo, onde poderia reiniciar a partida ou encerrá-
la. Por fim foram atribuídos ao jogador pela função “OnGUI” os elementos de HUD
posicionando-os na tela.
4.3.2.2 Tiro
No script “tiro_nave” primeiro foi implementado a variável “velocidade_tiro” que recebe
o valor responsável por movimentar o tiro no cenário, em seguida o Rigidbody2D “rb”
recebe o valor instanciado em “velocidade_tiro” e faz com que o tiro se movimente
somente no eixo “Y”.
A função “OnBecameInvisible” faz com que o projetil ao sair do campo de visão do
jogador sem entrar em contato com nenhum outro elemento, se auto destrua. Por fim
a função “OnTriggerEnter2D” faz com que o projetil se destrua ao entrar em contato
com um inimigo.
4.3.2.3 Inimigo
No script “inimigo” a variável “velocidade” recebe o valor que será calculado pelo
Rigidbody2D “rb” para assim fazer com que o inimigo se desloque no eixo “Y”. Foi
chamada a classe Jogador para que fosse possível utilizar elementos presentes no
script “Jogador”.
O método “if” faz com que caso o inimigo tenha saído do campo de visão do jogador
sem entrar em contato com nenhum outro elemento ele se auto destrua. Já a função
“OnTriggerEnter2D” destrói o inimigo caso ele entre em contato com o jogador, e
destrói o inimigo caso ele entre em contato com um projetil, somando um ponto à
variável “pontos” que foi importada da classe “Jogador”. Por fim caso a variável
“pontos” tenha somado mil pontos o jogador é direcionado para a tela de vitória.
64
4.3.2.4 Clonador
No script “clonador” o GameObject “inimigo” permite que o inimigo seja atribuído ao
clonador, para que este posteriormente crie copias do inimigo em posições diferentes
dentro do eixo “X”, enquanto a variável “spawTime” define o tempo de intervalo entre
a criação de uma cópia e outra. O método “InvokeRepeating” dá início à clonagem,
em seguida a função “addEnemy” seleciona um ponto aleatório dentro do clonador e
cria um clone do inimigo.
4.3.2.5 Menu principal, Tela de vitória e Tela de derrota
No script “menu” o método “if” foi implementado para que quando a tecla espaço fosse
pressionada o usuário fosse direcionado para a cena “level1”, dando início à partida.
No script “win_script” foi chamada a classe “Jogador” para que fosse possível importar
suas funções, O método “if” direciona o usuário para a cena “menu” após pressionar
a tecla espaço, em seguida a variável “pontos” importada da classe “Jogador” foi
igualada a zero.
O script “restart_button” chama a classe “Jogador” para que fossem importadas suas
funções, ao apertar a tecla espaço o usuário é direcionado para a cena “level1”, em
seguida a variável importada “pontos” é igualada a zero.
4.3.3 Level Design
O Level Design é responsável pela construção dos mundos que irão compor o jogo,
realizando a integração de todos elementos que serão apresentados, como, cenários,
personagens, objetos, power ups, narrativas etc.
Segundo Rouse (2010), para ser um Level Design é necessário realizar alguns
princípios para que o jogador se mantenha imerso no jogo, primeiramente, os níveis
devem ser possíveis de serem concluídos, parece algo óbvio, porém iniciantes muitas
vezes criam jogos com erros que deixam o jogador preso no nível. São necessários
marcos para que o jogador saiba suas conquistas e caminhos, para que ele não se
65
perca na fase. Equilíbrio de dificuldades, esse equilíbrio deve existir em todos os níveis
para equilibrar as dificuldades das fases, e ir aumentando gradativamente a cada
nível. Ter clareza ao criar as áreas de navegação no jogo e mapas. Deixar o jogador
interagir com o jogo dando a ele opção de escolhas, ele sentirá que faz parte da
história e que suas ações geram consequências.
Durante o processo de desenvolvimento do level design, primeiramente foram
importados todos os elementos que seriam utilizados, para dentro do motor gráfico
Unity 3D, após isso a criação do level design foi dividida em cenas que juntas
posteriormente formariam o jogo.
4.3.3.1 Cena Menu
Primeiramente foi implementado o texto presente na tela, a seguir a imagem de capa
foi inserida na cena e posicionada juntamente com o texto para conseguir um melhor
aproveitamento e visibilidade, por fim foi implementado o áudio correspondente à
cena.
4.3.3.2 Cena Level 1
Nessa cena primeiramente foi posicionado o cenário para que todos os outros
elementos fossem posicionados em cima do mesmo, logo após foi posicionado o
player, o clonador foi colocado na cena em seguida, tendo recebido o objeto do inimigo
para que o mesmo fosse clonado durante a execução do jogo diminuindo o consumo
excessivo de processamento. O objeto do míssil foi atribuído ao player, para que o
ponto de início sempre partisse do ponto em que o personagem se encontrava no
momento do disparo.
4.3.3.3 Cena Win e Game Over
As cenas de vitória e derrota seguiram o mesmo padrão de informações, foi atribuído
um fundo na cor preta, os textos informando ao usuário os processos a se seguir foram
alinhados dentro da cena, para concluir, foi utilizado uma cópia do objeto “Player” na
cena de game over para representar a nave do personagem derrotada.
66
4.3.4 Diagrama de caso de uso
A Figura 21 demonstra as atividades de um ator, no caso o personagem principal,
dentro do ambiente do jogo, detalha suas funcionalidades e o que o jogador poderá
fazer dentro do jogo.
Figura 21: Diagrama de caso de uso
Fonte: Elaborada pelos autores
Os movimentos que o personagem pode realizar, são para as laterais, direita e
esquerda, para cima e para baixo, ele também pode se esquivar das aeronaves
inimigas e atacá-las, utilizando misseis.
4.4 Pós-Produção
Nesta etapa foram realizados os testes do jogo, para serem feitas as devidas
correções de bugs, quando encontrado algum problema na execução ou estética do
jogo este era corrigido, visando aprimorar a experiência do jogador com o gameplay.
67
Foi encontrado um bug em que ao disparar uma série de misseis toda a cena recebia
um tom amarelado, destoando de todo o conteúdo do jogo, neste caso foi necessário
remover o componente que fazia essa iluminação após o disparo de um míssil.
68
5 CONSIDERAÇÕES FINAIS
Desenvolver jogos exige de seus idealizadores pensamento amplo para alcançar
resultados satisfatórios, se faz necessário sair de padrões e gostos pessoais partindo
para o ponto de vista do público alvo, visando o que os jogadores esperam atualmente,
mantendo sempre o limite entre aquilo que deve ser atendido nas expectativas do
jogador e o que deve ser descartado.
O Game Design Document permite à equipe de desenvolvimento maior confiabilidade
no processo de criação do jogo, se provando extremamente necessário para alcançar
o resultado final imaginado pelo designer. Por isso é preciso extrema clareza durante
a elaboração do GDD, tornando o entendimento as ideias a serem aplicadas de rápido
e fácil entendimento.
Durante as etapas de arte e programação é de suma importância a comunicação e
interação de toda a equipe, visando em ambas etapas que os pensamentos do
desgner seja passado de maneira clara a equipe e todos os membros tenham a
mesma ideia para que o trabalho desenvolvido finalize como esperado.
A implementação de uma versão completa de um jogo permite inúmeras
possibilidades para trabalhos futuros, onde poderão ser implementadas funções não
abordadas ou aprofundadas neste projeto como otimização da interface, outros
elementos de HUD, power-ups, outras fases, efeitos sonoros mais complexos, mais
opções no menu, como troca de personagens, ajuda, entre uma infinidade de
funcionalidades encontradas nas versões completas dos jogos.
69
70
REFERÊNCIAS
ALMEIDA, Janiel Henrique Pinheiro de; MEDEIROS, Wander Klaysson Aparecido.
Mobile games: etapas de desenvolvimento e especificidades. 2007.
ALVES, Flora. Gamification: Como criar experiências de aprendizagem
engajadoras. Um guia completo: do conceito à pratica. DVS Editora, 2014.
AMORIN, A. A origem dos jogos eletrônicos. USP, 2006.
ARAÚJO, Rafael Pereira de. Imersão e Heads-Up Displays (HUDs) em
videogames. 2015.
BATES, Bob; LAMOTHE, Andre. The game design: The art and business of
creating games. Premier Press, 2001.
BOOT, Walter R. et al. The effects of video game playing on attention, memory,
and executive control. Acta psychologica, v. 129, n. 3, p. 387-398, 2008.
BRASIL, GAME. Pesquisa Game Brasil 2016. 2015.
BUENO, Henrique. Jogos em Unity: Desenvolvendo um jogo 2D multiplataforma.
Disponível em <http://www.devmedia.com.br/jogos-em-unity-desenvolvendo-um-
jogo-2d-multiplataforma/31522>. Acesso em: 28 de out. 2016.
CÂMARA, Fábio. Dominando o Visual Studio .NET com C#. Florianópolis:
VisualBooks, 2005.
CÂNDIDO, Suzana Laino. A Matemática: uma construção da humanidade. In:
MURRIE. 2. ed.Brasília, 2016. cap.9, p.11-38.
CHANDLER, Heather M. Manual de produção de jogos digitais. Bookman Editora,
2009.
CARVALHO, Ariadne MB. Rizzoni; CHIOSSI, Thelma C. dos Santos. Introdução à
Engenharia de Software. Campinas: Editora da Unicamp, 2001.
CHEN, Rongrong; CHEN, Jing; LI, Li. Action Videogame Play Improves Visual
Motor Control. Journal of vision, v. 15, n. 12, p. 42-42, 2015.
CHRONISTER, James. Blender basic 3rd edition. 2009.
71
CHRISTOFOLI, Eduardo Pires. O Renascimento do 3D. Contemporânea, v. 9, n. 1,
2011.
CLUA, Esteban Walter Gonzalez; BITTENCOURT, João Ricardo. Desenvolvimento
de jogos 3D: concepção, design e programação. In: XXIV Jornadas de Atualização
em Informática (JAI) Part of XXIV Congresso da Sociedade Brasileira de Computação.
2005. p. 22-29.
CLUA, Esteban Walter Gonzalez. Jogos sérios aplicados a saúde. Journal of Health
Informatics, v. 6, 2014.
DE OLIVEIRA, Thiago HB et al. Introdução a Modelagem 3D com Blender
3D. Revista da Escola Regional de Informática, v. 2, n. 2, p. 202-209, 2013.
DOMINGUES, Delmar Galisi. Protótipos para a criação de jogos digitais:
aplicações no ensino de design de games. 2011. Tese de Doutorado. Tese
(Doutorado) -Pontifícia Universidade Católica do Rio de Janeiro, Departamento de
Artes e Design.
FALBO, Ricardo de Almeida. Engenharia de Requisitos. Universidade Federal do
Espírito Santo, p. 5, 2012.
FERREIRA, Luiz Henrique. Desenvolvimento de jogos eletrônicos utilizando a
tecnologia unity, 2015, p.70. (Bacharelado de Sistema de Informação) - Centro
universitário de Araraquara – Uniara departamento de ciências da administração e
tecnologia, Araraquara.
FIGUEIREDO, Roberto T., FIGUEIREDO, Carla B. C. (2011) WarGrafos – Jogo para
auxílio na aprendizagem da disciplina de Teoria dos Grafos. Artigo publicado no
Simpósio Brasileiro de Games e Entretenimento Digital. Anais do Evento. Salvador,
2011.
FILHO, Luiz. Introdução à linguagem C#. 2013. Disponível em
<http://www.devmedia.com.br/introducao-a-linguagem-c/27711>. Acesso em: 27 de
out. 2016.
GREEN, C. Shawn; BAVELIER, Daphne. Action video game modifies visual
selective attention. Nature, v. 423, n. 6939, p. 534-537, 2003.
KAPP, Karl M. The gamification of learning and instruction: game-based methods
and strategies for training and education. John Wiley & Sons, 2012.
72
KENT, Steven L. The ultimate history of videogames: from Pong to Pokemon – the
story behind the craze that touched our lives and changed theworld. New York: Three
River Press, 2001.
KING G, Krzywinska T. ScreenPlay: Cinema/videogames/interfacings. London:
Wallflower Press, 2002.
KISHIMOTO, André. Inteligência artificial em jogos eletrônicos. Academic
research about Artificial Intelligence for games, 2004.
LEITE, Leonardo Cardarelli. Jogos eletrônicos multi-plataforma. 2006. Tese de
Doutorado. PUC-Rio.
LIMA, Marlon Jonas de Oliveira. Pesquisa e desenvolvimento da interface de um
jogo para a plataforma android. 2013. p.51. (Bacharelado de Ciências da
computação) - Universidade Federal de Lavras.
LIBARDI, Paula L.O.; BARBOSA, Vladimir. Métodos ágeis. 2010.
LUSTOSA, Volney Gadelha. O estado da arte em inteligência artificial. Colabor@-
A Revista Digital da CVA-RICESU, v. 2, n. 8, 2004.
MACHADO, Henrique. Unity 3D: Introdução ao desenvolvimento de games. 2014.
Disponível em < http://www.devmedia.com.br/unity-3d-introducao-ao-
desenvolvimento-de-games/30653>. Acesso em: 27 de out. 2016.
MAFFEO, Bruno; DA SILVA, Sólon Benayon. Engenharia de software e
especificação de sistemas: soluções para quem necessita da informação para
agir. 1992.
MENDES, Cláudio Lúcio. Jogos eletrônicos: diversão, poder e subjetivação.
Papirus Editora, 2006.
MICROSOFT. Introdução à linguagem C# e ao .NET Framework. 2012. Disponível
em <https://msdn.microsoft.com/pt-br/library/z1zx9t92.aspx>. Acesso em: 28 de out.
2016.
MORAIS, Edson Ferreira de. Headshot: análise dos aspectos estéticos nos jogos
de tiro com perspectiva de primeira pessoa. 2013.
MORAES, Cícero; MIAMOTO, Paulo. Manual de Reconstrução Facial 3D Digital:
Aplicações com Código Aberto e Software Livre -- 1. ed. -- Sinop-MT: Expressão
Gráfica, 2015.
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação
TCC Sistemas de Informação

Mais conteúdo relacionado

Mais procurados

Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)Cícero Liberato
 
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.Caio Vinicius Marques Teixeira
 
Aula 01 criação de jogos
Aula 01 criação de jogosAula 01 criação de jogos
Aula 01 criação de jogosRicardo neves
 
Monografia tanilson = 0.1
Monografia tanilson = 0.1Monografia tanilson = 0.1
Monografia tanilson = 0.1Jean Souza
 
Aprendendo a Construir jogos com o Construct 2
Aprendendo a Construir jogos com o Construct 2 Aprendendo a Construir jogos com o Construct 2
Aprendendo a Construir jogos com o Construct 2 Diogo Padilha
 
O Papel do Profissional de Design em uma Equipe de Criação e Desenvolvimento ...
O Papel do Profissional de Design em uma Equipe de Criação e Desenvolvimento ...O Papel do Profissional de Design em uma Equipe de Criação e Desenvolvimento ...
O Papel do Profissional de Design em uma Equipe de Criação e Desenvolvimento ...Diogo Riker
 
Visões do Game Design #1
Visões do Game Design #1Visões do Game Design #1
Visões do Game Design #1Rodrigo
 
Dissertação Marisardo - Design - UFPE
Dissertação Marisardo - Design - UFPEDissertação Marisardo - Design - UFPE
Dissertação Marisardo - Design - UFPEMarisardo Filho
 
Palestra - Introdução ao desenvolvimento de Jogos
Palestra - Introdução ao desenvolvimento de JogosPalestra - Introdução ao desenvolvimento de Jogos
Palestra - Introdução ao desenvolvimento de Jogosjuliocoopergames
 

Mais procurados (12)

Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
 
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
 
Board slides
Board slidesBoard slides
Board slides
 
Aula 01 criação de jogos
Aula 01 criação de jogosAula 01 criação de jogos
Aula 01 criação de jogos
 
Monografia tanilson = 0.1
Monografia tanilson = 0.1Monografia tanilson = 0.1
Monografia tanilson = 0.1
 
Aprendendo a Construir jogos com o Construct 2
Aprendendo a Construir jogos com o Construct 2 Aprendendo a Construir jogos com o Construct 2
Aprendendo a Construir jogos com o Construct 2
 
O Papel do Profissional de Design em uma Equipe de Criação e Desenvolvimento ...
O Papel do Profissional de Design em uma Equipe de Criação e Desenvolvimento ...O Papel do Profissional de Design em uma Equipe de Criação e Desenvolvimento ...
O Papel do Profissional de Design em uma Equipe de Criação e Desenvolvimento ...
 
Visões do Game Design #1
Visões do Game Design #1Visões do Game Design #1
Visões do Game Design #1
 
Apostila Jogos
Apostila Jogos Apostila Jogos
Apostila Jogos
 
Dissertação Marisardo - Design - UFPE
Dissertação Marisardo - Design - UFPEDissertação Marisardo - Design - UFPE
Dissertação Marisardo - Design - UFPE
 
Palestra - Introdução ao desenvolvimento de Jogos
Palestra - Introdução ao desenvolvimento de JogosPalestra - Introdução ao desenvolvimento de Jogos
Palestra - Introdução ao desenvolvimento de Jogos
 
Apresentação TCC Games
Apresentação TCC GamesApresentação TCC Games
Apresentação TCC Games
 

Semelhante a TCC Sistemas de Informação

Uma abordagem prática para o ensino do desenvolvimento de jogos digitais para...
Uma abordagem prática para o ensino do desenvolvimento de jogos digitais para...Uma abordagem prática para o ensino do desenvolvimento de jogos digitais para...
Uma abordagem prática para o ensino do desenvolvimento de jogos digitais para...Diego Barbosa da Cruz
 
Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Luiz Nörnberg
 
Revista tutorial-3 d-2011
Revista tutorial-3 d-2011Revista tutorial-3 d-2011
Revista tutorial-3 d-2011Mario Jorge
 
Conceitos básicos sobre Advergames
Conceitos básicos sobre AdvergamesConceitos básicos sobre Advergames
Conceitos básicos sobre AdvergamesAle Santos
 
Jogos independentes
Jogos independentesJogos independentes
Jogos independentesPaulo Zucco
 
Trabalho Gerencia de Projetos
Trabalho Gerencia de ProjetosTrabalho Gerencia de Projetos
Trabalho Gerencia de ProjetosDiego BBahia
 
Como pensar, implementar e publicar jogos sociais independentes
Como pensar, implementar e publicar jogos sociais independentesComo pensar, implementar e publicar jogos sociais independentes
Como pensar, implementar e publicar jogos sociais independentesJerry Medeiros
 
Mercado de Games no Espírito Santo - #UCLParty
Mercado de Games no Espírito Santo - #UCLPartyMercado de Games no Espírito Santo - #UCLParty
Mercado de Games no Espírito Santo - #UCLPartyLeonardo Zamprogno
 
Tuxvaiaescolante
TuxvaiaescolanteTuxvaiaescolante
Tuxvaiaescolantepsafire
 
Framework de GameAnalytics para Jogos Moveis 2D Tipo Plataforma
Framework de GameAnalytics para Jogos Moveis 2D Tipo PlataformaFramework de GameAnalytics para Jogos Moveis 2D Tipo Plataforma
Framework de GameAnalytics para Jogos Moveis 2D Tipo PlataformaBeatriz Vaz Pinto
 

Semelhante a TCC Sistemas de Informação (20)

Uma abordagem prática para o ensino do desenvolvimento de jogos digitais para...
Uma abordagem prática para o ensino do desenvolvimento de jogos digitais para...Uma abordagem prática para o ensino do desenvolvimento de jogos digitais para...
Uma abordagem prática para o ensino do desenvolvimento de jogos digitais para...
 
Advergames
AdvergamesAdvergames
Advergames
 
Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)
 
Projeto de Douturado
Projeto de DouturadoProjeto de Douturado
Projeto de Douturado
 
Revista tutorial-3 d-2011
Revista tutorial-3 d-2011Revista tutorial-3 d-2011
Revista tutorial-3 d-2011
 
Conceitos básicos sobre Advergames
Conceitos básicos sobre AdvergamesConceitos básicos sobre Advergames
Conceitos básicos sobre Advergames
 
Jogos independentes
Jogos independentesJogos independentes
Jogos independentes
 
Tcc
TccTcc
Tcc
 
Trabalho Gerencia de Projetos
Trabalho Gerencia de ProjetosTrabalho Gerencia de Projetos
Trabalho Gerencia de Projetos
 
Comparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3dComparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3d
 
Gamification Reduzida
Gamification ReduzidaGamification Reduzida
Gamification Reduzida
 
Game Bible - Ouroboros
Game Bible - OuroborosGame Bible - Ouroboros
Game Bible - Ouroboros
 
Como pensar, implementar e publicar jogos sociais independentes
Como pensar, implementar e publicar jogos sociais independentesComo pensar, implementar e publicar jogos sociais independentes
Como pensar, implementar e publicar jogos sociais independentes
 
Mercado de Games no Espírito Santo - #UCLParty
Mercado de Games no Espírito Santo - #UCLPartyMercado de Games no Espírito Santo - #UCLParty
Mercado de Games no Espírito Santo - #UCLParty
 
tecnologia em design
tecnologia em designtecnologia em design
tecnologia em design
 
tecnologia em design
tecnologia em designtecnologia em design
tecnologia em design
 
Tuxvaiaescolante
TuxvaiaescolanteTuxvaiaescolante
Tuxvaiaescolante
 
Artigo unity3 d
Artigo unity3 dArtigo unity3 d
Artigo unity3 d
 
Monografia - UNISUL
Monografia - UNISULMonografia - UNISUL
Monografia - UNISUL
 
Framework de GameAnalytics para Jogos Moveis 2D Tipo Plataforma
Framework de GameAnalytics para Jogos Moveis 2D Tipo PlataformaFramework de GameAnalytics para Jogos Moveis 2D Tipo Plataforma
Framework de GameAnalytics para Jogos Moveis 2D Tipo Plataforma
 

TCC Sistemas de Informação

  • 1. FACULDADES DOCTUM IPATINGA BACHARELADO EM SISTEMAS DE INFORMAÇÃO EKETLIN VIEIRA GOMES ICARO RAYONE AZEVEDO DIAS MATHEUS RODRIGUES SILVA DESENVOLVIMENTO DE JOGOS UTILIZANDO UNITY 3D IPATINGA, MG 2016
  • 2. D D D D Unidade Ipatinga – MG SISTEMAS DE INFORMAÇÃO Ipatinga 2016 EKETLIN VIEIRA GOMES ICARO RAYONE AZEVEDO DIAS MATHEUS RODRIGUES SILVA DESENVOLVIMENTO DE JOGOS UTILIZANDO UNITY 3D Trabalho de Conclusão de Curso apresentado à Coordenação de Curso de da Faculdade Doctum de Ipatinga - Rede de Ensino Doctum, como requisito parcial para a obtenção do título de bacharel em Sistemas de Informação. Prof.° Orientador: Msc. Marcelo José Vigorito Campara. Área de concentração: Desenvolvimento de jogos digitais.
  • 3. EKETLIN VIEIRA GOMES ICARO RAYONE AZEVEDO DIAS MATHEUS RODRIGUES SILVA DESENVOLVIMENTO DE JOGOS UTILIZANDO UNITY 3D Este Trabalho de Conclusão de Curso foi julgado e aprovado, como requisito parcial a obtenção do título de bacharel em Sistemas de Informação na Faculdade Doctum de Ipatinga – Rede Doctum de Ensino, em 2016. Média Final: ____________________ Ipatinga, 14 de dezembro de 2016 Banca Examinadora ______________________________________________ Prof.ª Convidada: Maíza Cristina de Souza Dias Mestre em Informática PUC-Minas Faculdades Doctum Ipatinga ______________________________________________ Prof. Convidado: Talles Quintão Pessoa Especialista em Redes – Escola Superior Aberta do Brasil Faculdades Doctum Ipatinga ______________________________________________ Prof. Orientador: Marcelo José Vigorito Campara Mestre em Sistema de Informação e Gestão do Conhecimento – Universidade FUMEC Faculdades Doctum Ipatinga
  • 4. DEDICATÓRIA Dedico este trabalho aos meus pais Altair Gomes e Luzia de Fátima, meu namorado Patrick Moreno e meus irmãos, que me apoiaram muito nestes quatro anos, e todos aqueles que me ajudaram a transformar esse sonho em realidade, me proporcionando forças para que eu não desistisse de ir atrás do que eu buscava para minha vida. Surgiram muitos obstáculos pelo caminho durante esses últimos anos, mas graças a vocês, eu não fraquejei. Eketlin Vieira Gomes Dedico este trabalho aos meus pais, irmãos, familiares e amigos que de muitas formas me incentivaram e ajudaram para que fosse possível a concretiza-lo. Icaro Rayone Azevedo Dias Dedico a Deus, por ser extremamente paciente e piedoso comigo. Aos meus pais que foram companheiros e me ajudaram em todas as horas. A meus amigos e familiares. Matheus Rodrigues Silva
  • 5. AGRADECIMENTOS Agradecemos primeiramente a Deus, por ter guiado nossos passos e proporcionado a oportunidade de chegar até aqui. Agradecemos nossos familiares e amigos, que sempre nos apoiaram e nos incentivaram a nunca desistir, a faculdade, sеυ corpo docente, direção е administração qυе oportunizaram а janela qυе hoje vislumbramos um horizonte superior, enfim a todos qυе direta оυ indiretamente fizeram parte de nossa formação, о nosso muito obrigado.
  • 6. EPÍGRAFE “Talvez não tenhamos conseguido fazer o melhor, mas lutamos para que o melhor fosse feito. Não somos o que deveríamos ser, não somos o que iremos ser, mas, graças a Deus, não somos o que éramos”. (Martin Luther King)
  • 7. RESUMO Esse trabalho tem o intuito de aprofundar os conhecimentos a respeito do desenvolvimento de jogos, desenvolvendo uma versão demonstrativa de um jogo com uma fase, tal jogo será do gênero Shot’em up, que consiste em o personagem principal atirar projéteis em seus inimigos e evitar os perigos e obstáculos. Normalmente o personagem utilizado nesse estilo de jogo é um veículo, e a câmera geralmente se localiza num ângulo superior ao personagem e se encontra fixada durante todo o jogo no mesmo ângulo de visão. Será demonstrado o processo de criação dos jogos eletrônicos com ênfase no processo de game design. O desenvolvimento será dividido nas etapas de game design que envolve a criação do Game Design Document, na etapa da arte, na qual são criados os elementos visuais e auditivos do jogo, na de programação utilizando a linguagem CSharp e a documentação, apresentando como resultado a versão de demonstração completamente jogável, de modo que seja possível esclarecer os detalhes menos conhecidos da construção de um jogo aos aficionados pela área, em um mercado que tem crescido muito nos últimos anos em vários países e o mercado brasileiro se encontra em uma boa colocação, na qual está sendo avaliado com o quantia equivalente a US$ 1,3 bilhões. Palavras chave: Game Design, Arte, Programação, Desenvolvimento, Jogo.
  • 8. ABSTRACT This essay is intended to dig deeper into the knowledge of game development, developing a demo version of a game with one level, into the genre of “Shot’ em Up” in which the main character shoots projectiles at his enemies and avoids danger and obstacles. Normally, the main character that is used in this style of game is a veicle, and the camera is usually located on its back, on a superior angle and is fixed throughout the game at the same viewing angle. It will show the process of creation and development of the electronic games with emphasis in the process of game design. The development will be divided in game design parts that involve the creation of the Game Design Document, In the art parts, in which elements visual and audio are created, at programming using the CSharp language and the documentation, presenting as a result the demo version completely playable and possible to clarify the datails that oare barely known of a game’s creation to the passionate ones for the area in a market that has grown a lot in the last recent years in many countries, and the Brazilian market is in a good position, in which it is being evaluated with the equivalent of US $ 1.3 billion. Key words: Game Design, Art, Programming, Development, Game.
  • 9. LISTA DE ILUSTRAÇÕES Figura 1: Interface do Unity .......................................................................................24 Figura 2: Renderização .............................................................................................28 Figura 3: Funções utilizadas no Blender ...................................................................51 Figura 4: Modelagem ................................................................................................52 Figura 5: Cenário.......................................................................................................53 Figura 6: Tela de carregamento ................................................................................53 Figura 7: Menu do jogo .............................................................................................54 Figura 8: Tela de combate ........................................................................................55 Figura 9: HUD ...........................................................................................................56 Figura 10: Aeronave Inimiga .....................................................................................56 Figura 11: Turbina Inimigo ........................................................................................57 Figura 12: Aeronave principal....................................................................................57 Figura 13: Aeronave principal - traseira ....................................................................58 Figura 14: Míssil Modelagem ....................................................................................58 Figura 15: Míssil........................................................................................................59 Figura 16: Míssil encaixado na aeronave..................................................................59 Figura 17: Míssil Inimigo ...........................................................................................60 Figura 18: Míssil Inimigo 2 ........................................................................................60 Figura 19: Game Over...............................................................................................61 Figura 20: Vitória.......................................................................................................61 Figura 21: Diagrama de caso de uso ........................................................................66 Figura 22: Sky Force .................................................................................................82 Figura 23: Teclado ....................................................................................................85 Figura 24: Diagrama de telas ....................................................................................86 Figura 25: Personagem principal...............................................................................88 Figura 26: Inimigo......................................................................................................90
  • 10. LISTA DE TABELAS Tabela 1: Países que arrecadam com o mercado de jogos ......................................38
  • 11. SUMÁRIO 1 INTRODUÇÃO .......................................................................................................14 1.1 Objetivo Geral..................................................................................................14 1.2 Objetivos Específicos.......................................................................................14 1.3 Principais Contribuições ..................................................................................14 1.4 Problemas e hipóteses ....................................................................................15 1.5 Justificativa ......................................................................................................16 1.6 Organização do Trabalho ................................................................................17 2 REVISÃO BIBLIOGRÁFICA ...............................................................................18 2.1 Histórico do desenvolvimento de jogos eletrônicos .........................................18 2.2 Papel do Designer de Games..........................................................................20 2.3 Unity 3D...........................................................................................................21 2.3.1 Estrutura do Unity......................................................................................24 2.3.1.1 Interface .................................................................................................24 2.3.2 Componentes............................................................................................26 2.3.3 Assets .......................................................................................................26 2.3.4 Prefabs......................................................................................................27 2.3.5 Packages ..................................................................................................27 2.3.6 Renderização ............................................................................................27 2.3.7 Iluminação.................................................................................................28 2.4 Blender ............................................................................................................29 2.5 Visual Studio....................................................................................................29 2.6 Linguagem C# .................................................................................................30 2.7 Sonoplastia......................................................................................................30 2.8 Dados bidimensionais (2D) e tridimensionais (3D) ..........................................32 2.9 Aplicação de jogos em trabalhos de equipe ....................................................32 2.10 Inteligência artificial........................................................................................33
  • 12. 2.11 A Física e a matemática usadas no jogo .......................................................34 2.12 Interface do usuário .......................................................................................36 2.13 Heads-Up Display (HUD)...............................................................................36 2.14 Jogadores......................................................................................................37 2.15 Engenharia de Software ................................................................................39 2.16 Casos de uso.................................................................................................40 3 METODOLOGIA.....................................................................................................42 4 DESENVOLVIMENTO ...........................................................................................44 4.1 Processo de Elaboração de um Jogo ..............................................................44 4.2 Pré-produção...................................................................................................45 4.2.1 Definição do gênero ..................................................................................45 4.2.2 Criando a história...................................................................................47 4.2.3 Game Design Document .......................................................................49 4.3 Produção .........................................................................................................49 4.3.1 Arte/Animação..........................................................................................50 4.3.2 Programação.............................................................................................62 4.3.2.1 Jogador ..................................................................................................62 4.3.2.2 Tiro.........................................................................................................63 4.3.2.3 Inimigo...................................................................................................63 4.3.2.4 Clonador................................................................................................64 4.3.2.5 Menu principal, Tela de vitória e Tela de derrota ...................................64 4.3.3 Level Design .............................................................................................64 4.3.4 Diagrama de caso de uso .........................................................................66 4.4 Pós-Produção ..................................................................................................66 5 CONSIDERAÇÕES FINAIS ...................................................................................68 REFERÊNCIAS.........................................................................................................70 GLOSSÁRIO .............................................................................................................76
  • 13. ANEXOS ...................................................................................................................78 ANEXO A – Game Design Document .......................................................................78 1 INTRODUÇÃO .......................................................................................................80 1.1 História do jogo................................................................................................80 1.2 Game Play.......................................................................................................80 1.3 Público Alvo.....................................................................................................81 1.4 Produto similar.................................................................................................82 2 CONTROLE E INTERAÇÂO ..................................................................................84 2.1 Entrada ............................................................................................................84 2.1.1 Teclado .....................................................................................................84 2.2 Saída ...............................................................................................................85 2.2.1 Telas .........................................................................................................85 2.2.2 Menu .........................................................................................................86 2.2.3 HUD ..........................................................................................................86 2.3 Câmera............................................................................................................87 2.4 Mecânica básica ..............................................................................................87 3 INTERFACE E PERSONAGENS ...........................................................................88 3.1.1 Personagem principal................................................................................88 3.1.2 Inimigos.....................................................................................................90 4 OBJETIVOS ...........................................................................................................92 4.1 Objetivo do jogo...............................................................................................92 4.1.1 Como vencer.............................................................................................92 4.1.2 Como perder .............................................................................................92 ANEXO B – Scripts do jogo.......................................................................................94
  • 14. 14 1 INTRODUÇÃO Diante da popularização de aparelhos eletrônicos, como computadores, notebooks, smartphones, tablets e videogames, devido à maior facilidade de acesso e aquisição dessas tecnologias, o mercado de jogos vem evoluindo com o passar dos anos, e conquistando cada vez mais admiradores. Mesmo os jogos tendo uma grande comunidade de fãs, os processos de desenvolvimento de games ainda são pouco conhecidos, fator que tem aumentado o número de interessados na área. Este projeto tem o intuito de aprofundar e disseminar os conhecimentos e informações sobre o desenvolvimento de jogos, desenvolvendo uma versão demonstrativa com uma fase de um jogo, utilizando o motor gráfico Unity 3D e demonstrando os processos necessários para chegar ao resultado final esperado. 1.1 Objetivo Geral  Desenvolver uma versão demonstrativa de um jogo, com uma fase. 1.2 Objetivos Específicos  Demonstrar o processo de criação de um jogo eletrônico;  Abordar o papel do game design no desenvolvimento do jogo;  Desenvolver o Game Design Document. 1.3 Principais Contribuições Através do desenvolvimento de uma versão demonstrativa de um jogo, foi possível demonstrar os processos de desenvolvimento de um jogo no motor gráfico Unity 3D, tratando a importância do game design para todo o restante do processo de criação de um jogo, desenvolvendo um Game Design Document que serviu de aporte durante as etapas de arte e programação.
  • 15. 15 1.4 Problemas e hipóteses O constante crescimento do mercado tem obrigado a indústria de jogos eletrônicos a se adaptar às diversas exigências de seus consumidores, e para adaptar-se a esse mercado sedento por novidades, os produtores de jogos tem buscado:  Gráficos melhores;  Histórias envolventes;  Personagens que criem uma aproximação com o jogador;  Game play agradável. Segundo Rogers (2013), para alcançar tais adaptações os produtores devem se dedicar aos principais processos de produção de jogos que são:  Game Design;  Arte;  Programação. O game design sendo o primeiro e principal processo do desenvolvimento de jogos, se subdivide em diversos subprocessos, que quando reunidos, tem objetivo de fornecer aos profissionais das demais fases do desenvolvimento a base e orientação durante toda a criação do jogo, no caso de um game design mal estruturado e interpretado, o resultado pode ser um jogo completamente contrário à ideia inicial, que pode levar ao fracasso do jogo no mercado (ROGERS, 2013). Diante do pouco conhecimento sobre os processos que constituem como resultado final um jogo eletrônico, é preciso questionar quais os processos necessários para o desenvolvimento de um jogo, e tendo em vista o game design como processo de suma importância para um resultado final de sucesso, se faz necessário questionar também, qual o papel do game design dentro do processo de criação dos jogos eletrônicos.
  • 16. 16 1.5 Justificativa Num cenário de crise econômica, o mercado de jogos segue cada vez mais forte o caminho contrário das demais áreas, abrindo espaço para inúmeras profissões voltadas para o segmento. De acordo com o jornalista George Vidor (2015), o mercado de jogos eletrônicos ainda cresce a um ritmo superior a 10% ao ano, em contraste com a média da economia. No mundo, os games já faturam mais que cinema e música, juntos. O mercado brasileiro de jogos está em crescimento, segundo a revista pesquisa game brasil (2016), 74,7% dos brasileiros entrevistados jogam videogames, sendo 52,6% desse público são mulheres entre 16 a 34 anos, dentre as plataformas mais usada estão os smartphones (77,2%), os computadores (66,9%) e consoles (45,7%). Mesmo com todo o desenvolvimento do ramo, ainda é pequena a quantidade de profissionais preparados, devido à falta de conhecimento sobre a área. Segundo Vidor (2015), a indústria de jogos contribui tanto na geração de empregos e rendas quanto na exploração de novas tecnologias, como é o caso da Realidade Virtual. “Dessa forma, pode-se dizer que o setor de jogos digitais é de suma importância no desenvolvimento tecnológico e acaba relacionado a diversos outros setores”, destaca. A escolha do tema se fez com o intuito de expandir em quantidade e qualidade os materiais disponíveis sobre o assunto, já que atualmente são escassas as informações à disposição dos interessados. As ferramentas escolhidas para o desenvolvimento do jogo foram, o motor gráfico Unity 3D, que oferece as ferramentas necessárias para todo o processo de criação do jogo, possui uma compatibilidade com ferramentas externas, além de possuir uma versão gratuita, fatores que favoreceram na escolha do mesmo, foi escolhido o Blender para elaborar a parte visual do jogo e o Visual Studio usado para o desenvolver a mecânica usando a linguagem de programação CSharp.
  • 17. 17 1.6 Organização do Trabalho Este trabalho é composto por cinco Capítulos, organizados da seguinte forma: Na parte inicial, apresenta-se a introdução do trabalho onde é justificado o motivo que levou a escolha do tema, os problemas e as hipóteses. O objetivo principal é desenvolver uma versão demonstrativa de um jogo para levar e disseminar o conhecimento e informações sobre o desenvolvimento de jogos. A segunda parte é formada pelo referencial teórico que aborda desde a história do desenvolvimento dos jogos, passando pelo game design, depois a linguagem de programação e as ferramentas utilizadas para criação do jogo, entre outros aspectos relevantes. Na terceira parte é abordada a Metodologia utilizada no trabalho. Posteriormente na quarta parte é apresentado o processo de desenvolvimento do jogo, e por fim, na última parte são apresentadas as conclusões deste trabalho.
  • 18. 18 2 REVISÃO BIBLIOGRÁFICA Neste capitulo serão abordados alguns temas importantes para este trabalho, começando pela história dos jogos eletrônicos, passando pelo papel que desempenha o Game design, ferramentas e a linguagem utilizadas para o desenvolvimento, assuntos como sonoplastia, dados bidimensionais e tridimensionais, inteligência artificial, física e matemática usadas no jogo, interface do usuário, jogadores entre outros. 2.1 Histórico do desenvolvimento de jogos eletrônicos Os jogos, desde muitos anos atrás se encontram presente na vida das pessoas, proporcionando diversão, lazer e ajudando no desenvolvimento físico e mental. Segundo Mendes (2006), um jogo é qualquer atividade ou competição que existem regras a serem cumpridas. Normalmente os jogos envolvem competitividade, com regras na maioria das vezes de fácil entendimento, e pode envolver um ou vários jogadores, sejam em equipes ou individual, onde sempre haverá o (s) vencedor (es). Os jogos mais populares antigamente eram os de cartas e tabuleiros, “milênios se passaram e, cada vez mais, jogos diferentes teriam sido inventados para cada cultura do globo. Nos tempos atuais, prevaleceram os jogos eletrônicos” (MOREIRA, 2011). Segundo Rogers (2013), os primeiros videogames foram criados nos anos 1950, porém, poucas pessoas tinham acesso a eles. As primeiras pessoas que os programaram, eram estudantes de computação que frequentavam excelentes universidades, e trabalhados de instalações militares no Brooklhaven National Laboratories. Posteriormente a incontáveis debates entre historiadores, chegaram-se a concordância de que o primeiro jogo da história estreou-se no ano de 1958. Foi desenvolvido pelo físico William Higinbotham, e denominado Tennis Programing, conhecido também por Tennis for Two, com o objetivo de atrair pessoas para exibição
  • 19. 19 do poderio nuclear dos EUA. Se trata de um simples jogo de tênis, processado em um computador analógico e exibido em um osciloscópio (AMORIN, 2006). Em 1961, foi criado o Space War, classificado como o primeiro jogo interativo de computador, devido ter sido criado de fato para ser jogado. Foi desenvolvido pelos estudantes do MIT, Stephen Russell, Peter Samson, Dan Edwards, Martin Graetz, Alan Kotok e Steve Piner e Robert A. Saunders (KENT, 2001, p.18). No ano de 1972 foi fundada por Nolan Bushnell e Ted Dabney a empresa Atari. O primeiro jogo desenvolvido pela empresa foi o ‘Pong’, um simples jogo de tênis onde apresenta duas barras sendo uma do lado direito e uma do lado esquerdo, e uma bola, o objetivo é alcançar uma pontuação maior que seu adversário, sendo dez pontos a maior pontuação do jogo. É considerado o primeiro videogame arcade da história que ao ser comercializado gerou lucros, o que deu origens a um novo setor das indústrias. No ano de 1980 os videogames arcades começaram a estar presentes em todos os lugares e os temas e gêneros dos jogos se diversificaram, e aos mesmo tempo os gabinetes ficaram bem decorados e os controles realistas, e nos anos 1990, muitos jogos árcades, “começaram a parecer com minibrinquedos de parques temáticos” (ROGERS, 2013). Com o sucesso dos árcades e a repercussão e proliferação que os jogos eletrônicos tiveram, fez com que as empresas inovassem no ramo, levando o mercado de consoles a desenvolver videogames domésticos, para serem conectados em televisores. A empresa Magnavox Odyssey desenvolveu um aparelho monocromático e sem áudio, que possuía alguns apetrechos para aumentar o entusiasmo e participação do jogador, porém, no momento da divulgação ouve a falta de um bom marketing, portanto, as vendas despencaram e pararam de vender o videogame. Em 1976, a empresa Atari desenvolveu uma versão doméstica do jogo ‘Pong’, ao qual denominou ‘Home Pong’. Sua concorrente Coleco (Connecticut Leather Company), criou um console chamado ‘Telstar Arcade’, ao qual era usado para jogar jogos como
  • 20. 20 o ‘Pong’, de corrida e de tiro, e surgiram muitos videogames similares a estes na época. Fairchild Channel F, no ano de 1976, lançou um console que se destacava dos demais, devido ele utilizar um cartucho para armazenamento de memória, chamados de ‘videocarts’, e apresentar cores em seus jogos. O ano que marcou a história dos videogames foi o de 1977, pois aconteceu o lançamento de um videogame que estourou de vender e foi um fenômeno na época, o Atari VGS 2600. Com o passar dos anos, os jogos foram melhorando os gráficos, passando de 8 bits, para 16, 32, 128 e 64bits. E melhorando os consoles e os controles, passando de joysticks, para controles com mais botões, sem fio, touch screem, e controles com sensores que leem os movimentos. Foram criados aparelhos de jogos portáteis, como o Nintendo Game Boy, Sega Game Gear, Nintendo DS, PSP (Playstation Portable). Os jogos foram se adaptando a computadores pessoais e celulares. Atualmente utiliza-se a tecnologia de dimensões de universo e realidade virtual, os gráficos dos jogos são extremamente reais e complexos, e a inteligência artificial bastante precisa. 2.2 Papel do Designer de Games A partir do momento em que o mercado comercial de videogame se tornou sério, para se desenvolver um jogo, se tornou necessário ter uma equipe maior de pessoas, visto que os primeiros jogos criados, foram feitos por uma única pessoa (ROGERS, 2013). Desenvolver um jogo se tornou algo mais complexo, portanto, foram divididas várias funções entre as pessoas das equipes de desenvolvimento, onde cada uma se responsabilizou por determinada parte da criação do jogo, desde a documentação a prática. Dentre essas podemos destacar, o produtor, designer, artista, roteirista, compositor, programador e o testador.
  • 21. 21 O Designer de Games é o profissional responsável por desenvolver e projetar jogos eletrônicos. Ele cria todos os elementos necessários em um jogo de maneira minuciosa antes de passar para fase de produção, depois os redigi em um documento denominado Game Design Document (GDD), este documento será a base de desenvolvimento para as equipes envolvidas na criação do jogo. Segundo Rogers (2013), a função principal de um game designer é criar as regras e ideias que irão fazer parte do jogo e torná-lo divertido e atraente. O Designer pode atuar como Lead Designer, responsável pela criação do cenário do jogo, Level Designer, responsável por criar os desafios e as armadilhas que estarão presentes no decorrer de cada fase, Content Designer, responsável por criar e caracterizar os personagens, como serão as missões do jogo, os itens e puzzles, System Designer, responsável por criar as regras e limitações que o jogo apresentará, e Game Writer, responsável pela história do jogo e o roteiro que ele irá seguir. Para Bates (2001, p. 154), o designer tem a função de levar entretenimento aos jogadores no momento em que estão jogando. Ambos autores concordam com a ideia de que é responsabilidade do designer tornar o jogo divertido para o jogador, lhe proporcionando momentos de lazer. Já para o autor Rouse (2010), “o designer de games é a pessoa que projeta o game, que determina a aparência e a mecânica do jogo”. Para Schuytema (2008) "o designer 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á o game”, Schuytema, ao citar que o designer de games é uma planta baixa, ele define que o projeto do jogo é o processo principal, e o responsável por criar este projeto é o designer, que irá participar direta ou indiretamente dele para acompanhar todo o seu desenvolvimento. 2.3 Unity 3D Segundo Ricardo (2013), o Unity 3D é uma ótima escolha para o desenvolvimento de jogos pela sua riqueza em ferramentas e recursos. Esta ferramenta está no topo da das mais recomendadas por ser gratuita e possuir uma interface intuitiva facilitando o
  • 22. 22 desenvolvimento dos jogos sem ter a necessidade de programar diretamente para DirectX ou OpenGL, pois ela faz isso automaticamente. Essa ferramenta permite a utilização de todo tipo de script1, desde a linguagem CSharp até Javascript, para adicionar lógica ao jogo. Além de proporcionar vários objetos prontos gratuitos, o Unity permite a importação de arquivos de vários formatos, tanto 2D quanto 3D. Os programas aceitos para importação de arquivos são: Blender (software de animação), Autodesk Maya (Software de animação), Maxon Cinema 4D (Software de modelagem 3D), Cheetah3D (software para Mac OS X. para animação 3D) e Luxology Modo 3D (Software de modelagem 3D). A engine proporciona uma interface amigável e objetiva para o desenvolvimento de diversos gêneros de jogos com muita simplicidade. Seu ambiente de trabalho é constituído de várias janelas chamadas views sendo cada uma com um objetivo diferente. A Scene View é utilizada para manipular os ambientes, o jogador, o ângulo das câmeras, e os demais objetos sendo uma das funcionalidades mais importante do Unity. Outra funcionalidade muito utilizada são os Prefabs, que consiste em uma coleção de objetos que podem ser reutilizados durante o desenvolvimento do jogo. Se existirem vários desses objetos espalhados pela Scene e os mesmos estiverem ligados a um Prefab, qualquer modificação feita a um desses objetos afetará os demais. Durante o processo de desenvolvimento do jogo, é possível visualizar como ele ficará no seu formato final através da ferramenta Build, ou seja, o game é testado a qualquer momento em uma janela fora do editor do Unity. Para Machado (2014), uma grande vantagem da ferramenta é utilizar objetos prontos, ganhando tempo e criando mais possibilidades aos desenvolvedores. 1 Códigos que determinam a lógica do jogo, atribuindo comportamento aos objetos ao qual estão relacionados.
  • 23. 23 A loja oficial do Unity 3D proporciona diversos elementos e até projetos prontos, desde simples ou até modelos prontos onde o desenvolvedor pode desfrutar e absorver mais conhecimento sobre o Unity. Outra vantagem da engine é disponibilização de ferramentas de estudo para os desenvolvedores, com tutoriais e toda a documentação necessária para quem deseja utilizar as classes do Unity e seus scripts. Além da versão gratuita do Unity, existe a versão paga que pode ser comprada por $1500 ou alugada por $75 ao mês. Com Unity o jogo pode ser desenvolvido para inúmeras plataformas, sendo essa a principal vantagem da engine. Os jogos podem ser desenvolvidos para IOS, Android, BrackBerry, Windows Phone ou Windows e não há necessidade de fazer nenhuma programação extra, basta fazer a reconstrução do jogo com a plataforma desejada. Outro ponto que deixa a ferramenta mais prática e simples de aprender é uma comunidade sempre ativa e atualizada às novidades. Bueno (2016) destaca que o Unity para dispositivos móveis foi lançado inicialmente para dispositivos da Apple em 2008. Atualmente tal ferramenta do Unity suporta diferentes plataformas e os principais players. Com o crescimento da plataforma mobile, o mercado de games deu um enorme salto. Sendo assim, uma grande oportunidade é a criação de jogos 2D por serem mais práticos e rápidos de desenvolver. O Unity vem com ferramentas próprias para o desenvolvimento de projetos 2D, possibilitando a visualização 2D. O Unity 3D é uma ferramenta poderosa para criação de jogos por obter uma infinidade de recursos facilitando a elaboração dos mesmos. Sendo assim, é possível criar seus próprios jogos com a ajuda de uma interface amigável, que simplifica diversos pontos durante o desenvolvimento. Toda a parte de LoopGame, desenho, renderização gráfica, sistemas de partículas, efeitos de luz e sombra, áudio, entre outros já está embutida na ferramenta. A área de criação de jogos no Brasil ainda está crescendo e a escolha desta engine pode simplificar o desenvolvimento, pois ela atinge um número considerável de dispositivos e usuários, sendo possível projetar em menos tempo e minimizar os custos por possuir uma versão gratuita.
  • 24. 24 2.3.1 Estrutura do Unity Segundo Ferreira (2015), “o Unity trabalha com o gerenciamento de GameObjects. Os GameObjects representam objetos contidos no projeto e se estendem a objetos sólidos, objetos inanimados e até seres vivos como plantas, animais e seres humanos.” 2.3.1.1 Interface A interface do Unity, como apresenta a Figura 1, é de fácil compreensão e interação, intuitiva e inteiramente personalizável. Figura 1: Interface do Unity Fonte: Elaborada pelos autores Abaixo seguem as funcionalidades de algumas ferramentas existentes no Unity 3D: Toolbar ou Barra de Ferramentas A barra de ferramentas do Unity foi projetada com o objetivo de fornecer uma facilidade na aprendizagem, agilidade e testes de desenvolvimento. Os botões
  • 25. 25 localizados do lado esquerdo da tela são utilizados para manipulações de objetos (tamanho, rotação e posição), os botões no centro controlam o estado de execução do jogo e alternam entre o ambiente de criação e jogo. Os botões ao lado direito são capazes de controlar as camadas de exibição no ambiente, desativando uma camada, a mesma se torna invisível, e também, modificar a disposição e forma dos painéis da engine conforme a vontade do usuário. Hierarchy O painel Hierarchy é usado para organizar e listar os objetos que foram usados na cena. Para adicioná-los a este painel, usa-se o menu Create ou arrasta o objeto para o painel. “Podem existir objetos que são filhos de outros, desta forma, ao arrastar um objeto em cima de outro, automaticamente o mesmo se tornará filho, assumindo a movimentações e outras funcionalidades do pai ” (FERREIRA, 2015). Scene Constituída por todos os elementos GameObjects até elementos de HUD, possui manipulação simples, onde é possível clicar e arrastar os objetos para o local desejado após selecioná-los. Game Onde se apresenta o resultado final de cada modificação feita dentro da Scene, a partir da aba game o desenvolvedor pode ter noção de suas ações em tempo real, podendo assim fazer alterações pontuais que tragam o resultado esperado para o jogo, para executar a aba game é preciso clicar no botão play da barra de ferramentas, e então a aba começará a executar o jogo desde que não existam erros no projeto. Inspector Cada GameObject dispõe de propriedades e detalhes de seus parâmetros, existindo a possibilidade de alterar determinadas informações antes de inserir o item na cena.
  • 26. 26 Essa “manipulação das propriedades pode ser feita por meio da palheta Inspector e incluir novos componentes no objeto, variáreis de tipos de valores e também de referência para outros GameObjects ” (FERREIRA, 2015). Project Segundo Ferreira (2015), “É um navegador que lista todos os itens e diretórios incluídos no projeto atual do Unity, possibilitando importar novos itens pelo menu ou simplesmente arrastando-os para a área de trabalho. ” 2.3.2 Componentes Components são um “grupo de parâmetros e funcionalidades que definem o que um game object faz. É possível atribuir funcionalidades como com física de colisão, emissão de luz, modos de renderização, texturas, efeitos, áudio, entre vários” (NAGAOKA, 2013). “Praticamente quase todos os itens do cenário são GameObjects, que podem ter vários tipos de componentes associados ao mesmo tempo, como, por exemplo, um script para alterar seus comportamentos em tempo real no jogo “ (FERREIRA, 2015). 2.3.3 Assets Os assets podem assumir várias funcionalidades, são capazes de assumirem a forma de elementos ou aspectos dentro de um jogo, sendo referenciados por algum componente ou outro asset. Podem assumir a forma de elementos externos como texturas, scripts, animações e modelos 3D, que necessitam ser importados para o projeto, ou elementos internos como materiais, shaders2 e prefabs (NAGAOKA, 2013). 2 Pequenos scripts que contêm os cálculos matemáticos e algoritmos para o cálculo da cor de cada pixel representado, com base na entrada de luz e a configuração do material.
  • 27. 27 2.3.4 Prefabs Prefabs são grupos de assets, utilizados para “instanciar múltiplas cópias destes elementos com as mesmas características. Todos os elementos criados a partir de uma prefab herdam as características determinadas na prefab ” (NAGAOKA, 2013). As prefabs existem devido em alguns momentos ser necessário repetir determinado objeto várias vezes em um cenário, facilitando o trabalho, caso haja alguma alteração em algum dos objetos é possível editar para que os outros também sejam alterados automaticamente, e podem ser arquivados e reutilizados em outros projetos caso necessário. 2.3.5 Packages Segundo Nagaoka (2013), packages é um “conjunto de arquivos de um projeto, agrupados de forma que é possível ser importado e exportado de um project, dependendo da necessidade. ” Ao exportar algum elemento, o Unity reconhece todos os arquivos que são dependentes dele e os agrupam, criando um pacote. E ao importar para o Unity os elementos que podem ser chamados de assets, e se encontram em um conjunto agrupados e comprimidos, eles passam a fazer parte do projeto. 2.3.6 Renderização Renderização é um processo de compilação usado para se obter um produto final de um processamento digital, é usada para mostrar em uma baixa resolução os resultados do projeto produzido, sem necessitar de consumir muitos recursos dos processadores. Ferramentas como Unity 3D e Blender utilizam a renderização. Segundo Watkins (2014), ”formas tridimensionais em um aplicativo 3D são criadas quando as coleções de polígonos são agrupadas. [...] O desenho dos polígonos, texturas e iluminação associados a eles é chamado de renderização. ”
  • 28. 28 O número de polígonos em uma imagem que será renderizado é muito importante, quanto maior a quantidade, maior será o consumo de processamento e o tempo de espera, porém melhor será a qualidade da imagem (FERREIRA, 2015). Na Figura 2, estão exemplos da renderização utilizando poucos polígonos (230) na imagem da esquerda, e uma quantidade bem maior (3530) de polígonos na imagem da direita. Figura 2: Renderização Fonte: CLUA; BITTENCOURT (2005). Pode-se notar que apesar da enorme diferença entre as resoluções, o resultado final das imagens possui muitas semelhanças, a diferença é que a imagem cujo a resolução é mais alta, dá para ver os detalhes de forma mais nítida. 2.3.7 Iluminação Os recursos de iluminação do Unity 3D estão melhorando mais, a cada versão que é desenvolvida. Desenvolvedores que têm a versão PRO, possuem recursos mais poderosos comparados a versão gratuita.
  • 29. 29 A iluminação é algo essencial em qualquer imagem ou ambiente desenvolvidos, é necessário editar as configurações da iluminação de acordo com o ambiente que se deseja criar. “Existem quatro tipos de GameObjects de luz no Unity, estes são Point Light, SpotLight, Directional Light e Area Lights. Todos podem ser espalhados no projeto e possuem características distintas de iluminação”, podem projetar desde a luz de uma lanterna até a claridade solar (FERREIRA, 2015). 2.4 Blender A ferramenta Blender originou-se no ano de 1995, e começou a ser comercializada em 1998, além de ter sido disponibilizado uma versão freeware. Como uma aplicação integrada permite a criação de vários conteúdos 2D e 3D possuindo uma poderosa interface altamente otimizada. A ferramenta oferece uma série de recursos que permitem elaborar complexas modelagens e animações avançadas. Essas características tornam o Blender um dos aplicativos Open Source 3D mais populares do mundo (MORAIS; MIAMOTO, 2015; CHRONISTER, 2009). 2.5 Visual Studio O Visual Studio é um software que possibilita a construção de aplicações para diversas plataformas, desde desktops, mobiles a aplicações corporativas e web. Possui uma ampla biblioteca composta por diversas ferramentas de programação, compiladores populares para Visual Basic, Visual C/C++ e Visual C#, e algumas facilidades como editor de texto, identificação de erros e ajuda interativa. Segundo Câmara (2005), o Visual Studio adota as tecnologias mais recentes, possibilita criar aplicativos de maneira rápida, melhora a tomada de decisões quando usado em negócios, possui suporte para aplicativos de grandes organizações propiciando segurança, confiabilidade, fácil gerenciamento e melhoria na produtividade.
  • 30. 30 Esse software foi de grande importância para este trabalho, toda a parte de programação do jogo, foi desenvolvida nele. 2.6 Linguagem C# CSharp é uma linguagem POO (programação orientada a objetos) que foi desenvolvida e é atualizada até os dias atuais pela Microsoft. Esta faz parte do framework .Net utilizado pelo Visual Studio para criação de aplicativos Web, mobile, desktop, dentre outros. Segundo Filho (2013), o CSharp simplifica as complexidades encontradas no C++ como variáveis nulo, exumadores, delegação, expressão lambda e acessos realizados diretamente na memória. Ainda é fortemente usada, e possui suporte a DDL’s e COM+. Se trata de uma linguagem case-sensitive e suas classes são capazes de implementarem diversas interfaces. Em CSharp, tipos e métodos não possuem a necessidade de serem declarados em ordem. Com as novidades deste nos é permitido a criação de conteúdo de maneira rápida mantendo a expressividade e a organização de uma linguagem C-Style. Com estes e alguns outros recursos a mais, o CSharp pode apresentar uma grande produtividade para programadores que a utilizam. Segundo a Microsoft (2012) aponta que o processo de compilação do CSharp é mais simples e mais adaptável se comparado ao C++ ou Java, pois não possui a necessidade de arquivos de cabeçalhos separados e da declaração de métodos e tipos em uma ordem específica. 2.7 Sonoplastia Segundo Morais (2013), sonoplastia é todo aparato audível existente no jogo, e pode ser separado em quatro categorias: vocalização, efeitos sonoros, som ambiente e a música.
  • 31. 31 De acordo com Flint Dille e John Zuur Platten (2007) a música nos games se apresenta de duas formas que eles denominam de Source music e Sound track music. A primeira se refere a uma música que aparece de maneira natural e orgânica no jogo, como no exemplo citado acima do jogo Outrun, em que a música tem sua origem no rádio do carro. A segunda por sua vez é definida como a música que vem de fora do jogo, seria uma música que toca enquanto acontece a ação do jogo definindo o clima. Dentro desse contexto, ela pode ser sensitiva, sendo acionada por algum evento no jogo, “normalmente usada para informar o jogador que ele chegou a um importante momento específico” (DILLE; PLATTEN, 2007 apud MORAIS, 2013). Nielsen, Smith e Tosca (2008) expõem que os jogos atuais usam o som de uma maneira muito mais complexa do que apenas refletir a ação que acontece na tela. Afirmam que os efeitos sonoros do jogo podem ser afetados pelo ambiente; a representação do espaço propriamente dita, se existem paredes, se o som viaja pela água, pelo ar e etc. Pela espacialidade, que seriam intervenções sonoras baseadas em distância, a exemplo de um tiroteio que acontece perto do personagem, e um segundo que acontece mais distante, mas se faz possível escutar o som das armas; e pela física, que são sons gerados em decorrência dos efeitos físicos que o jogo pode demonstrar, como o som de um impacto com algum objeto, ou som causado pelos passos de um personagem (NIELSEN; SMITH; TOSCA, 2008 apud MORAIS, 2013). Shum ainda coloca que paisagem sonora é formada por sons on-screen, em que os elementos que emitem o som estão visíveis na tela, e sons off-screen, que são os sons de elementos que não aparecem na tela. Esse mesmo conceito serve para identificar tanto a paisagem sonora dos games quanto a dos filmes (SHUM, 2009 apud MORAIS, 2013).
  • 32. 32 2.8 Dados bidimensionais (2D) e tridimensionais (3D) Dados bidimensionais ou 2D, são animações que usam os eixos horizontal e vertical para se moverem e não possuem profundidade como no 3D. Já o 3D, possui três eixos para se mover, o horizontal, o vertical e o eixo de profundidade, esse último eixo como o próprio nome diz dá a ideia de uma profundidade perceptível na imagem 3D, o que a torna muito próxima da realidade. Para Christofoli (2011), o 3D digital será um enorme aliado da transição digital e estará presente nas futuras renovações tecnológicas. Segundo Bueno (2016), os jogos em 2D são simples e mais rápidos para se desenvolver. Para sua confecção são utilizados objetos gráficos texturizados chamados de sprites, que são em sua essência objetos em 2D que se movimentam pelo cenário utilizando técnicas que o tornam possível serem convenientemente animados ou não. Neste projeto foi utilizado o gráfico 3D para a criação dos personagens do jogo e o 2D para a criação do cenário. 2.9 Aplicação de jogos em trabalhos de equipe Para Terra (2014), o impacto dos jogos no trabalho em equipe é uma estratégia muito bem-sucedida, como o exemplo da Google que estimula a criatividade dos seus colaboradores através de desafios, aumentando a competitividade entre os envolvidos. Segundo Kapp (2012), mais de 70% das 2000 maiores empresas do mundo vem aplicando estratégias de jogos em seus negócios. Tal estudo diz que no ano de 2016 o mercado da Gamificação (uso de técnicas que utilizam mecânicas de jogos em tarefas) corresponderá a aproximadamente U$ 2.8 bilhões. O livro Gamification escrito por Alves (2014), apresenta números interessantes, como:  92% das crianças até dois anos já são jogadoras; 5,93 bilhões de anos é o
  • 33. 33 tempo que as pessoas gastaram resolvendo problemas do mundo virtual de World of Warcraft (online desde 2001);  O Brasil é o 4º lugar entre os maiores consumidores de jogos eletrônicos do mundo, movimentando aproximadamente R$ 840 milhões em 2011, com crescimento previsto de 7,1% até 2016. Sendo assim, os jogos podem ser um atrativo e uma forma de organização direcionada a um objetivo, então porque não aproveitar os jogos e programar como parte do trabalho? Para iniciar a ideia no seu trabalho, primeiramente é preciso ficar atento a alguns objetivos, pois as pessoas necessitam de motivação, sendo assim o jogo não pode ter um objetivo impossível de alcançar. É necessário compreender o problema para lidar com as regras, saber qual problema existente no desenvolvimento atual da empresa que pode ser alterado, identificar os jogadores levando a ideia do jogo e deixando que o grupo participe na avaliação e decisão das regras, definir qual a meta do jogo lembrando que devem ser alcançáveis. 2.10 Inteligência artificial A expressão inteligência artificial segundo Lustosa (2004), foi utilizada pela primeira vez em uma reunião de cientistas nos EUA, no ano de 1956. Tais cientistas possuíam objetivos de estudar as formas que poderiam ser desenvolvidas as máquinas inteligentes e como elas adaptariam a humanidade. Muitos autores deram suas definições a esta ciência, tais como:  “A arte da criação de máquinas que fazem funções que requerem inteligência quando feito por pessoas” (Kurzweil, 1990 apud NORVIG; RUSSEL, 2004).  A inteligência artificial abrange diversos subcampos, desde aprendizagem e percepções, a teoremas matemáticos e análise de doenças. É de suma importância para qualquer tarefa intelectual e de fato um campo universal (NORVIG; RUSSEL, 2004).
  • 34. 34  “Campo de estudo que procura explicar e emular comportamento inteligente em termos de processos computacionais” (SCHALKOFF, 1990 apud LUSTOSA, 2004).  “Um ramo da ciência da computação que se dedica à automação de comportamento inteligente” (LUGER & STUBBLEFIELD, 1993 apud LUSTOSA, 2004). O conceito de Inteligência artificial para desenvolvedores de jogos eletrônicos, é distinto dos conceitos citados anteriormente, o propósito é usufruir dessa ciência para levar diversão aos usuários. “Sua importância é quanto aos resultados que o sistema irá gerar, e não como o sistema chega até os resultados; ou seja, o problema não é como o sistema pensa, mas sim como ele age” (KISHIMOTO, 2004). Tal afirmação se dá devido os jogos eletrônicos serem negócios, portanto seus consumidores não estão interessados em saber qual foi a inteligência artificial usada para seu funcionamento, o que importa é que o jogo traga desafios, diversões e tomadas de decisões coerentes a sua história. Assim como no mundo real, nos jogos, é preciso tomar determinadas decisões, mesmo se o cálculo dessas decisões ótimas for inviável e penalizar tal ineficiência de maneira severa (RUSSEL, 2004). 2.11 A Física e a matemática usadas no jogo A matemática é uma ciência exata que é usada diariamente na vida das pessoas, desde suas formas mais simples ás mais complexas. Segundo Cândido (2006), a matemática está presente a todo momento nos meios de comunicação, e se uma pessoa não é capaz de compreendê-la, ela será “incapaz de participar de maneira integral de uma vida em sociedade”.
  • 35. 35 Essa ciência caminha lado a lado a física. Ambas são de suma importância na construção de um jogo, estando presente em algumas etapas da construção deste, como na programação e na modelagem. “Grande parte da interatividade de um jogo se deve ao funcionamento de algumas leis da física sobre o mundo virtual criado” (CLUA; BITTENCOURT, 2005). Efeitos no jogo como colisão, quando o personagem encosta em uma árvore ou algum outro objeto e não consegue atravessá-lo; efeitos de velocidade, quando um carro acelera gradativamente como na vida real; gravidade, tamanho dos objetos que estão no cenário em relação ao personagem, caso não haja esta proporção o jogo ficará desproporcional, por exemplo, um prédio deve ser bem mais alto que as pessoas que andam próximo dele; todos esses efeitos são colocados em prática graças a física e a matemática existentes no jogo. Cálculos simples da física nos jogos são:  Colisão: Quando um objeto se esbarra com o outro. O cálculo da colisão pode ser realizado de várias maneiras, porém “a mais comum é a técnica de bounding-boxes, que consiste em englobar cada objeto por uma caixa e calcular a colisão para a caixa e não para a malha completa do objeto” (CLUA; BITTENCOURT, 2005).  Forças resultantes: São as forças que atuam ao mesmo tempo em um corpo. No mundo real existe os corpos se movimentam devido a aplicação de muitas forças da física sobre eles. No “ambiente virtual será necessário simular a aplicação de forças de diversas naturezas sobre os objetos, calculando a resultante a cada instante para verificar como será o seu movimento. ” (CLUA; BITTENCOURT, 2005). Existem vários motores de jogos, como Unreal Engine, Unity 3D, Anvil Engine, Cry Engine, todos usam as leis da física e os cálculos matemáticos para desenvolverem um jogo. Para criação do jogo deste trabalho foi escolhido o Unity 3D, que possui motores de física que proporcionam componentes que suportam simulações próximas a realidade, bastam alguns ajustes a partir dos scripts e os objetos irão comportar de maneira real.
  • 36. 36 2.12 Interface do usuário A interface do usuário é tudo que estará disponível na tela para visão do jogador, através dela será possível a interação com o jogo, levando diversão ao jogador. Segundo Lima (2013), “diferentemente das interfaces de usuário de software e páginas da internet, as interfaces de usuário dos jogos devem levar o usuário a um estado de imersão. ” O jogador deverá ter sua concentração voltada exclusivamente ao jogo, sem que haja distrações do meio ao seu redor. “Ao mesmo tempo deve auxiliar o jogador a executar as tarefas dentro do jogo, sem interferir em sua experiência. ” No momento em que está se desenvolvendo um jogo deve dar uma atenção as cores que serão utilizadas, caso essas cores sejam muito fortes a visão do jogador ficará cansada de olhá-las por muitas horas, portanto ele irá enjoar do jogo facilmente, e não extrapolar nos efeitos, pois estes também podem ser cansativos a visão. É necessário saber qual o público em que o jogo será direcionado, caso sejam crianças, considerar as limitações que elas podem ter, como “realizar esquemas de controles muitos complexos”, colocar textos não muito extensos, com palavras de fácil entendimento e se atentar aos palavrões (ROGERS, 2013). 2.13 Heads-Up Display (HUD) Segundo Araújo (2015), “HUD é um conjunto de elementos gráficos projetados na tela para transmitir informações ao jogador durante a execução do jogo”, utilizado para dar um rápido feedback a ele, sem que desvie sua atenção. É de grande importância dar preferências aos hubs em forma de ícones, para demonstrar de maneira rápida e de fácil entendimento as informações do jogo, facilitando a rápida visão do jogador. Textos serão confusos de entender ao serem olhados de forma rápida, dar uma atenção a fonte e a cor que serão usadas, posicionar os hubs na tela de maneia que facilitará a rápida visão do jogador, demostrar apenas informações relevantes para cada situação do jogo.
  • 37. 37 2.14 Jogadores Jogadores ou Gamers, são as pessoas que jogam videogame e buscam conhecimentos sobre jogos. Têm paixão por qualquer jogo independente do gráfico ou da época que foram lançados, trocam qualquer diversão por um jogo e passam horas de seus dias jogando. Mas ser um jogador não é apenas um hobby ou diversão, pode ser uma profissão. Existe a profissão de testador de jogos, em que a função deste profissional é identificar se existem falhas nos jogos, como nas legendas, dublagens e traduções dos manuais. Os jogos podem trazer benefícios as pessoas que os praticam, principalmente jogos de tiros em primeira e terceira pessoa (KING, 2002). Desenvolvem habilidades de atenção, motora, de percepção e estímulos visuais e auditivos (CHEN, 2015; GREEN, 2003). Segundo Boot et al. (2008), as pessoas que jogam videogames, possuem uma maior capacidade de realizar múltiplas tarefas de forma mais flexível, desenvolvendo rápidas estratégias de controle de ação, rápidas adaptações as mudanças constantes da vida e capacidade de controle cognitivo. Segundo Clua (2014), os jogos digitais estão crescendo cada vez mais, conquistando uma parte considerável no setor de entretenimento, este segmento é de grande importância para o impulsionar e financiar as novas tecnologias da computação. Tal crescimento se dá, devido aumento continuo do número de jogadores, independente do sexo, idade ou perfil financeiro. Atualmente os jogos são classificados como um tipo de mídia, porém, quando comparado as mídias tradicionais, o envolvimento do usuário é bastante intenso devido sua interatividade, além de criar realidades alternativas que estimulam pessoas desde a infância até a vida adulta a praticarem atividades que poderiam ser cansativas, caso não fossem um tipo de jogo. Desta forma, foi estabelecido que a implantação dos jogos cujo objetivo está em colocar o jogador em ambientes educativos, simulações e treinamentos, é uma significativa ramificação usada para fins associados a saúde, juntamente com
  • 38. 38 dispositivos que captam movimentos, estão sendo usados para técnicas terapêuticas e físico-motoras, se tornando uma tendência nesta área. Segundo o NPD (2015), a população brasileira tem o videogame como uma atividade favorita. O analista da indústria NPD, Callahan (2015), afirma, “o Brasil é claramente um mercado de jogos emergente, que está repleto de potencial para um crescimento ainda maior. ” Segundo a revista pesquisa game brasil (2016), foi realizada uma pesquisa com o público brasileiro onde foram colhidas informações a respeito de jogos eletrônicos. Os resultados foram que 74,7% das pessoas entrevistadas jogam videogames, sendo 52,6% desse público, mulheres, a maioria dos jogadores estão na faixa etária entre 16 a 34 anos, a plataforma mais usada são os smartphones (77,2%), seguidos dos computadores (66,9%) e consoles (45,7%). O mercado de jogos está em ascensão não apenas no Brasil, existem diversos outros países do mundo que parte de suas receitas são arrecadadas graças aos jogos. Na Tabela 1, estão os países que mais arrecadam no mundo com receitas de jogos. Tabela 1: Países que arrecadam com o mercado de jogos Fonte: Newzoo (2016)
  • 39. 39 Segundo o Newzoo (2016), o Brasil é o décimo segundo país de uma lista de vinte países que mais arrecadam com mercado de games no mundo, seu mercado está com um valor equivalente a US$ 1,3 bilhões, está atrás de países como China, EUA e Japão e na frente de países como Austrália e México. 2.15 Engenharia de Software A engenharia de software é uma metodologia de desenvolvimento e manutenção, que visa a organização, a produtividade e a qualidade dos sistemas. Segundo Carvalho e Chiossi (2001), a engenharia de software acompanha o sistema a ser desenvolvido desde sua fase de percepção até o momento em que ele se torna um produto, utilizando metodologias, ferramentas e métodos durante todo o processo de desenvolvimento. Para Maffeo (1992), a engenharia de software é uma área interdiciplinar que procura abordar de maneira sistemática processos de implantação, manutenção e construção de um software, assegurando qualidade e o custo, respeitando os prazos previamente estipulados. Para o processo de desenvolvimento de um sistema de software é necessário um conjunto de atividades a serem realizadas. Dessa forma, é de suma importância encontrar os erros existentes no sistema, procurar desenvolvê-lo da forma mais clara possível e envolver o usuário diretamente no processo, para que este acompanhe toda a fase de criação do sistema e obtenha o produto final dentro do esperado. Dentre as tarefas do engenheiro de software, existe a engenharia de requisitos, onde devem ser criadas as funcionalidades que devem existir em um sistema e as restrições, de acordo com a necessidade do usuário. Os requisitos são considerados decisórios para o fracasso ou sucesso de um sistema de software. Segundo Falbo (2012), “requisitos são a base para estimativas, modelagem, projeto, implementação, testes e até mesmo para a manutenção. Portanto, estão presentes ao longo de todo o ciclo de vida de um software. ”
  • 40. 40 Posteriormente realizado o levantamento de requisitos, é criado um documento, denominado documento de requisitos, ao qual define as funcionalidades e os atributos de qualidade que irão existir no sistema de software. Este documento deve conter todos os requisitos funcionais e não-funcionais do sistema, e deve ser elaborado de forma completa e com a melhor compreensão e legibilidade dos requisitos possível, evitando erros de interpretação e divergências entre a documentação e a implementação do software (TURINE; MASIERO, 1996). 2.16 Casos de uso Segundo Stadzisz (2002), “os casos de uso de um projeto de software são descritos na linguagem UML através de Diagramas de Casos de Uso. Estes diagramas utilizam como primitivas Atores, Casos de Uso e Relacionamentos. ” O diagrama de caso de uso é criado para expressar as funcionalidades que existirão em um sistema, através de um conjunto de atores e casos de usos ao serem relacionados, sendo uma ótima ferramenta para realizar o levantamento dos requisitos funcionais do sistema. Atores Os atores “são representações de entidades externas, mas que interagem com o sistema durante sua execução. Basicamente, a interação de atores com o sistema se dá através de comunicações (troca de mensagens) ” (Stadzisz, 2002). Essas entidades externas podem ser; pessoas, dispositivos, hardwares e software. Caso de Uso O Caso de Uso representa uma aplicação ou uso completo de um software, são as funcionalidades ou tarefas realizadas pelo ator.
  • 41. 41 “A especificação das funcionalidades de um sistema na forma de casos de uso permite uma visão mais abrangente das aplicações do sistema favorizando um levantamento mais completo e preciso de suas atribuições” (Stadzisz, 2002). Relacionamentos entre Atores e Casos de Uso É o que interliga um ator a um caso de uso. Segundo Stadzisz (2002), “Os relacionamentos em um diagrama de casos de uso podem envolver dois atores, dois casos de uso ou um ator e um caso de uso.
  • 42. 42 3 METODOLOGIA O processo de desenvolvimento do jogo foi dividido em três etapas para agilizar sua produção, são elas:  Game Design;  Arte;  Programação. Na etapa de Game Design, serão estabelecidos os detalhes do jogo através de brainstormings, onde os membros do projeto irão opinar sobre os aspectos gráficos e a programação do jogo para dar início ao desenvolvimento do Game Design Document. Foi estabelecido que o jogo será no estilo shot’ em Up 2D, segundo Rogers (2013), se trata de um modelo de jogo onde é apresentada uma tela em que o personagem que costuma ser um carro, avião, entre outros veículos que “sobem a tela”, vão em direção contraria aos obstáculos que se deslocam na direção do veículo. Definido o estilo de jogo, serão estabelecidas as características que definem o seu público alvo, por se tratar de um estilo de jogo antigo e que não é muito aplicado atualmente, o principal foco do jogo serão os jogadores entre 18 e 25 anos que vivenciaram o estilo de game play na infância. Além disso, nesta etapa é decidido todo o enredo, o cenário, os personagens, o gameplay dentre outras características e ações que existirão dentro do jogo. Na etapa de Arte, serão tratadas todas as informações referentes à parte gráfica, criando os elementos que serão utilizados no jogo, como o personagem que no jogo será um avião, os inimigos, o cenário que será futurista e todos as outras características visuais e auditivas que estarão presentes no jogo. Na etapa de programação, será desenvolvida a mecânica presente no jogo utilizando a linguagem de programação orientada a objetos CSharp, seguindo as definições
  • 43. 43 estabelecidas no Game Design Document e implementando desde a movimentação do personagem, até as regras físicas necessárias. A documentação irá acompanhar todas as outras etapas, tendo início na produção do Game Design Document, documento base para o desenvolvimento, e evoluindo de acordo com o progresso do restante do projeto, relatando os resultados da aplicação de cada etapa. O resultado final será uma versão demonstrativa da fase de um jogo, em que o tempo dela será determinado através da pontuação de mil pontos. Esta pontuação deverá ser alcançada no decorrer da fase. O personagem principal irá atirar nos inimigos destruindo-os e conquistando um ponto a cada inimigo destruído, estes pontos serão acumulados na pontuação do jogador até alcançar um total de mil pontos, chegando ao final da fase.
  • 44. 44 4 DESENVOLVIMENTO Neste capitulo será descrito o desenvolvimento do jogo: todo processo de elaboração, pré-produção, produção e pós-produção, definição do gênero, criação da história, Game Design Document, Level Design, arte, animação e programação. 4.1 Processo de Elaboração de um Jogo Ao se elaborar um jogo, podemos fazer uma analogia de todo o processo com o desenvolvimento de um software, pois em ambos temos a presença de uma instância de métodos e técnicas a serem realizadas (PFLEEGER, 2004). Para realizar o processo de desenvolvimento de um jogo serão realizadas as etapas a seguir: 1. Game Design Document; 2. Arte/Animação; 3. Programação. O processo de elaboração de um jogo é multidisciplinar, ou seja, abrange conhecimentos de profissionais das mais diversas áreas e exige uma equipe de funcionários capacitados em sua área de atuação. Entre as áreas de atuações subdivididas no processo de elaboração, é importante destacar; que a equipe de Game Designers é responsável pela elaboração do jogo, a equipe de arte é responsável pela apresentação visual (layout) e a equipe de programação é responsável por desenvolver e implementar toda a parte lógica do jogo. (FIGUEIREDO, R.; FIGUEIREDO, C., 2011).
  • 45. 45 4.2 Pré-produção A etapa de pré-produção teve início a partir das ideias de se desenvolver um jogo, inicialmente foram pensados os aspectos que iriam existir no jogo, o público alvo ao qual será dirigido, o gênero e o tema. Posteriormente, foi feito o planejamento do desenvolvimento de forma escrita visando obter um guia na etapa de produção do jogo, para isso foi desenvolvido o Game Design Document, que por se tratar de um documento de uma versão demonstrativa não possui grande complexidade e extensão. Segundo Novak (2010), criar ideias para um novo jogo é difícil, mas o maior desafio é escolher quais ideias conjuntamente conciliarão em um jogo de sucesso. A pré- produção do jogo deve ser estabelecida com precisão, pois caso ela não seja bem- feita, será necessário muito trabalho para fazer com que o jogo seja divertido e de sucesso. Antes de começar a produção do jogo foram tomadas algumas decisões iniciais necessárias no Game Design Document, o jogo tem como plataforma os computadores, o público-alvo são jogadores entre 18 e 25 anos, o gênero escolhido foi o Shot’em up com o tema voltado para a guerra entre civilizações de planetas diferentes e o cenário é o planeta Terra destruído, onde o jogo se passa no ar, mostrando uma guerra entre aeronaves. Em seguida foi decidido também, a história do jogo, os personagens, os objetivos, os ataques, condições de derrota e vitorias dentre outros aspectos que foram redigidos no Game Design Document. 4.2.1 Definição do gênero Esse estilo de jogo geralmente não possui muita história, seu foco é derrotar o inimigo e não ser derrotado, costumam usar bastante velocidade ao realizar os movimentos e proporcionar adrenalina. Segundo Rogers (2013), jogos de ação exigem coordenação nas mãos e nos olhos para serem jogados. Esse gênero se divide em vários subgêneros:  Jogos de ação arcade se baseiam no estilo dos primeiros jogos arcades, em
  • 46. 46 que o foco era a pontuação, um tempo curto de jogo e um game play de reflexos.  Jogos de plataforma são jogos em que o personagem geralmente salta em plataformas desafiadoras derrotando inimigos, desviando dos obstáculos e recolhendo itens.  Jogos de ação furtiva são jogos em que o jogador não deve lutar diretamente com os inimigos evitando enfrenta-los diretamente.  Jogos de luta são jogos em que os oponentes se enfrentam com o objetivo de atacar um ao outro usando golpes. Os personagens podem ser controlados por pessoas ou pela IA usado no próprio jogo.  Jogos Beat’ em up são jogos em que o jogador luta contra muitos inimigos que vão aumentando a quantidade à medida que a dificuldade do jogo aumenta. Gênero RPG Jogos de RPG ou interpretação de papeis se baseiam no jogo Dungeons & Dragons, que era jogado usando lápis e papel. Esse gênero de jogo possui heróis, monstros, um mundo de fantasias, os personagens são bastante interativos e podem realizar variadas ações dentro do jogo. Gênero Estratégia Os jogos desse gênero exigem planejamento, concentração e pensamento. Eles se originaram dos clássicos jogos de tabuleiro, como o de xadrez, onde o jogador deve atingir suas metas ao fazer a administração de um conjunto limitado de recursos (NOVAK, 2010). Gênero Simulação Jogos de simulação expressam no jogo coisas similares ao mundo real, representam veículos, construções, sistemas, vidas artificiais entre outros. Esse gênero se divide em vários subgêneros:
  • 47. 47  Simulação de vida, jogo voltado para “construção e desenvolvimento de relacionamentos com formas de vida artificiais. The Sims e Princess Maker são simuladores de vida” (ROGERS, 2013).  Simulação de veículos, nesses jogos são simulados veículos de pilotagem, desde veículos pequenos (moto) a veículos maiores (espaçonave). A ideia é fazer com que a direção do veículo seja o mais próximo possível da experiência no mundo real.  Simulação esportiva, faz com que o jogador sinta como se fosse o integrante de time de futebol mundialmente por exemplo, ele traz a experiência e a sensação de representar atletas profissionais que possuem características dos atletas da vida real, onde participam de campeonatos concorrendo a medalhas, troféus e título de melhor jogador do mundo. Gênero Shoter Segundo Rogers (2013), nesse gênero “o jogador foca primeiramente em atirar projeteis em inimigos. Mesmo sendo rápidos e orientados ao reflexo, como os jogos de ação, esse gênero evoluiu ao incluir vários subgêneros que se distinguem pela divisão da câmera”, são eles:  First person shooter, se trata de um jogo onde a visão da câmera é limitante.  Shot’ em ups, neste estilo de jogo, o jogador atira em muitos inimigos enquanto evita perigos. Normalmente o avatar usado nele é um veículo e a câmera pode se localizar em diferentes ângulos no jogo.  Third person shoter, nesse subgênero a câmera é posicionada por trás do jogador proporcionando uma visão parcial ou total do que está acontecendo ao seu redor, mas a ênfase do gameplay é dada aos tiros. 4.2.2 Criando a história Para criação de um jogo, é necessário haver uma sequência na ordem dos acontecimentos dos eventos, ou seja, uma narrativa. A história normalmente é usada em meios de entretenimentos tradicionais e em muitos jogos, embora não seja
  • 48. 48 essencial para proporcionar um jogo envolvente, satisfatório e popular. O objetivo de um jogo é proporcionar diversão aos jogadores e independente de qual é a sua história ele deve seguir a ordem cronológica de ter um início, um meio e um final (NOVAK, 2010, ROGERS, 2013). Rogers (2013), criou o “triangulo da esquisitice” em que as escolhas são: personagens, mundo e atividades, e diz que para a criação da história do jogo só deve-se escolher um vértice de esquisitice para usar nela e deve ser tomado bastante cuidado quanto a isso, pois podem ser inseridos coisas em excesso na história do jogo tornando-a cansativa. Para elaborar a história do jogo foram realizados brainstormings entre os membros do trabalho, onde foi decidido primeiramente que o jogo se passaria em um momento futurístico, pois tal período permite a utilização de inúmeras características inexistentes e desfaz uma série de limitações causadas por características de ambientes do passado, além disso, o jogo trataria de uma guerra entre naves. Por fim, foi decidido que haveria uma civilização de outro planeta que ao entrar em contato com a população da Terra, iria explorar seus recursos e após algum tempo de tranquilidade daria início a uma grande guerra. Os extraterrestres seriam do planeta Júpiter, inicialmente eles trocavam tecnologias e recursos com a Terra, porém após o planeta deles ser devastado por uma chuva de meteoros, sem eles terem onde ficar, invadiram a Terra para poder habitá-la, dando início a uma enorme guerra. Após um certo tempo de guerra, o planeta Terra já destruído e sem muitos recursos, para se defender, confia a vitória sobre os jupterianos nas mãos de uma única pessoa, o melhor piloto de aeronaves que existia entre eles. Desenvolvem uma aeronave com as melhores tecnologias e armamentos que haviam restado na Terra, e mandam o piloto para o combate, neste cenário que se passará o jogo.
  • 49. 49 4.2.3 Game Design Document O Game Design Document (GDD), é um documento redigido pelo Game Designer para os membros da equipe de desenvolvimento do jogo entenderem sua história e mecânica. Segundo Rogers (2013), criar um jogo é como fazer chili3, é preciso uma receita, que seria a documentação, ingredientes certos, que seriam as pessoas e as ferramentas necessárias para criação do jogo e tempo de preparo, este tempo no jogo seria usado para além de sua criação, correções de bugs, arte, design e correções no código. O Game Design Document é de extrema importância para o desenvolvimento de um jogo, todos os membros da equipe de desenvolvimento se referenciarão nele durante a etapa de produção. Segue no Anexo A o GDD do jogo ao qual foi desenvolvido, para um estudo mais aprofundado. 4.3 Produção A etapa de produção foi dividida em duas partes, na primeira parte foram criadas as partes artísticas do jogo, ou seja, toda a parte visual e auditiva, desde o cenário, personagens, munições, desenho de capa do jogo até os efeitos sonoros. Na segunda parte foi realizada a programação do jogo, envolvendo toda a mecânica utilizada, inteligência artificial e regras de física, fazendo com que o jogo fique completamente funcional. ³ Chili é um prato tradicional da culinária mexicana e texana feito com feijão, carne moída, tomate e pimenta.
  • 50. 50 4.3.1 Arte/Animação Na parte de arte e animação, os artistas e animadores trabalham em conjunto para alcançarem os objetivos finais, todos os personagens com seus devidos movimentos. Primeiramente, são desenhados os rascunhos dos personagens e do cenário, conforme o que foi escrito no roteiro produzido pelo game design. Após feitos os rascunhos, os artistas fazem uma pesquisa em diversas fontes para alcançarem o melhor resultado para as cores, estilos, texturas e elementos que serão utilizados para criação das imagens que existirão no jogo. “Uma vez realizado esse trabalho, o resultado do mesmo é submetido aos animadores, os quais digitalizam em 2D ou 3D as imagens produzidas pelos artistas” (ALMEIDA; MEDEIROS, 2007), usufruindo dos recursos dos softwares adequados para esta função. As imagens ganham movimentos e animações, seguindo uma sequência de frames 4que são arquivados e testados pela equipe de programadores. Inicialmente, antes de iniciar a modelagem, foi produzido um esboço das naves, tendo sido desenhados à mão, em seguida foram modeladas as aeronaves e os mísseis utilizando a ferramenta Blender, sendo esta escolhida pelos membros da equipe por haver uma familiaridade e pelo fato de possuir mais fontes de pesquisa, além de ser um software open source. As funções mais utilizadas durante o processo de criação no Blender foram: “extrude”, “scale” e “subdivision surface”, que seguem simultaneamente como na numeração da Figura 3. 4 Quadro ou imagens sequenciais de um produto audiovisual.
  • 51. 51 Figura 3: Funções utilizadas no Blender Fonte: Elaborada pelos autores A ferramenta extrude é de extrema importância, pois ela permite criar paralelepípedos de retângulos e cilindros de círculos. É uma ferramenta simples, direta e fácil de usar, mas muito poderosa, já a ferramenta Scale serve para dimensionar o objeto ou a seleção desejada. Subdivision surface, serve para subdividir a superfície dos objetos tornando-os mais suavizados. Juntamente com as ferramentas extrude e scale, servem como base para qualquer modelagem. Após a modelagem ser concluída como mostra a Figura 4, foi preciso pintar a textura dos objetos. Para isso, foi necessário selecionar a área ou o objeto para modificar as cores de acordo com o resultado desejado.
  • 52. 52 Figura 4: Modelagem Fonte: Elaborada pelos autores Para o desenvolvimento do cenário, foram utilizadas imagens do Google Earth do mapa da cidade de Ipatinga, estado Minas Gerais, com algumas alterações, que seriam desenhos de nuvens nas imagens, como retratado na Figura 5. Assim o tempo que seria usado para a produção de um cenário desde o zero, foi melhor aproveitado em outras etapas do desenvolvimento.
  • 53. 53 Figura 5: Cenário Fonte: Elaborada pelos autores Antes de aparecer a tela inicial do jogo, é apresentada uma animação padrão do Unity como tela de carregamento, como mostra a Figura 6. Figura 6: Tela de carregamento Fonte: Elaborada pelos autores
  • 54. 54 Para tela inicial do jogo, como apresenta a Figura 7, foi utilizada uma imagem da Terra como plano de fundo, foi inserido na parte superior da imagem o título do jogo e o desenho de duas naves, que seriam respectivamente a nave principal (jogador) e a nave inimiga e abaixo forneceu-se uma opção de iniciar o jogo apertando a tecla Espaço. Após selecionar a tecla “Espaço” o jogo é iniciado e não é possível pausá-lo, é necessário perder ou ganhar para sair, ou pressionar as teclas ALT + F4. Figura 7: Menu do jogo Fonte: Elaborada pelos autores
  • 55. 55 Na tela de combate, apresentada na Figura 8, é realizado o confronto entre a aeronave do jogador principal (nave Mãe) e as aeronaves inimigas (Jupterianas). Na parte inferior é apresentada a aeronave do jogador atirando um míssil na nave inimiga, que está localizada na parte superior da imagem. Figura 8: Tela de combate Fonte: Elaborada pelos autores A HUD do jogo, apresentada na Figura 9, é representada pelas vidas do personagem principal, que se inicia com cinco vidas, e os pontos do jogador, que são obtidos ao derrotar as aeronaves inimigas.
  • 56. 56 Figura 9: HUD Fonte: Elaborada pelos autores Na Figura 10, está representada a aeronave inimiga, como foi sendo aperfeiçoada no decorrer da modelagem até o resultado final. Figura 10: Aeronave Inimiga Fonte: Elaborada pelos autores
  • 57. 57 Figura 11: Turbina Inimigo Na Figura 11, representa a modelagem da turbina traseira da aeronave inimiga, na qual foi inserida apenas uma. Na Figura 12, está representada a aeronave principal, como foi sendo aperfeiçoada no decorrer da modelagem até o resultado final. Figura 12: Aeronave principal Fonte: Elaborada pelos autores
  • 58. 58 Figura 13: Aeronave principal - traseira Fonte: Elaborada pelos autores Na Figura 13, está representada a parte traseira da aeronave principal, e nas Figuras 14 e 15, estão representadas a modelagem do míssil que será usado no jogo como uma forma de defesa da aeronave principal. Figura 14: Míssil Modelagem Fonte: Elaborada pelos autores
  • 59. 59 Figura 15: Míssil Fonte: Elaborada pelos autores Figura 16: Míssil encaixado na aeronave Fonte: Elaborada pelos autores Na Figura 16, após feita a modelagem dos misseis, eles foram encaixados na aeronave principal debaixo de suas duas asas, sendo três misseis idênticos de cada lado. Foram usados também nas aeronaves inimigas debaixo de suas asas, dois misseis de cada lado, porém um maior que o outro, como representa a Figura 17.
  • 60. 60 Para a modelagem da aeronave inimiga, foi criado um outro modelo de míssil, que foi inserido em cima de cada uma de suas asas, dois de cada lado, sendo um maior que o outro, como mostra a Figura 17 e na Figura 18 é apresentado o míssil quando estava sendo confeccionado. Figura 17: Míssil Inimigo Fonte: Elaborada pelos autores Figura 18: Míssil Inimigo 2 Fonte: Elaborada pelos autores Quando o jogador perder o jogo será apresentada uma tela como na Figura 19.
  • 61. 61 Figura 19: Game Over Fonte: Elaborada pelos autores Quando o jogador vencer o jogo será apresentada uma tela como na Figura 20. Figura 20: Vitória Fonte: Elaborada pelos autores
  • 62. 62 4.3.2 Programação A equipe de programadores é responsável por construir toda mecânica do jogo, juntamente “com a programação da interface do usuário, a codificação dos arquivos de áudio, a programação das missões e da rede cliente/servidor, assim como o desenvolvimento da Inteligência Artificial e dos scripts de linguagem” (ALMEIDA; MEDEIROS, 2007). A programação é responsável por consolidar um projeto em um produto, usando os códigos juntamente com a arte, a música e a jogabilidade, e transformando em um jogo, onde são criados os movimentos dos personagens, as falas, ações, músicas, vibrações, ruídos dentre outros aspectos que compõem um jogo. Para a etapa de programação inicialmente foi preciso fazer a escolha da linguagem de programação que seria usada no desenvolvimento do jogo, após algumas pesquisas ficou decidido o uso da linguagem CSharp pelo fato de a linguagem possuir maior quantidade de informações e conteúdo para estudo. Após estabelecer a linguagem de programação utilizada, deu início à etapa de programação, a partir do script responsável pela mecânica do jogador. 4.3.2.1 Jogador No script “Jogador” foi implementado primeiramente a variável “velocidade” recebendo um valor que posteriormente seria calculado dentro de determinado eixo (x, y) formando assim a movimentação do personagem, em seguida foram implementadas as variáveis “vida” e “pontos” responsáveis por receber o valor inicial dos elementos de HUD do jogo. O GameObject “tiro” foi implementado para que fosse possível atribuir o míssil modelado ao jogador para que posteriormente ao apertar determinada tecla o personagem disparasse um projetil em direção ao inimigo. Foram então programados os limites de tela para que o personagem só se movimentasse dentro do espaço permitido, evitando que o mesmo saísse do campo de visão do jogador.
  • 63. 63 A função “OnTriggerEnter2D” foi utilizada para garantir que ao entrar em contato com o objeto sinalizado como um inimigo fosse retirado um ponto do total de vidas do jogador e ao entrar em contato cinco vezes com um inimigo o jogador fosse direcionado para uma tela de fim de jogo, onde poderia reiniciar a partida ou encerrá- la. Por fim foram atribuídos ao jogador pela função “OnGUI” os elementos de HUD posicionando-os na tela. 4.3.2.2 Tiro No script “tiro_nave” primeiro foi implementado a variável “velocidade_tiro” que recebe o valor responsável por movimentar o tiro no cenário, em seguida o Rigidbody2D “rb” recebe o valor instanciado em “velocidade_tiro” e faz com que o tiro se movimente somente no eixo “Y”. A função “OnBecameInvisible” faz com que o projetil ao sair do campo de visão do jogador sem entrar em contato com nenhum outro elemento, se auto destrua. Por fim a função “OnTriggerEnter2D” faz com que o projetil se destrua ao entrar em contato com um inimigo. 4.3.2.3 Inimigo No script “inimigo” a variável “velocidade” recebe o valor que será calculado pelo Rigidbody2D “rb” para assim fazer com que o inimigo se desloque no eixo “Y”. Foi chamada a classe Jogador para que fosse possível utilizar elementos presentes no script “Jogador”. O método “if” faz com que caso o inimigo tenha saído do campo de visão do jogador sem entrar em contato com nenhum outro elemento ele se auto destrua. Já a função “OnTriggerEnter2D” destrói o inimigo caso ele entre em contato com o jogador, e destrói o inimigo caso ele entre em contato com um projetil, somando um ponto à variável “pontos” que foi importada da classe “Jogador”. Por fim caso a variável “pontos” tenha somado mil pontos o jogador é direcionado para a tela de vitória.
  • 64. 64 4.3.2.4 Clonador No script “clonador” o GameObject “inimigo” permite que o inimigo seja atribuído ao clonador, para que este posteriormente crie copias do inimigo em posições diferentes dentro do eixo “X”, enquanto a variável “spawTime” define o tempo de intervalo entre a criação de uma cópia e outra. O método “InvokeRepeating” dá início à clonagem, em seguida a função “addEnemy” seleciona um ponto aleatório dentro do clonador e cria um clone do inimigo. 4.3.2.5 Menu principal, Tela de vitória e Tela de derrota No script “menu” o método “if” foi implementado para que quando a tecla espaço fosse pressionada o usuário fosse direcionado para a cena “level1”, dando início à partida. No script “win_script” foi chamada a classe “Jogador” para que fosse possível importar suas funções, O método “if” direciona o usuário para a cena “menu” após pressionar a tecla espaço, em seguida a variável “pontos” importada da classe “Jogador” foi igualada a zero. O script “restart_button” chama a classe “Jogador” para que fossem importadas suas funções, ao apertar a tecla espaço o usuário é direcionado para a cena “level1”, em seguida a variável importada “pontos” é igualada a zero. 4.3.3 Level Design O Level Design é responsável pela construção dos mundos que irão compor o jogo, realizando a integração de todos elementos que serão apresentados, como, cenários, personagens, objetos, power ups, narrativas etc. Segundo Rouse (2010), para ser um Level Design é necessário realizar alguns princípios para que o jogador se mantenha imerso no jogo, primeiramente, os níveis devem ser possíveis de serem concluídos, parece algo óbvio, porém iniciantes muitas vezes criam jogos com erros que deixam o jogador preso no nível. São necessários marcos para que o jogador saiba suas conquistas e caminhos, para que ele não se
  • 65. 65 perca na fase. Equilíbrio de dificuldades, esse equilíbrio deve existir em todos os níveis para equilibrar as dificuldades das fases, e ir aumentando gradativamente a cada nível. Ter clareza ao criar as áreas de navegação no jogo e mapas. Deixar o jogador interagir com o jogo dando a ele opção de escolhas, ele sentirá que faz parte da história e que suas ações geram consequências. Durante o processo de desenvolvimento do level design, primeiramente foram importados todos os elementos que seriam utilizados, para dentro do motor gráfico Unity 3D, após isso a criação do level design foi dividida em cenas que juntas posteriormente formariam o jogo. 4.3.3.1 Cena Menu Primeiramente foi implementado o texto presente na tela, a seguir a imagem de capa foi inserida na cena e posicionada juntamente com o texto para conseguir um melhor aproveitamento e visibilidade, por fim foi implementado o áudio correspondente à cena. 4.3.3.2 Cena Level 1 Nessa cena primeiramente foi posicionado o cenário para que todos os outros elementos fossem posicionados em cima do mesmo, logo após foi posicionado o player, o clonador foi colocado na cena em seguida, tendo recebido o objeto do inimigo para que o mesmo fosse clonado durante a execução do jogo diminuindo o consumo excessivo de processamento. O objeto do míssil foi atribuído ao player, para que o ponto de início sempre partisse do ponto em que o personagem se encontrava no momento do disparo. 4.3.3.3 Cena Win e Game Over As cenas de vitória e derrota seguiram o mesmo padrão de informações, foi atribuído um fundo na cor preta, os textos informando ao usuário os processos a se seguir foram alinhados dentro da cena, para concluir, foi utilizado uma cópia do objeto “Player” na cena de game over para representar a nave do personagem derrotada.
  • 66. 66 4.3.4 Diagrama de caso de uso A Figura 21 demonstra as atividades de um ator, no caso o personagem principal, dentro do ambiente do jogo, detalha suas funcionalidades e o que o jogador poderá fazer dentro do jogo. Figura 21: Diagrama de caso de uso Fonte: Elaborada pelos autores Os movimentos que o personagem pode realizar, são para as laterais, direita e esquerda, para cima e para baixo, ele também pode se esquivar das aeronaves inimigas e atacá-las, utilizando misseis. 4.4 Pós-Produção Nesta etapa foram realizados os testes do jogo, para serem feitas as devidas correções de bugs, quando encontrado algum problema na execução ou estética do jogo este era corrigido, visando aprimorar a experiência do jogador com o gameplay.
  • 67. 67 Foi encontrado um bug em que ao disparar uma série de misseis toda a cena recebia um tom amarelado, destoando de todo o conteúdo do jogo, neste caso foi necessário remover o componente que fazia essa iluminação após o disparo de um míssil.
  • 68. 68 5 CONSIDERAÇÕES FINAIS Desenvolver jogos exige de seus idealizadores pensamento amplo para alcançar resultados satisfatórios, se faz necessário sair de padrões e gostos pessoais partindo para o ponto de vista do público alvo, visando o que os jogadores esperam atualmente, mantendo sempre o limite entre aquilo que deve ser atendido nas expectativas do jogador e o que deve ser descartado. O Game Design Document permite à equipe de desenvolvimento maior confiabilidade no processo de criação do jogo, se provando extremamente necessário para alcançar o resultado final imaginado pelo designer. Por isso é preciso extrema clareza durante a elaboração do GDD, tornando o entendimento as ideias a serem aplicadas de rápido e fácil entendimento. Durante as etapas de arte e programação é de suma importância a comunicação e interação de toda a equipe, visando em ambas etapas que os pensamentos do desgner seja passado de maneira clara a equipe e todos os membros tenham a mesma ideia para que o trabalho desenvolvido finalize como esperado. A implementação de uma versão completa de um jogo permite inúmeras possibilidades para trabalhos futuros, onde poderão ser implementadas funções não abordadas ou aprofundadas neste projeto como otimização da interface, outros elementos de HUD, power-ups, outras fases, efeitos sonoros mais complexos, mais opções no menu, como troca de personagens, ajuda, entre uma infinidade de funcionalidades encontradas nas versões completas dos jogos.
  • 69. 69
  • 70. 70 REFERÊNCIAS ALMEIDA, Janiel Henrique Pinheiro de; MEDEIROS, Wander Klaysson Aparecido. Mobile games: etapas de desenvolvimento e especificidades. 2007. ALVES, Flora. Gamification: Como criar experiências de aprendizagem engajadoras. Um guia completo: do conceito à pratica. DVS Editora, 2014. AMORIN, A. A origem dos jogos eletrônicos. USP, 2006. ARAÚJO, Rafael Pereira de. Imersão e Heads-Up Displays (HUDs) em videogames. 2015. BATES, Bob; LAMOTHE, Andre. The game design: The art and business of creating games. Premier Press, 2001. BOOT, Walter R. et al. The effects of video game playing on attention, memory, and executive control. Acta psychologica, v. 129, n. 3, p. 387-398, 2008. BRASIL, GAME. Pesquisa Game Brasil 2016. 2015. BUENO, Henrique. Jogos em Unity: Desenvolvendo um jogo 2D multiplataforma. Disponível em <http://www.devmedia.com.br/jogos-em-unity-desenvolvendo-um- jogo-2d-multiplataforma/31522>. Acesso em: 28 de out. 2016. CÂMARA, Fábio. Dominando o Visual Studio .NET com C#. Florianópolis: VisualBooks, 2005. CÂNDIDO, Suzana Laino. A Matemática: uma construção da humanidade. In: MURRIE. 2. ed.Brasília, 2016. cap.9, p.11-38. CHANDLER, Heather M. Manual de produção de jogos digitais. Bookman Editora, 2009. CARVALHO, Ariadne MB. Rizzoni; CHIOSSI, Thelma C. dos Santos. Introdução à Engenharia de Software. Campinas: Editora da Unicamp, 2001. CHEN, Rongrong; CHEN, Jing; LI, Li. Action Videogame Play Improves Visual Motor Control. Journal of vision, v. 15, n. 12, p. 42-42, 2015. CHRONISTER, James. Blender basic 3rd edition. 2009.
  • 71. 71 CHRISTOFOLI, Eduardo Pires. O Renascimento do 3D. Contemporânea, v. 9, n. 1, 2011. CLUA, Esteban Walter Gonzalez; BITTENCOURT, João Ricardo. Desenvolvimento de jogos 3D: concepção, design e programação. In: XXIV Jornadas de Atualização em Informática (JAI) Part of XXIV Congresso da Sociedade Brasileira de Computação. 2005. p. 22-29. CLUA, Esteban Walter Gonzalez. Jogos sérios aplicados a saúde. Journal of Health Informatics, v. 6, 2014. DE OLIVEIRA, Thiago HB et al. Introdução a Modelagem 3D com Blender 3D. Revista da Escola Regional de Informática, v. 2, n. 2, p. 202-209, 2013. DOMINGUES, Delmar Galisi. Protótipos para a criação de jogos digitais: aplicações no ensino de design de games. 2011. Tese de Doutorado. Tese (Doutorado) -Pontifícia Universidade Católica do Rio de Janeiro, Departamento de Artes e Design. FALBO, Ricardo de Almeida. Engenharia de Requisitos. Universidade Federal do Espírito Santo, p. 5, 2012. FERREIRA, Luiz Henrique. Desenvolvimento de jogos eletrônicos utilizando a tecnologia unity, 2015, p.70. (Bacharelado de Sistema de Informação) - Centro universitário de Araraquara – Uniara departamento de ciências da administração e tecnologia, Araraquara. FIGUEIREDO, Roberto T., FIGUEIREDO, Carla B. C. (2011) WarGrafos – Jogo para auxílio na aprendizagem da disciplina de Teoria dos Grafos. Artigo publicado no Simpósio Brasileiro de Games e Entretenimento Digital. Anais do Evento. Salvador, 2011. FILHO, Luiz. Introdução à linguagem C#. 2013. Disponível em <http://www.devmedia.com.br/introducao-a-linguagem-c/27711>. Acesso em: 27 de out. 2016. GREEN, C. Shawn; BAVELIER, Daphne. Action video game modifies visual selective attention. Nature, v. 423, n. 6939, p. 534-537, 2003. KAPP, Karl M. The gamification of learning and instruction: game-based methods and strategies for training and education. John Wiley & Sons, 2012.
  • 72. 72 KENT, Steven L. The ultimate history of videogames: from Pong to Pokemon – the story behind the craze that touched our lives and changed theworld. New York: Three River Press, 2001. KING G, Krzywinska T. ScreenPlay: Cinema/videogames/interfacings. London: Wallflower Press, 2002. KISHIMOTO, André. Inteligência artificial em jogos eletrônicos. Academic research about Artificial Intelligence for games, 2004. LEITE, Leonardo Cardarelli. Jogos eletrônicos multi-plataforma. 2006. Tese de Doutorado. PUC-Rio. LIMA, Marlon Jonas de Oliveira. Pesquisa e desenvolvimento da interface de um jogo para a plataforma android. 2013. p.51. (Bacharelado de Ciências da computação) - Universidade Federal de Lavras. LIBARDI, Paula L.O.; BARBOSA, Vladimir. Métodos ágeis. 2010. LUSTOSA, Volney Gadelha. O estado da arte em inteligência artificial. Colabor@- A Revista Digital da CVA-RICESU, v. 2, n. 8, 2004. MACHADO, Henrique. Unity 3D: Introdução ao desenvolvimento de games. 2014. Disponível em < http://www.devmedia.com.br/unity-3d-introducao-ao- desenvolvimento-de-games/30653>. Acesso em: 27 de out. 2016. MAFFEO, Bruno; DA SILVA, Sólon Benayon. Engenharia de software e especificação de sistemas: soluções para quem necessita da informação para agir. 1992. MENDES, Cláudio Lúcio. Jogos eletrônicos: diversão, poder e subjetivação. Papirus Editora, 2006. MICROSOFT. Introdução à linguagem C# e ao .NET Framework. 2012. Disponível em <https://msdn.microsoft.com/pt-br/library/z1zx9t92.aspx>. Acesso em: 28 de out. 2016. MORAIS, Edson Ferreira de. Headshot: análise dos aspectos estéticos nos jogos de tiro com perspectiva de primeira pessoa. 2013. MORAES, Cícero; MIAMOTO, Paulo. Manual de Reconstrução Facial 3D Digital: Aplicações com Código Aberto e Software Livre -- 1. ed. -- Sinop-MT: Expressão Gráfica, 2015.