Download - TCC -Desenvolvimento de Jogos Eletrônicos Utilizando a Tecnologia Unity - Luis Henrique Ferreira
-
CENTRO UNIVERSITRIO DE ARARAQUARA - UNIARADEPARTAMENTO DE CINCIAS DA ADMINISTRAO E
TECNOLOGIA
SISTEMAS DE INFORMAO
LUIS HENRIQUE FERREIRA
DESENVOLVIMENTO DE JOGOS ELETRNICOSUTILIZANDO A TECNOLOGIA UNITY
ARARAQUARA
2015
-
LUIS HENRIQUE FERREIRA
DESENVOLVIMENTO DE JOGOS ELETRNICOSUTILIZANDO A TECNOLOGIA UNITY
Trabalho de Concluso de Curso (TCC) apre-sentado ao Departamento de Cincias da Admi-nistrao e Tecnologia, do Centro Universitriode Araraquara - UNIARA, como parte dos re-quisitos para obteno do ttulo de Bacharel emSistemas de Informao.
Orientador: Prof. Me. Saulo Svio Leite Santos
Araraquara
2015
-
TERMO DE AUTENTICIDADE
Eu, LUIS HENRIQUE FERREIRA, RG: XX.XXX.XXX-X, aluno regularmente matri-culado no Curso de SISTEMAS DE INFORMAO do Centro Universitrio de Araraquara- UNIARA, declaro ser o autor do texto apresentado como Trabalho de Concluso de Curso -TCC com o ttulo Desenvolvimento de Jogos Eletrnicos utilizando a tecnologia Unity.
Afirmo, tambm, ter seguido as normas da ABNT referentes s citaes textuais queutilizei e das quais eu no sou autor, dessa forma, creditando a autoria a seus verdadeiros autores(Lei n 9.610, 19/02/1998).
Atravs dessa declarao dou cincia de minha responsabilidade sobre o texto apresentadoe assumo qualquer responsabilidade por eventuais problemas legais, no tocante aos direitosautorais e originalidade do texto.
Araraquara, 03 de dezembro de 2014
Assinatura:
-
OFF OBSERVAES P/ DISPONIBILIZAO ONLINE
LUIS HENRIQUE FERREIRA
DESENVOLVIMENTO DE JOGOS ELETRNICOSUTILIZANDO A TECNOLOGIA UNITY
Para disponibilizao online foram removidos dados pessoais do autor no termo de autenticidadee a folha de aprovao.
Contato para informaes:
E-mail Principal: [email protected]. Secundrio: [email protected]
Linkedin: https://br.linkedin.com/in/luishenriqueferreira
-
Dedico este trabalho especialmente para a minha famlia,
ao meu Megadrive 16 bits e a minha fita Strider japonesa.
-
AGRADECIMENTOS
Primeiramente agradeo Deus por mais um dia de vida, sade e alegria. Os agradeci-mentos principais so direcionados minha me, ao meu pai por sempre estarem lembrandoque tenho um trabalho a terminar, a Maynara Mercaldi, ao Eric Delamodarme e ao Saulo porcontribuir na produo deste trabalho acadmico.
-
Talvez no tenha conseguido fazer o melhor,
mas lutei para que o melhor fosse feito.
No sou o que deveria ser, mas Graas a Deus,
no sou o que era antes.
(Marthin Luther King)
-
RESUMO
O presente trabalho tem como objetivo demonstrar a eficincia da tecnologia Unity como uminstrumento importante no desenvolvimento de jogos profissionais, atraentes e sofisticados. Autilizao desta diminui a necessidade de cdigos complexos, sendo possvel obter resultadossatisfatrios em curto prazo. Foi realizada uma breve anlise do mercado atual no entretenimentodos games e a sua expectativa para o futuro. Em seguida, so destacados e discutidos osprincipais processos no desenvolvimento de jogos, desde o planejamento da concepo inicialao lanamento do produto final. Sero apresentadas aqui a tecnologia Unity e as diversasferramentas utilizadas em conjunto neste trabalho, destacando-se suas funes para a modelagem3D, tratamento de imagem, gravao e edio de udio. Em seguida, sero demonstradas asdecises e metodologias tcnicas utilizadas na modelagem dos objetos, prottipo, texturizaoavanada, renderizao, iluminao, personagens, mecnica de combate, animaes, efeitossonoros e etc. Por fim, so apresentadas algumas qualidades encontradas na pratica deste estudo,assim como as limitaes do uso da tecnologia e as solues na criao de jogos mais atraentes.
Palavras-chave: Unity. games. 3D. jogos. desenvolvimento. entretenimento. metodologia.
-
ABSTRACT
The objective of the present work is to demonstrate the efficiency of technology Unity as animportant instrument in the development of professional gaming, attractive and sophisticated.The use of this reduces the need for complex codes, it is possible to obtain satisfactory resultsin the short term. There was a brief analysis of the current market in entertainment of gamesand their expectations for the future. Then are highlighted and discussed the main processesin the developments of games, from the planning of the initial design for the launch of thefinal product. Will be presented here, technology Unity and the various tools used togetherin this work, highlighting its functions for the 3D modeling, image processing, recording andediting of audio. Then will be demonstrated the decisions methodologies and techniques used inthe modeling of objects, prototype, advanced texturing, rendering, lighting, characters, combatmechanics, animations, sound effects, etc. Finally, there are some qualities found in practice thisstudy, as well as the limitations of the use of technology and solutions in the creation of gamesmore attractive.
Key-words: Unity. games. 3D. games. development. entertainment. methodology.
-
LISTA DE ILUSTRAES
Figura 1 Jogo de ao FPS - Left 4 Dead 2 . . . . . . . . . . . . . . . . . . . . . . . 19Figura 2 Jogo de ao em terceira pessoa - God of War 3 . . . . . . . . . . . . . . . 20Figura 3 Jogo de aventura - Full Throttle . . . . . . . . . . . . . . . . . . . . . . . . 20Figura 4 Jogo de RPG - Dungeon Siege 2 . . . . . . . . . . . . . . . . . . . . . . . . 21Figura 5 Simulador de caminho EuroTruck Simulator 2 . . . . . . . . . . . . . . . 22Figura 6 Jogo de estratgia - Company of Heroes . . . . . . . . . . . . . . . . . . . 23Figura 7 Historia de vingana do jogo Max Paine . . . . . . . . . . . . . . . . . . . 23Figura 8 Personagem Kratos de God of War II . . . . . . . . . . . . . . . . . . . . . 24Figura 9 Personagens Sonic e Mario . . . . . . . . . . . . . . . . . . . . . . . . . . 25Figura 10 Mundo do jogo Arma 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Figura 11 Jogo Silent Hill 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Figura 12 Prottipo ScareSupreme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Figura 13 Produo ScareSupreme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Figura 14 Minecraft na verso alfa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Figura 15 Minecraft verso beta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Figura 16 Loja online Steam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Figura 17 Interface do Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Figura 18 Formas tridimensionais com texturas . . . . . . . . . . . . . . . . . . . . . 34Figura 19 Interface do Jogo Rust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Figura 20 Lanterna editada no Maya para o projeto ScareSupreme . . . . . . . . . . . 37Figura 21 Esculpindo monstro no Mudbox para o projeto ScareSupreme . . . . . . . . 37Figura 22 Interface do Photoshop, editando mapa normal para o projeto ScareSupreme 38Figura 23 Interface do Audacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Figura 24 Interface do FL Studio 11 Demo . . . . . . . . . . . . . . . . . . . . . . . 39Figura 25 Modelagem dos corredores e salas . . . . . . . . . . . . . . . . . . . . . . 40Figura 26 Modelagem dos objetos mesa e galo . . . . . . . . . . . . . . . . . . . . . 41Figura 27 Modelagem de diversos objetos . . . . . . . . . . . . . . . . . . . . . . . . 41Figura 28 Mapeamento UV de diversos objetos . . . . . . . . . . . . . . . . . . . . . 42Figura 29 Mapeamento UV de Objetos . . . . . . . . . . . . . . . . . . . . . . . . . 42Figura 30 Planar Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Figura 31 Visualizao de texturas aplicadas no projeto . . . . . . . . . . . . . . . . . 43Figura 32 Visualizao das texturas importadas automaticamente para o Unity junta-
mente com o modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Figura 33 Rochas criadas no editor de terreno do Unity . . . . . . . . . . . . . . . . . 44Figura 34 Floresta criada no editor de terreno do Unity . . . . . . . . . . . . . . . . . 45Figura 35 Ajustando o efeito neblina no Unity . . . . . . . . . . . . . . . . . . . . . . 45Figura 36 Incluindo lago com o Assets Water . . . . . . . . . . . . . . . . . . . . . . 46Figura 37 Partculas de vapor totalmente personalizadas . . . . . . . . . . . . . . . . 46
-
Figura 38 Material com shader avanado . . . . . . . . . . . . . . . . . . . . . . . . 47Figura 39 Comparao de Textura simples e textura com Shaders avanados . . . . . . 47Figura 40 Comparao de textura simples e textura com Shaders avanados . . . . . . 48Figura 41 Componente de coliso do armrio de madeira . . . . . . . . . . . . . . . . 48Figura 42 Gatilho de ao instalado dentro de sala . . . . . . . . . . . . . . . . . . . 49Figura 43 Raio Raycast projetado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Figura 44 Personagem modelado no Maya e importado para o Unity . . . . . . . . . . 50Figura 45 Rosto do monstro modelado no Mudbox . . . . . . . . . . . . . . . . . . . 51Figura 46 Resultado final do monstro modelado no Mudbox . . . . . . . . . . . . . . 51Figura 47 Jogador com sanidade alta e com risco de morte . . . . . . . . . . . . . . . 52Figura 48 Objeto que simula som do mar . . . . . . . . . . . . . . . . . . . . . . . . 53Figura 49 Animao da porta inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Figura 50 Animao da porta inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Figura 51 Tela Inicial do jogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Figura 52 Menu aberto dentro do jogo . . . . . . . . . . . . . . . . . . . . . . . . . . 55Figura 53 Boto de chamada da tela de jogo . . . . . . . . . . . . . . . . . . . . . . . 55Figura 54 Painel de propriedades da compilao . . . . . . . . . . . . . . . . . . . . 56Figura 55 Jogo compilado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
-
LISTA DE ABREVIATURAS E SIGLAS
GUI Game User Interface / Graphical User Interface
FPS First-Person Shooters
RPG Role-Playing Games
MMORPG Massive Multiplayer Online RPG
NPC Non-Player Characters
MOD Modification
3D 3a Dimension
MP3 Moving Picture Experts Group 1 (MPEG) Audio Layer 3
UV Unpleasant Visual
FBX Filmbox
ESC Escape
PC Personal Computer
MAC OS Macintosh Operating System
-
SUMRIO
1 INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.1 Contextualizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.4 Problema e Hiptese da Pesquisa . . . . . . . . . . . . . . . . . . . . . . . 161.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 PROCESSO DE DESENVOLVIMENTO DE JOGOS . . . . . . . . . . 182.1 Desenvolvimento de conceito . . . . . . . . . . . . . . . . . . . . . . . . . 182.2 Pr-produo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.3 Definindo o gnero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.3.1 Gnero Ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.3.2 Gnero Aventura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.3.3 Gnero RPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3.4 Gnero Simulao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3.5 Gnero Estratgia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.4 Criando a histria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.5 Criando a Identidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.6 Criando o Mundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.7 Criando o udio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.8 Desenvolvendo o Prottipo . . . . . . . . . . . . . . . . . . . . . . . . . . 262.9 Produo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.10 Fase Alfa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.11 Fase Beta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.12 Fase Ouro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3 UNITY E OUTRAS FERRAMENTAS UTILIZADAS . . . . . . . . . . 303.1 Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2 Estrutura do Unity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2.1 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2.1.1 Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.2.1.2 Inspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.2.1.3 Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.2.1.4 Scene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.2.1.5 Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.2.1.6 Barra de Ferramentas ou toolbar . . . . . . . . . . . . . . . . . . . . . . . 313.2.2 Componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.2.3 Prefabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
-
3.2.4 Materiais, Texturas e Shaders . . . . . . . . . . . . . . . . . . . . . . . . 323.2.5 Terrenos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.2.6 Linguagens de desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . 333.2.7 Animao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.2.8 Renderizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2.9 Iluminao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2.10 Sistema de partculas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2.11 Rust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3 Outras Ferramentas Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.1 Autodesk Maya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3.2 Autodesk Mudbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.3.3 Photoshop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.3.4 Audacity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.3.5 FL Studio Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4 DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.1 Mundo do jogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2 Modelagem dos Cenrios . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.3 Criando um Prottipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.4 Modelagem dos Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.5 Insero de texturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.5.1 Mapeamentos UV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.5.1.1 Automatic Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.5.1.2 Mapeamento Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.5.2 Edio de materiais e texturas . . . . . . . . . . . . . . . . . . . . . . . . 434.6 Criao de Terreno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.7 Efeitos de renderizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.8 Assets e modelos Importados . . . . . . . . . . . . . . . . . . . . . . . . . 454.8.1 Partculas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.9 Shaders avanados e iluminao . . . . . . . . . . . . . . . . . . . . . . . . 464.10 Roteiro de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.11 Coliso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.12 Gatilhos e aes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.13 Personagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.13.1 Modelagem dos Personagens . . . . . . . . . . . . . . . . . . . . . . . . 494.13.2 Movimentao do personagem jogvel . . . . . . . . . . . . . . . . . . . 504.13.3 Movimentao do personagem monstro e Inteligncia Artificial . . . . . 514.14 Mecnica de Combate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.15 Msicas e Efeitos Sonoros . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.16 Animaes de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
-
4.17 Objetivos do jogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.18 Transies de telas e opes . . . . . . . . . . . . . . . . . . . . . . . . . . 544.19 Tutoriais e mensagens de ajuda . . . . . . . . . . . . . . . . . . . . . . . . 554.20 Compilando o projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.21 Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.22 Manuteno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.23 Dificuldades do projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5 CONCLUSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
REFERNCIAS BIBLIOGRFICAS . . . . . . . . . . . . . . . . . . . 59
ANEXOS 62
ANEXO A PRINCIPAIS SCRIPTS . . . . . . . . . . . . . . . . . . . 63
ANEXO B SCRIPT COMPLETO DE CONTROLE DAS AES DOJOGADOR . . . . . . . . . . . . . . . . . . . . . . . . . . 68
-
15
1 INTRODUO
1.1 Contextualizao
Em 2010, a receita no setor de games ultrapassou 30 bilhes de dlares anuais emtodo o mundo, superando as receitas de outros entretenimentos como concertos e cinemasnos Estados Unidos de acordo com a NPD Group(2011), empresa norte americana que realizaacompanhamentos semestrais de relatrios sobre o estudo dos padres de consumo e distribuiode entretenimento chamado Entertainment Trends in America (ETA). Constatou-se que os perfisdos consumidores esto mudando constantemente.
A International Game Developers Association (IGDA), organizao sem fins lucrativos,para incentivar a criao de jogos e promover o desenvolvimento profissional do setor, relatouque em vrios pases, a exportao de games constitui um dos principais itens de venda e deempregabilidade. A indstria de games est em constante expanso desde meados dos anos 80 etem uma expectativa de receita de mais de 86 bilhes de dlares em 2016 (WARMAN, 2013).
Indies games so jogos desenvolvidos por produtoras independentes, ou seja, um jogoque no produzido ou publicado por uma grande empresa de games. Diversos problemasso encontrados nos desenvolvimentos de jogos e um investimento de alto custo para obterferramentas a serem utilizadas para este propsitos.
Neste sentido, a Unity Technologies disponibiliza a tecnologia Unity, que consiste emuma ferramenta para criao de jogos eletrnicos, e a sua distribuio completa custa aproxima-damente US$ 1500,00; existe tambm a verso gratuita com algumas limitaes especiais queno interferem no desenvolvimento de um jogo completo. Apresenta uma interface simples mascom muitos recursos importantes, e facilitando a implementao de jogos para computadoresWindows, iOS, consoles XBox 360, XBox One, PS3, PS4, PS Vita, celulares Windows Phone 8 eBlackBarry.
1.2 Justificativa
O interesse principal deste trabalho desenvolver um jogo eletrnico utilizando a tec-nologia Unity tendo como metas: simplificar a codificao para o programador, mesmo queno trabalhe na rea de games; reduzir tempo no desenvolvimento do game pelo motivo devrias funes estarem previamente implementadas e custos, por existir a opo da ferramentana verso grtis.
Inclui classes de bibliotecas especficas para o desenvolvimento de jogos permitindo reusode cdigo e materiais para plataformas diferentes. O Unity engine simplifica elementos grficos,udio, entrada, armazenamento, loops de desenho e modelagem. Tambm na sua comunidadeonline so disponibilizados muitas documentaes, materiais, modelos e texturas disponveisgratuitamente.
-
16
1.3 Objetivos
O objetivo deste trabalho desenvolver um jogo eletrnico utilizando a tecnologia Unity,apresentando as diferentes fases dessa, desde concepo inicial ao produto final no processo dedesenvolvimento de jogos.
1.4 Problema e Hiptese da Pesquisa
O Elemento principal deste trabalho o jogo eletrnico ou game. Trata-se de um produtode software e alguns problemas sero apresentados juntamente com as possveis solues oualternativas. Abaixo, encontram-se algumas dvidas sobre o foco da pesquisa.
Para utilizar o Unity necessrio saber programar? Quais os processos para o desenvolvimento de um jogo eletrnico de qualidade e aceitao
no mercado?
No desenvolvimento de um jogo eletrnico, a utilizao do GUI do Unity diminui anecessidade de programar desde o incio, reduzindo custos e tempo. Por mais simples que seja necessrio ter conhecimento em programao para criar jogos mais sofisticados e dinmicos.
Para uma melhor organizao e que alcance um jogo satisfatrio necessrio dividir emfases o ciclos de desenvolvimento que so planejamento, produo, montagem do prottipo,testes de jogabilidade e distribuio.
1.5 Metodologia
A metodologia utilizada na execuo deste trabalho apresentou basicamente as seguintesetapas:
Foram utilizadas pesquisas bibliogrfica em revistas, artigos cientficos, Internet e livrosrelacionados ao tema.
Participao em fruns de discusses no intuito de abstrair informaes para as tcnicasenvolvidas na estrutura dos jogos.
Primeiro captulo apresentou como so os processos de desenvolvimento de jogos desdeplanejamento, personagem, ambiente, produo e lanamento.
O captulo seguinte apresentou as ferramentas utilizadas no desenvolvimento deste trabalho.Foi utilizado o Unity para a criao de animaes, vegetao, scripts e demais itens.
Foi utilizado o programa Autodesk Maya para os desenvolvimentos de animaes, partedo cenrio, modelos e personagens 3D.
Foi utilizado o Autodesk Mudbox para o desenvolvimento e detalhamento mais profissionaldo personagem.
Foi utilizado o editor de imagens Photoshop para editar as texturas dos objetos, cenrios edetalhes grficos dos personagens.
-
17
Foi utilizado o programa de edio de udio, Audacity para gravaes de sons da atmosferae efeitos especiais do jogo.
Foi utilizado o FL Studio Demo para as edies de loops e msicas que foram utilizadosna produo, pois o mesmo um estdio musical virtual.
O captulo seguinte abordou detalhamento do projeto ScareSupreme, desenvolvido emparalelo a este trabalho.
-
18
2 PROCESSO DE DESENVOLVIMENTO DE JOGOS
Neste captulo descrito algumas fases do desenvolvimento de jogos, com o principalobjetivo de torna-los mais profissionais e competitivos no mercado atual.
Por que as pessoas gostam de games? A compreenso disso pode ajud-lo adesenvolver games que satisfaam essas necessidades. Alguns desenvolvedorescriam games sem considerar por que seu publico desejaria jog-los; e seuscomponentes mais atraentes no so utilizados suficientemente para manter osjogadores interessados (NOVAK, 2010, p. 40).
2.1 Desenvolvimento de conceito
A fase de desenvolvimento de conceito inicia-se quando existe uma ideia de desenvolverum jogo pensando em seus aspectos, pblico-alvo, avaliar os recursos e quanto o tanto possa atrairos desenvolvedores. Est fase termina quando concretizada a ideia de iniciar o planejamentodo projeto, consiste como principal objetivo transmitir a ideia do jogo para outras pessoas deforma escrita.
Desenvolver um game como tentar montar um avio enquanto se aprendea voar nele. Para mim, o movimento mais difcil integrar todas as partesdispares - modo de jogar, som, motor 3D - em um formato coerente dentro doque parece ser um prazo impossvel. Acredito que o setor tem sido vtima do seuprprio sucesso. Os melhores designers e programadores de games disponveisno mercado vm surpreendendo as pessoas com tanta frequncia que, quantoaparece um game realmente slido que no tem algum aspecto inovador, os fsse decepcionam (NOVAK, 2010, p. 341).
2.2 Pr-produo
A fase do planejamento (ou pr-produo) do desenvolvimento consiste em ter umaproposta, como o guia da arte e o plano de produo. Esta fase tem como principal objetivodesenvolver o documento de design do game e documento tcnico do design.
Eu costumava pensar que finalizar um projeto era o processo mais difcil, masmudei de ideia. Depois de terminar alguns ttulos, voc j sabe que necessriopara finalizar um game. Agora acho que a parte mais difcil do projeto dedesenvolvimento a pr-produo. Gerar nova ideias para um game difcil,mas o verdadeiro desafio determinar quais dessa ideias so realmente boa equais, utilizadas conjuntamente, podero gerar um sucesso. Se os objetos dapr-produo no forem estabelecidos com preciso, mais adiante voc acabaratendo de trabalhar muito para tornar o game divertido e bem-sucedido (NOVAK,2010, p. 342).
2.3 Definindo o gnero
Gneros de games so baseados em diferente temas, ambiente, interface do jogador eplataformas. Para uma melhor definio precisa ser levado em conta o publico alvo desejado,
-
19
pois os gneros diferenciam entre eles.
2.3.1 Gnero Ao
O principal objetivo dos games do gnero de ao destruir seus inimigos, evitando serdestrudo. Geralmente no possuem muita histria ou a necessidade de muito raciocnio, pois seaprofunda mais na velocidade dos movimentos e na adrenalina das sequncias.
Os subgneros dos games de ao sero brevemente definidos a seguir:
Games de plataforma so jogos com personagens caractersticos que geralmente saltamsobre plataformas recolhendo itens e destruindo inimigos.
Games de tiro so jogos que se concentra na disputa entre um jogador contra vriospersonagens, e geralmente utilizam-se armas de fogo nos jogos. Nos jogos de tiro emprimeira pessoa (FPS), o jogador visualiza somente a arma do personagem com a sensaode estar dentro do prprio jogo (Figura 1). Jogos em terceira pessoa permitem ter a visodo personagem em vez de somente a arma como no FPS (Figura 2). O jogo ScareSupremeque foi desenvolvido em paralelo com este trabalho, um exemplo de jogo de ao comitens e aspectos de aventura em uma ambientao de terror.
Games de corrida tambm utilizam a perspectiva de primeira ou terceira pessoa. O cenriosempre abrange em controlar um veculo sendo uma moto ou um carro. Existem vriasmodalidades neste gnero, como disputas online, tempo de volta nas pistas e at percorreruma cidade inteira a procura de desafios.
Games de luta so jogos na qual personagens distintos so controlados por jogadores oupela inteligncia artificial do prprio jogo, com o objetivo de atacar o seu adversrio pormeios de movimentos combinados.
Figura 1: Jogo de ao FPS - Left 4 Dead 2
Fonte: http://1.bp.blogspot.com/_hlRWVCzwczY/S_f3x96A_6I/AAAAAAAAACw/aPZL1Ed6hIM/s1600/165160fa.jpg(25/06/2011)
-
20
Figura 2: Jogo de ao em terceira pessoa - God of War 3
Fonte: http://3.bp.blogspot.com/_sGJGR7YvdV4/TAwSiy41_NI/AAAAAAAAA90/zYn7uYbR7R8/s1600/god_of_war_iii_profilelarge.jpg(25/06/2011)
2.3.2 Gnero Aventura
Jogos do gnero aventura so geralmente criados conforme um filme, possuem roteiros euma historia convincente. Seu principal objetivo solucionar enigmas em busca de tesouros oualgo importante. So apelidados de jogos point-and-click, porque a maioria utilizam apenas omouse no controle de todas as aes. A Figura 3 apresenta o jogo de aventura Full Throttle.
Hoje em dia, apenas alguns poucos games de aventura so lanados a cadaano, mas ainda h um nicho de mercado para os aficionados do gnero. Ascaractersticas dos games de aventura incluem explorao, coleta de itens, solu-o de quebra-cabeas, orientao em labirintos e decodificao de mensagens(NOVAK, 2010, p. 101).
Figura 3: Jogo de aventura - Full Throttle
Fonte: http://www.scummvm.org/data/screenshots/lec/ft/scummvm_0_9_1-full.png(25/06/2011)
-
21
2.3.3 Gnero RPG
Os games de representao de papis (RPG) originam-se da tradio iniciadana dcada de 1970 pela srie de jogos de RPG Dungeons & Dragons, que eramjogados com papel e lpis. Neles, os jogadores assumiam papis de guerreiros,magos, sacerdotes, elfos ou ladres e exploram calabouos, matavam monstros(como drages e ogros) e coletavam tesouros. Um dos jogadores, o Mestredos Calabouos (mais tarde designado Mestre do Jogo) configurava o mundodo jogo e assumia os papis de outros personagens (no jogadores) (NOVAK,2010, p. 103).
Os games de RPG digitais no possuem um mestre, mais todo o aspecto do antigo RPGgeralmente est diretamente relacionado, que incluem mundo de fantasias, heris e monstros. Ospersonagens podem fazer praticamente o que quiserem nesta modalidade, como criar alimentos,enfrentar drages e diversas aes. A Figura 4 apresenta o jogo de RPG Dungeon Siege 2.
Figura 4: Jogo de RPG - Dungeon Siege 2
Fonte: http://www.escapistmagazine.com/images/display/67151.jpg(25/06/2011)
Os Jogos de interpretao online massivos (MMORPG) so aquelas aonde diversaspessoas se conectam e jogam simultaneamente em um mesmo mundo, formando grupos, inimigos,lideres, comrcio de itens e guerras. Os MMORPG geralmente no possuem um final, masrecebem constantemente atualizaes de novos mundos, inimigos e misses.
2.3.4 Gnero Simulao
O principal objetivo dos games do gnero de simulao representar mquinas, sistemas,veculos e papeis do mundo real. Existem simuladores para treinamentos militares, motoristas,pilotos de avio e alguns so criados especialmente para entretenimento por proporcionarembaixo nvel de dificuldade.
Os subgneros dos games de simulao sero brevemente definidos a seguir:
-
22
Simulaes de veculos - o jogador opera mquinas muito detalhadas em seu manuseio,podem necessitar algum tempo para a aprendizagem, eles geralmente so simuladores deautomveis (Figura 5), navios, tanques e jatos de guerra.
Simulaes de processos - o jogador abrangem processos e sistemas do mundo real, podemser um prefeito de uma cidade que controla seus gastos e construes, ou um Deus em ummundo primata lutando contra a insatisfao das tribos que o idolatram.
Simulao esportiva e participativa - envolvem o jogador como se fossem participantes deuma partida de futebol por exemplo. um subgnero de simulao com grande sucesso erepercusso nos jogos digitais, pois o jogador tem a sensao de representar um ou maisatletas profissionais, com a possibilidade de alcanar o ttulo de melhor jogador do mundo,desbloquear novos atletas com as caractersticas dos atletas do mundo real para a suaequipe, negociar vendas e compras destes personagens com outros jogadores do mundodigital.
Figura 5: Simulador de caminho EuroTruck Simulator 2
Fonte: http://i1-games.softpedia-static.com/screenshots/Euro-Truck-Simulation-2_22.jpg(11/08/2014)
2.3.5 Gnero Estratgia
"Games de estratgia originam-se dos jogos clssicos de tabuleiro, como xadrez, emque os jogadores devem administrar um conjunto limitado de recursos para atingir uma metaespecifica"(NOVAK, 2010, p. 109).
A maioria dos games de estratgia desenrolam-se em um ambiente militar, controlandotropas, fabricando armas e adquirindo tecnologia. O seu principal objetivo utilizar a intelignciapara derrotar seus adversrios (Figura 6).
2.4 Criando a histria
Para o projeto ScareSupreme, a historia sobre um escritor cientifico de fenmenosnaturais, que aps uma sesso de autgrafos em uma cidade pequena e isolada, preferiu seguirum atalho para chegar mais rpido em sua residncia. Aps um perodo percorrendo a estradaprincipal, encontrou a mesma interditada em um certo trecho, restando apenas um caminho
-
23
Figura 6: Jogo de estratgia - Company of Heroes
Fonte: http://m.mygames.pt/g4/images/impressions/shot_3_261.jpg(26/06/2011)
por dentro da floresta. Por coincidncia, o combustvel do seu carro acabou prximo a umaconstruo antiga e abandonada. Acreditando ter a resposta para todos os acontecimentos eirritado de tantos remdios que tomou para manter-se acordado, ele ir verificar a entrada daconstruo em busca de combustvel ou at mesmo um abrigo para est noite chuvosa. A Figura7 apresenta uma parte da histria do jogo de Max Paine.
Figura 7: Historia de vingana do jogo Max Paine
Fonte: http://3.bp.blogspot.com/_tNn9FRQNoUA/SorHKECyZJI/AAAAAAAAATY/HV2d0aUKhiA/s1600-h/Untitled-1.jpg(06/07/2011)
Nos meios de entretenimentos tradicionais, como cinema, literatura, televisoe rdio, comum que os redatores produzam histrias completas, com perso-nagens atraentes e ambientes especifica como base para o contedo. Emboramuitos games tambm incluam uma historia, isso no essncia para proporci-onar uma experincia de jogo satisfatria. Na outra extremidade do espectro,alguns games de representao de papis (RPGs) dependem fundamentalmenteda narrativa. De fato, para alguns jogadores, um RPG semelhante a um filme;nesses casos, o game pode tornar-se um mero veculo para o desenvolvimentoda histria (NOVAK, 2010, p. 130).
-
24
2.5 Criando a Identidade
Personagens de um jogo podem assumir caractersticas marcantes, atravessando barreirasalm do mundo dos jogos. Dividem-se em personagens jogveis e no jogveis (NPC), estesso muitos usados em jogos de RPG na funo de ajudar os jogadores, contar historias, solicitarmisses e vender itens. Dependendo do gnero do jogo, possvel controlar vrios personagensem conjunto; geralmente so encontrados em jogos de simulao esportiva. A Figura 8 apresentao personagem Kratos de God of War II e a figura 9 apresenta os dois maiores rivais da histriados jogos.
Para desenvolver um personagem com caractersticas marcantes, habilmente recomen-dado levar em considerao a historia escolhida. Para o projeto ScareSupreme, o personagemprincipal o cientista Robert, sobre o qual o jogador assume o controle em todo momento, mastambm foi criado um segundo personagem em forma de palhao com o objetivo de perseguir ederrotar Robert.
Um efeito interessante, conhecido como interao parassocial, pode ocorrerquando o pblico torna-se to ligado aos personagens que comea a acreditarque so pessoas reais. Esse efeito ocorre com telespectadores que estabelecemfortes vnculos com os personagens do mundo de faz-de-conta que observamsemana aps semana em novelas. Os viles so detestados pelos telespectadorese comum que recebam cartas ameaadoras (enviadas para os personagens, nopara os atores). A interao parassocial um fenmeno extremamente poderoso,embora os telespectadores no assumam o papel de nenhum dos personagensda novela e sejam apenas observadores passivos. Esse tipo de ligao com opersonagem no poderia ser ainda mais forte nos Games? (NOVAK, 2010, p.154, 155).
Figura 8: Personagem Kratos de God of War II
Fonte: http://i51.photobucket.com/albums/f362/Solidarchive/god-of-war-ii-kratos.jpg(06/07/2011)
-
25
Figura 9: Personagens Sonic e Mario
Fonte: http://images.wikia.com/sonic/images/9/9c/Mario_e_sonic.jpg(06/07/2011)
2.6 Criando o Mundo
No h muitos problemas de design especficos, contanto que voc se limitea formula do game de representao de papis (RPG); lembre-se de espalharbem suas cenouras pelo nvel(aqui est um item exclusivo, aqui est um de-talhe do mistrio da histria a ser solucionado, aqui est um lugar em que ojogador pode obter uma vista panormica do nvel); finalmente, se possvel,tente proporcionar aos jogadores diferente opes para perseguir seus objeti-vos dependendo de como construram seus personagens (por exemplo, ladresque podem entrar furtivamente em situaes, diplomatas que podem sair desituaes com uma argumentao convincente ou pistoleiros que podem matartudo o que encontram pela frente at o final). Um game deve apelar para o egodos jogadores, e no h melhor maneira de fazer isso do que oferecer nveis esituaes que lhe permitam exercitar as habilidade e recursos em que gastarammais pontos (NOVAK, 2010, p. 224).
Existem muitas ferramentas para o desenvolvimento de mundos e a maioria dos fabri-cantes as disponibilizam gratuitamente, com o intuito de aumentar o nmero de modificaes(MOD) em seus jogos lanados. Para o projeto ScareSupreme, o mundo foi desenvolvido comvrias ferramentas e limitado atravs da programao do Unity, ou seja, o personagem noconseguir navegar pelo mundo da forma que quiser e depender de certas aes para prosseguirpelo mesmo. A Figura 10 apresenta o mundo do jogo Arma 3.
2.7 Criando o udio
Jogos de suspenses e terror, como Silent Hill 2 (Figura 11), possuem uma qualidadeimpactante em termos de msicas e efeitos sonoros, pois, em cada cena percorrida, o jogo setorna mais assustador, aumentando o envolvimento do jogador.
-
26
Figura 10: Mundo do jogo Arma 3
Fonte: http://media.pcgamer.com/files/2013/08/altis-tour.jpg(17/08/2014)
O udio para games pode consistir em sons sampleados(gravados), como vozese msica; sons de interface, como rudos eletrnicos e cliques de boto; e efeitossonoros do game, como exploses e passos. O udio pode ser extremamenteimportante para a atmosfera do game, tanto para definir o clima como para alter-lo. Pode-se usar udio para fornecer indicaes sonoras ao jogador, intensificarsua satisfao e aumentar a qualidade de um game (NOVAK, 2010, p. 272).
Figura 11: Jogo Silent Hill 2
Fonte: http://ui04.gamefaqs.com/1859/gfs_22655_2_2.jpg(06/07/2011)
2.8 Desenvolvendo o Prottipo
A fase de desenvolvimento do prottipo essencial para todo o processo e pode ser oitem mais importante na deciso de ir para o prximo nvel de desenvolvimento do jogo.
Usar vrias tecnologias de criao de jogos no desenvolvimento de prottipo bastantecomum, mesmo que a tecnologia empregada no final do jogo seja outra. Para a criao doprottipo, em vrios casos, so utilizados apenas rascunhos de lpis e papel, demonstrando aviso bastante simplificada do que o jogo possa se tornar, mas em algum momento o prottipopode ser descartado no desenvolvimento. A Figura 12 apresenta o prottipo usado no projetoScareSupreme.
-
27
Figura 12: Prottipo ScareSupreme
Fonte: Elaborada pelo Autor
Criar um prottipo na fase preliminar significa concentrar a ateno da equipeem prottipos rudimentares, mas jogveis, no inicio do processo de design,antes que uma equipe de produo completa esteja disponvel. Um pequenogrupo de designers pode cria rapidamente uma verso jogvel de uma ideiaconsumindo recursos de produo extremamente baixos. A ideia testar erevisar seguidamente o prottipo redumentar utilizando a pequena equipe atdesenvolver um sistema de jogo realmente interessante. S ento a ideia deveraser colocada em produo e uma equipe completa, incorporada ao projeto(NOVAK, 2010, p. 345).
2.9 Produo
A fase de desenvolvimento mais extensa a produo (Figura 13), ou seja, quandoinicia-se realmente o desenvolvimento do jogo. Nesta fase, so desenvolvidos os efeitos sonoros,todo o cdigo fonte, os modelos 3D, os testes e tudo que for necessrio para concluir o jogo.Pode durar de 6 meses a 2 anos ou mais, desde que seja corretamente calculado o tempo de todasas etapas no planejamento.
O aspecto mais complexo do processo de produo de um game equilibrar acriatividade com os requisitos comerciais e profissionais impostos produo. muito difcil criar um ambiente em que os artistas se divirtam e, ao mesmotempo, terminem seu trabalho dentro do prazo e do oramento. Acredito, pormque esse equilbrio que leva criao dos melhores games (NOVAK, 2010, p.346).
2.10 Fase Alfa
A fase alfa (Figura 14) especialmente voltada para o acabamento e ajustes finais dojogo, como acabamentos artsticos, musicais, efeitos de som ou remover alguns detalhes queno sejam necessrios. quando a interface do usurio est completa, ou seja, o jogo pode serjogado do comeo ao fim, passando por cada etapa a procura de erros, falhas e desempenho. Estafase pode incluir testadores externos que no participaram de nenhuma das etapas anteriores.
-
28
Figura 13: Produo ScareSupreme
Fonte: Elaborada pelo Autor
Como artista de games, voc frequentemente estar criando projetos e esperandoque a tecnologia funcione como foi prometido - ou ento voc j criou boa partedo material e, quando o game est quase terminado, aparece algo novo quetorna suprfluo tudo o que foi feito at ento. nesse ponto que voc precisadecidir: o plano original ser mantido, mesmo correndo o risco de o gameparecer ultra-passado, ou voc jogar fora todo o trabalho anterior e tentardominar a nova tcnica no tempo que lhe resta? Essa sempre uma decisodifcil (NOVAK, 2010, p. 347).
Figura 14: Minecraft na verso alfa
Fonte: http://games.planeta-informatica.com/wp-content/uploads/2011/04/MineCraftCastle_nosologeeks-635x465.jpg(20/06/2011)
2.11 Fase Beta
A fase beta (Figura 15) da nfase na correo de problemas quando todos os matrias dojogo estejam terminados e a sua fase de produo esteja encerrada. A maioria dos fabricantesutilizam seus prprios testadores ou recrutam jogadores online para serem testadores betas dosjogos, na funo de encontrar o mximo de defeitos, erros e ajustes de desempenhos antesque sejam publicados e comercializados. Algumas das principais melhorias durante a fase betaincluem o desenvolvimento da verso final de cdigo, contedo e manual do jogo.
-
29
Figura 15: Minecraft verso beta
Fonte: http://verrytechnical.com/wp-content/uploads/2010/12/Minecraft_Beta.jpg(20/04/2014)
Para mim, a parte mais difcil do desenvolvimento decidir quando parar.Em ltima anlise, qualquer game sempre pode ter um pouco mais disso oudaquilo e um ou dois recursos adicionais. Cabe a voc estabelecer um limite,quando o ttulo ser dado por terminado e lanado no mercado. Isso sempregera um frenesi final de trabalho nas equipes mais dedicadas. Uma boa equipede administrao canaliza essas horas extras para tornar um bom produto e nopara simplesmente se livrar dele de qualquer maneira (NOVAK, 2010, p. 349).
2.12 Fase Ouro
Aps concluir a fase Beta, inicia-se a fase ouro (Figura 16). Nesta fase o produto e ascorrees de erros foram avaliadas; enviada uma cpia do jogo para a fbrica e pode durarsemanas a sua produo em mdias fsicas, manuais e caixas. Este formato est perdendo espaopara os jogos comercializados diretamente pela Internet, pois so disponibilizados atravs depagamentos online e posteriormente os usurios podem efetuar o download.
Figura 16: Loja online Steam
Fonte: Elaborada pelo Autor
-
30
3 UNITY E OUTRAS FERRAMENTAS UTILIZADAS
Neste captulo descrito algumas caractersticas do Unity e as demais ferramentasutilizadas no desenvolvimento deste trabalho.
3.1 Unity
Para estdios e desenvolvedores independentes, o democrtico ecossistema daUnity derruba barreiras de tempo e custo para criar jogos exclusivamente lindos.Eles esto usando o Unity para viver do que adoram fazer - desenvolver jogosque cativam e encantam os jogadores em qualquer plataforma (UNITY, 2014).
Foi utilizado a verso 4.6.0b17 do software (UNITY, 2014) e encontra-se disponvelgratuitamente para download em https://unity3d.com/pt/unity/download.
3.2 Estrutura do Unity
Basicamente o Unity trabalha com o gerenciamento de GameObjects. Os GameObjectsrepresentam objetos contidos no projeto e se estendem a objetos slidos, objetos inanimados, eat seres vivos como plantas, animais e seres humanos.
3.2.1 Interface
A interface Unity (Figura 17) simples e de fcil aprendizagem para novos utilizadores.Em apenas um curto tempo de uso possvel conhecer as interaes entre os visualizadores, queso as partes da interface.
Figura 17: Interface do Unity
Fonte: Elaborada pelo Autor
3.2.1.1 Project
um navegador que lista todos os itens e diretrios includos no projeto atual do Unity,possibilitando importar novos itens pelo menu ou simplesmente arrastando-os para a rea de
-
31
trabalho.
3.2.1.2 Inspector
Cada GameObject possui propriedades e detalhamentos de vrios parmetros no projeto,permitindo a possibilidade de alterar algumas informaes antes da prpria incluso do item nacena. A manipulao das propriedades pode ser feita por meio da palheta Inspector e incluirnovos componentes no objeto, varireis de tipos de valores e tambm de referencia para outrosGameObjects.
3.2.1.3 Hierarchy
O painel Hierarchy lista todos os objetos que esto sendo usados na cena atual. Paraincluir novos recursos neste painel, pode-se usar o menu de Create ou arrast-los a partir do painelProject.A organizao dos objetos so definidos pela hierarquia, ou seja, podem existir objetosque so filhos de outros, desta forma, ao arrastar um objeto em cima de outro, automaticamenteo mesmo se tornar filho, assumindo a movimentaes e outras funcionalidades do pai.
3.2.1.4 Scene
Compe a cena do jogo e onde tudo realmente construdo. o local aonde todos osGameObjects e demais itens so inseridos. A manipulao intuitiva e baseada no conceito dragand drop (arrastar e largar), ou seja, selecionar o GameObject com o mouse e arrasta-lo para olugar desejado.
3.2.1.5 Game
Esta paleta apresenta o resultado final do jogo, permitindo que o desenvolvedor avalie ealtere as propriedades dos GamesObjets em tempo de execuo. No Layout padro do Unity,este visualizador est atrs de outro visualizador de nome Scene. possvel enxergar-lo quandoselecionado em sua aba na interface principal e quando iniciado o jogo pelo boto (Start) dabarra de ferramentas, automaticamente o visualizar Game sobrepem qualquer outro que estejaem destaque anteriormente.
3.2.1.6 Barra de Ferramentas ou toolbar
As caractersticas da Barra de Ferramentas do Unity definem-se em facilidade de aprendi-zagem, agilidade nas alteraes e testes de desenvolvimento. Os botes do lado esquerdo sopara manipulaes dos objetos, como alterar o tamanho, rotao e posio. Os botes do meioso controles de execuo do jogo e para testar as suas etapas, alternando do ambiente de criaopara o ambiente do jogo. Referente aos botes da direita, um para desabilitar ou habilitar as
-
32
camadas no painel Scene, ou seja, na edio do jogo possvel desabilitar a camada de gua e amesma ficar invisvel. O outro boto manipula o layout de visualizao dos painel, h vriostipos e possibilidade de alterar o layout conforme a preferencia do desenvolvedor.
3.2.2 Componentes
Ao vincular Componentes a um GameObject, voc cria comportamento e movi-mento e define a aparncia. Luzes, malhas, efeitos especiais, udio, cmerase emissores de partculas so exemplos de Componentes. Por sua vez, cadaComponente tem um conjunto prprio de propriedades ajustveis, alcance eintensidade para luz (UNITY, 2014).
Praticamente quase todos os itens do cenrio so GameObjects, que podem ter vriostipos de componentes associados ao mesmo tempo, como, por exemplo, um script para alterarseus comportamentos em tempo real no jogo.
3.2.3 Prefabs
Uma instncia, na maior parte do mundo 3D, a ideia de exibir um objetomltiplas vezes em vez de ter mltiplas copias do objeto. Em aplicativos como oMaya, isso significa que, se uma alterao foi feita no objeto original, a mudanaocorre automaticamente em cada instancia do objeto. No Unity, essa mesmaideia est presente, mas usa uma nomenclatura ligeiramente diferente. No Unity,a ideia de exibir um objeto vrias vezes e fazer essas verses adicionalmenteexibidas herdarem as alteraes chama-se prefab (WATKINS, 2012, p. 403).
Prefabs a necessidade de ter o mesmo objeto repetido vrias vezes em um cenrio, ecaso ocorrer alteraes especificas em algum deles, possvel propagar para os demais itensautomaticamente. Prefabs podem ser exportadas para outros projetos, caso necessrio, ou seja, a possibilidade de criar uma biblioteca de objetos reutilizveis para novos jogos.
3.2.4 Materiais, Texturas e Shaders
Texturas so imagens; elas podem ser fotos ou imagens pintadas. Texturas soelementos 2D que definem determinado atributo de um material. Texturas podeser usadas para definir os elementos tteis visual ou coloridos de um material,como relevo. Quando um material aplicado a um objeto, shader usado paramostrar como esse material vai reagir a luz e ao angulo de viso do observador(WATKINS, 2012, p. 63).
Materiais, texturas e shaders so importados automaticamente quando includo umnovo objeto no projeto; so separados fisicamente os materiais e as texturas, ainda assim aassociao importada entre eles continua. Caso necessrio, possvel atribuir outra textura nomaterial e alterar o seu tipo de shader, desta forma fica fcil a manipulao entre os mesmos.
O Unity permite criar materiais com diversos tipos de efeitos de shaders, sem a neces-sidade de atributos adicionais, e ainda a Asset Store disponibiliza muitos materiais e texturas
-
33
para serem utilizadas. Os Assets so itens prontos para serem utilizados tais como modelos deobjetos, modelos de personagens 3D, kits de efeitos de sons, scripts e texturas. A Asset Store acentralizao online destes pacotes da comunidade Unity.
3.2.5 Terrenos
Os terrenos podem ser muito interessantes na situao certa. Um Terrain um GameObject criado no Unity e pode conter mapas de textura e objetosinteligentes", como arvores e grama. Por inteligente"quero dizer que eles criamalgumas coisas realmente sofisticadas, como mudar o nvel de detalhes a medidaque o jogador se aproxima ou se afasta deles (WATKINS, 2012, p. 121).
O Unity possui uma completa palheta de editar terrenos em suas ferramentas, comflexibilidade e eficincia na modelagem 3D de paisagens. possvel projetar superfcies planas eirregulares com diversos tipos de pinceis, adicionar rochas, rvores, gramas, e ainda permite apersonalizao das distncias e quantidades a serem desenhadas pelo pincel.
3.2.6 Linguagens de desenvolvimento
O Unity usa trs linguagens de script: JavaScript(UnityScript), C# e Boo. Essastrs linguagens de script so maneiras muito diversas de acessar a mesmafuncionalidade bsica do mecanismo do jogo; trs ferramentas com o mesmoobjetivo (WATKINS, 2012, p. 334).
Para este projeto foi utilizada a linguagem JavaScript(UnityScript) por existir diversasdocumentaes na comunidade Unity, e tambm mais simples para iniciantes no desenvol-vimento do games. Para usurios mais experientes recomendado utilizar o C#, pois este temacesso de baixo nvel no sistema e no prprio Unity.
Constantemente citado neste trabalho, os Scripts "[...]contm comandos (instrues),organizados em blocos e funes[...] Uma coleo de comandos chamada de blocos docdigo.[...]Os comandos podem estar em vrios locais dentro de um script, mas geralmente osblocos de comandos so agrupados em uma funo "(WATKINS, 2012, p. 337, grifo do autor).
3.2.7 Animao
Pense nas animaes como componentes de GameObjects. Sempre que umobjeto deve ser animado no Unity, o Unity cria um arquivo separada edita-vel(com um rotulo .anim) que armazenar as informaes. O que isso significa que a animao pode ser usada repetidas vezes em outros objetos(o que um poderoso recurso por s s). Isso tambm significa que h um novo recursoarmazenado na pasta recursos.(WATKINS, 2012, p. 320)
Existem vrias ferramentas para animao no mercado, mas o prprio Unity possui umpainel para editar animaes de um objeto ou vrios objetos desde que pertenam na hierarquia
-
34
de pai e filho no painel Hierarchy. O Unity permite importar objetos com animaes includasno mesmo e elas podem ser criadas em outras ferramentas 3D, como Maya, 3DStudio, Blender eetc.
3.2.8 Renderizao
A teoria 3D possui uma vasta quantidade de informaes e detalhes tcnicos, mas paraeste trabalho sero citadas as definies mas relevantes para os jogos.
Formas tridimensionais em um aplicativo 3D so criadas quando as colees depolgonos so agrupadas. Pense nos polgonos como folhas de metal inflexveis.As folhas de metal podem dobrar onde se conectam, mas o polgono em sino pode. Isso significa que, quando mais polgonos esto presentes, em maislugares a malha pode dobrar, portanto, mais complexa a forma pode ser.[...]Odesenho dos polgonos, texturas e iluminao associados a eles chamado derenderizao (WATKINS, 2012, p. 11/12).
Adam Watkins tambm explica como os jogos so renderizados na categoria via hardware.
Os jogos entram nessa categoria porque a placa de vdeo renderiza os polgonosdentro do espao digital para representar o espao 3D. O hardware desenha oque est na tela (incluindo todos os objetos, texturas e luzes), e precisa fazerisso muitas vezes por segundo, os jogadores percebero um tremido na imagemdo jogo (WATKINS, 2012, p. 12).
A quantidade de polgonos muito importante na renderizao do jogo, ou seja, nomomento que os polgonos esto sendo desenhados no espao 3D, quanto maior a quantidadede polgonos visualmente for, maior ser o consumo de processamento e sucessivamente odesempenho do jogo poder ser prejudicado. A Figura 18 apresenta formas tridimensionaiscom texturas criadas para o projeto ScareSupreme; o objeto a esquerda possui uma quantidaderazovel de polgonos e o da direta uma quantidade baixa de polgonos.
Figura 18: Formas tridimensionais com texturas
Fonte: Elaborada pelo Autor
-
35
3.2.9 Iluminao
A criao de recursos de iluminao no Unity, a cada verso, est mais poderosa. Paradesenvolvedores que possuem a verso PRO, os recursos de iluminao so bem mais completosem relao a verso grtis. Um fator importante a ser considerado no desenvolvimento de umjogo, a diferena visvel de iluminao de um monitor para outro, em alguns casos mais claroou mais escuro.
Para alterar a luz do ambiente de todo o projeto necessrio editar as propriedades doRenderSettings. O projeto ScareSupreme, por ser um jogo de horror, foi definido utilizar a corpreta da luz do ambiente com o intuito de deixar o mais assustador possvel. Existem quatrotipos de GameObjects de luz no Unity, estes so Point Light, SpotLight, Directional Light e Arealights. Todos podem ser espalhados no projeto e possuem caractersticas distintas de iluminao,como, por exemplo, projetar a luz de uma Lanterna ou at a claridade do sol.
Tambm existe a tcnica de Backing, que consiste em pintar a luz e sombras de objetos emoutros objetos; o processador de vdeo apenas desenha a textura e no a passagem de iluminaoe sombra. O principal objetivo do Backing reduzir o custo de processamento e velocidade deexecuo.
Baking o processo de seleciona a iluminao que uma luz emite - e, maisimportante, as sombras que os objetos projetam em outros objetos - e pintaresses valores de cores ajustados nos objetos. Pense em pintar sombras que soprojetadas ao longo de uma superfcie e pintar uma matriz em uma superfcieque mostra a luz amarelada do poste de iluminao suja (WATKINS, 2012, p.146).
3.2.10 Sistema de partculas
Essencialmente, partculas do Unity so minsculos cartazes ou planos(emboraa malha possa ser mais complexa) que so emitidas na cena e sempre perma-necem na frente da cmera. Isso d a iluso de volume a coisas como fumaaquando esse planos so texturizados com texturas semitransparentes. Como oobjeto de emisso-padro um lugar, a contagem de polgonos permanece baixa,mas grandes efeitos so acionados.[...]Partculas podem ser usadas eficazmentepara fumaa, fogo, faixas, vapor e etc (WATKINS, 2012, p. 137).
Partculas no Unity so simples de serem adicionadas no projeto e os resultados dentro dojogo sempre so atraentes. Na propriedade do GameObject especificamente no componente departculas possvel definir o tamanho, a quantidade, a transparncia, o tempo de visibilidade, adireo e demais configuraes do mesmo. O desenho da textura criado em qualquer softwarede edio de imagem e, desde que contenham o fundo na cor preta, o Unity reconhece esta corcomo canal alpha, deixando-o transparente em tempo de execuo, sendo assim, ficam visveissomente as partculas como poeira, fumaas e etc.
-
36
3.2.11 Rust
O nico objetivo em Rust sobreviver.Para fazer isso voc ter que superardificuldades como fome, sede e frio. Construir uma fogueira. Construir umabrigo. Matar animais pela carne. Proteja-se contra outros jogadores. Criaralianas com outros jogadores e juntos criar uma fortaleza (STUDIOS, 2014).
Rust (Figura 19) um jogo de FPS Multiplayer de acesso antecipado com o principalobjetivo de sobrevivncia em terrenos perigosos que, ainda em fase de desenvolvimento naengine do Unity, superou a barreira de 1 milho de cpias vendidas em fevereiro de 2014.
Figura 19: Interface do Jogo Rust
Fonte: http://leviathyn.com/wp-content/uploads/2014/01/rust-beta-gameplay-buildings.jpg(02 jun. 2014)
3.3 Outras Ferramentas Utilizadas
3.3.1 Autodesk Maya
O software de animao 3D, modelagem, simulao, renderizao e composioMaya oferece um conjunto completo de recursos para animao computadori-zada 3D, modelagem, simulao e renderizao em uma plataforma de produocom alta capacidade de expanso. O Maya oferece conjuntos de ferramentasavanados de personagens e efeitos com maior produtividade em tarefas demodelagem, texturizao e criao de graduador (AUTODESK, 2014b).
Para este projeto a ferramenta Maya (Figura 20) foi o software mais importante antesdo Unity, pois as teclas de atalhos e a interface dos comandos so muito parecidas em ambasferramentas. O desenvolvimento do jogo foi baseado no livro "Criando jogos com o Unity eMaya"de Adam Watkins e ele apresenta muitas vantagens para a gerao de objetos e cenrios quepodem ser convertidos para o Unity, embora apresente as desvantagens de ser muito complexae no gratuita, ainda sim vrias verses so disponibilizadas para estudantes diretamente nosite do Autodesk. Foi utilizado a verso 2012 do software e est disponvel para download emhttp://www.autodesk.com/products/maya/overview.
-
37
Figura 20: Lanterna editada no Maya para o projeto ScareSupreme
Fonte: Elaborada pelo Autor
3.3.2 Autodesk Mudbox
Projetado por artistas profissionais das indstrias de cinema, jogos e design, osoftware de escultura digital e pintura texturizada Autodesk Mudbox oferece aosprofissionais de modelagem 3D e textura a liberdade de criar se a preocupaocom detalhes tcnicos (AUTODESK, 2014a).
Para este projeto, a ferramenta Mudbox (Figura 21) foi a opo mais profissional na mo-delagem do monstro inimigo. Entre vrias ferramentas esta se destaca pela interao com o Mayae por possuir as teclas parecidas com o mesmo e as do Unity. Existem vrias verses disponibili-zadas para estudantes diretamente no site do Autodesk. Foi utilizado a verso 2015 do software eest disponvel para download em http://www.autodesk.com/products/mudbox/overview.
Figura 21: Esculpindo monstro no Mudbox para o projeto ScareSupreme
Fonte: Elaborada pelo Autor
-
38
3.3.3 Photoshop
O Photoshop (Figura 22) uma ferramenta de edio grfica para criao e alterao deimagem, sendo que poderosa para texturas avanadas, alm de possuir milhares de pluginsdisponveis gratuitamente.
Para este projeto o Photoshop foi essencial na edio de todas as imagens e cores,utilizando as tcnicas de texturas sem costuras, mapeamento UV e Normal mapping. disponi-bilizada na verso 30 dias de uso pela Creative Cloud, aps o vencimento possvel adquirirdiversos planos para continuar a utilizao da mesma. Foi utilizado a verso CS 11.0 do softwaree est disponvel para download em https://creative.adobe.com/pt/products/download/photoshop.
O Adobe Photoshop o editor grfico mais avanado que existe, capaz de fazerdesde simples fotomontagens at complexas imagens 3D e ilustraes. Somuitssimas as suas funes e possibilidades, e existem numerosos tutoriaispara voc aprender a utiliz-lo (SOFTONIC, 2014).
Figura 22: Interface do Photoshop, editando mapa normal para o projeto ScareSupreme
Fonte: Elaborada pelo Autor
3.3.4 Audacity
"O Audacity um programa que permite editar, gravar, importar e exportar diversosformatos diferentes de arquivos de udio. possvel gravar msicas e sons ao vivo ou converterdiretamente material em fitas e CDs"(TECHTUDO, 2014).
Para este projeto o Audacity (Figura 23) foi utilizado nas gravaes manuais de algunsefeitos sonoros, como abrir portas, rudo de chave arrastando e entre outros. Alguns efeitos esons naturais de ambientes foram adquiridos de sites sem copyright, e editados no Audacity paraa adaptao correta dentro do jogo. Foi utilizado a verso 2.0.2 do software e est disponvelpara download em http://audacity.sourceforge.net/download/windows.
-
39
Figura 23: Interface do Audacity
Fonte: http://www.superdownloads.com.br/imagens/screenshots/9/3/93746,O.png(19 ago. 2014)
3.3.5 FL Studio Demo
FL Studio (Figura 24) um software completo para editar e criar msicas, possui muitosefeitos sonoros em sua biblioteca.
Para o projeto ScareSupreme, foi utilizada a verso de demonstrao para criar loopsde ambiente e passos do personagem. A sua nica limitao no poder salvar o projeto, masa exportao para o formato mp3 liberada. Foi utilizado a verso 11.1.0 do software e estdisponvel para download em http://www.image-line.com/downloads/flstudiodownload.html.
Figura 24: Interface do FL Studio 11 Demo
Fonte: Elaborada pelo Autor
-
40
4 DESENVOLVIMENTO
Neste captulo descrito os processos de desenvolvimento do projeto ScareSupreme pormeio da descrio e explanao de seus componentes.
Para estdios e desenvolvedores independentes, o democrtico ecossistema daUnity derruba barreiras de tempo e custo para criar jogos exclusivamente lindos.Eles esto usando o Unity para viver do que adoram fazer - desenvolver jogosque cativam e encantam os jogadores em qualquer plataforma (UNITY, 2014).
4.1 Mundo do jogo
ScareSupreme um jogo de terror em primeira pessoa, com o objetivo de escapar deum ambiente escuro e assustador. Aps misteriosamente o combustvel do carro do personagemacabar, a sua nica alternativa tentar localizar algo que solucione o seu problema em umaconstruo antiga e isolada. Com grandes corredores e uma atmosfera negativa, o jogador serobrigado a explorar o lugar e sobreviver at o final.
4.2 Modelagem dos Cenrios
Modelar o cenrio foi um dos desafios deste projeto. O Unity disponibiliza objetospara criao de cenrios, mas para a modelagem dos corredores e salas principais utilizou-se oAutodesk Maya, por ser uma ferramenta mais poderosa.
A exportao do resultado da modelagem feita atravs de plugins da prprio Maya parao formato FBX. A Figura 25 apresenta a modelagem dos corredores do jogo ScareSupreme.
Figura 25: Modelagem dos corredores e salas
Fonte: Elaborada pelo Autor
4.3 Criando um Prottipo
Aps a modelagem dos corredores e salas principais, o arquivo FBX importado para oUnity e includo no cena atual. Foi adicionado um First Person Controller, que um objeto da
-
41
assets padro do Unity para controle de personagem com viso em primeira pessoa. O objetivoprincipal do prottipo foi realizar testes de proporo de tamanho, movimentao de jogabilidadeno ambiente criado e possvel continuao do projeto.
4.4 Modelagem dos Objetos
Vrios objetos foram criados diretamente no Maya para interagirem ou no com opersonagem do jogo, entre eles destacam-se caixas de madeiras, chaves, galo de gasolina, mesase diversos objetos. As Figuras 26 e 27 apresentam objetos modelados para o jogo ScareSupreme.
Figura 26: Modelagem dos objetos mesa e galo
Fonte: Elaborada pelo Autor
Figura 27: Modelagem de diversos objetos
Fonte: Elaborada pelo Autor
4.5 Insero de texturas
Texturas de qualidades e uma boa incluso nos modelos desenvolvidos proporcionamrealismo e perceptiva de profissionalismo que podem impressionar qualquer jogador. Aps odesenvolvimento de todos os objetos do cenrio, foram utilizadas tcnicas de mapeamento UV etexturizao dos mesmos no prprio Maya.
-
42
4.5.1 Mapeamentos UV
Vrios tipos de tcnicas de mapeamento de UV (Figura 28) foram utilizadas para tex-turizao e logo sero citadas; mapeamento UV a tcnica de desembrulhar todas as faces doobjeto para a aplicao correta das texturas em seu plano. Foi utilizado o prprio editor de UVdo Maya, aplicado uma textura xadrez(preto e branco) em todos os planos mapeados para ter aperspectiva do tamanho da UV e evitar imagens distorcidas aps a aplicao da texturas.
Figura 28: Mapeamento UV de diversos objetos
Fonte: Elaborada pelo Autor
4.5.1.1 Automatic Mapping
Est funo no Maya calcula e gera automaticamente o mapeamento UV do objeto emquesto, em casos de uma geometria que possuem faces para todos os eixos ou mais complexas,o mapeamento manual o mais indicado. A Figura 29 apresenta o resultado do AutomaticMapping.
Figura 29: Mapeamento UV de Objetos
Fonte: Elaborada pelo Autor
-
43
4.5.1.2 Mapeamento Manual
Utilizao do mapeamento manual mais preciso nas superfcies por ser mais cuidadosoe trabalhoso. Foi utilizada a funo Planar Mapping (Figura 30) para todas superfcies lisas nomesmo eixo. Por exemplo, pisos e paredes longas necessitam repeties de texturas. Para objetoscirculares foram utilizados a funo Culindrical Mapping.
Figura 30: Planar Mapping
Fonte: Elaborada pelo Autor
4.5.2 Edio de materiais e texturas
Todos os materiais criados para este projeto so do tipo lambert e sero alterados somentequando necessrio dentro do Unity. Aps a criao do material, o mesmo aplicado no objetoou plano correspondente, substituindo o formato anterior em xadrez, mas mantendo o mesmomapeamento UV, ou seja, as imagens no sero distorcidas. A Figura 31 apresenta uma texturaaplicada no jogo ScareSupreme.
Todos as texturas aplicadas foram editadas no tamanho mltiplos de 2, o Unity conse-gue converter imagens de tamanhos diferentes, mas precisaria de processamento adicional nomomento da execuo do jogo.
Figura 31: Visualizao de texturas aplicadas no projeto
Fonte: Elaborada pelo Autor
-
44
Vrios objetos podem receber o mesmo material. Na importao para o Unity soseparados os materiais e as texturas fisicamente (Figura 32), ambos podem ser atrelados a outrostipos de Objetos do projeto, mesmo que estes sejam diferentes dos modelos da importao.
Para Objetos que necessitam de repetio de textura, como pisos, paredes e tetos deextensos corredores, foi editada no Photoshop a textura no tamanho 512x512 e removidas assuas bordas utilizando a ferramenta Clone, na inteno de criar uma imagem contnua. Paraplanos maiores, foram criadas texturas de tamanho 2048x2048, pois estas imagens precisam deum detalhamento mais elaborado.
Figura 32: Visualizao das texturas importadas automaticamente para o Unity juntamente com o modelo
Fonte: Elaborada pelo Autor
4.6 Criao de Terreno
Foram modelados dois terrenos no projeto Unity aps a importao e posicionamento domodelo principal. Um destes foi posicionado na entrada da construo enquanto o outro ficou dolado oposto (Figura 34). A Figura 33 apresenta a insero de rochas pelo editor de terreno.
Figura 33: Rochas criadas no editor de terreno do Unity
Fonte: Elaborada pelo Autor
-
45
Figura 34: Floresta criada no editor de terreno do Unity
Fonte: Elaborada pelo Autor
4.7 Efeitos de renderizao
Aps a concluso dos passos anteriores, foram adicionados alguns efeitos do prprioeditor do Unity no projeto. A princpio o Skybox foi adicionado apresentando uma noite de luacheia, mas para o propsito do jogo o mesmo foi removido e ativado a nebrina(Fog) (Figura 35)com a cor prxima ao preto. A luz de ambiente est na mesma cor da neblina, com o objetivode intensificar o ambiente noturno e tambm para o personagem no enxergar objetos a longadistncia.
Figura 35: Ajustando o efeito neblina no Unity
Fonte: Elaborada pelo Autor
4.8 Assets e modelos Importados
Para este projeto foram importados vrios assets da comunidade, e tambm as que vierampor padres na instalao do Unity. Na criao de um novo projeto existe a possibilidade deselecionar quais destes pacotes sero importados, mas posteriormente podem ser acionadosmanualmente no projeto.
Foram utilizados os Assets padres de terreno, controle de personagem, partculas, Sky-boxes e Water (Figura 36). Assets da comunidade foram para rvores, chuvas e tambm foramadquiridos alguns modelos de sites externos, como carro e camas de dormir.
-
46
Figura 36: Incluindo lago com o Assets Water
Fonte: Elaborada pelo Autor
4.8.1 Partculas
Aps importar a Assets de partculas, as mesmas foram includas em diversos lugaresno projeto, como fumaa de um lago (Figura 37), fumaa de um gerador ligado e poeira de umantigo porto. Algumas esto visivelmente por padro, ou esperando a sua ativao em umadeterminada ao do jogador.
As partculas foram editadas individualmente no Unity e a sua texturas foram personali-zadas no Photoshop.
Figura 37: Partculas de vapor totalmente personalizadas
Fonte: Elaborada pelo Autor
4.9 Shaders avanados e iluminao
Normal mapping uma tcnica de computao grfica para simular imperfei-es e rugosidades no presentes na geometria do modelo. Para isso, perturba-mos as normais do objeto e a usamos no clculo das equaes de iluminao. Ageometria do material no alterada e isso implica que as silhuetas dos modelosno sofreram alteraes, apenas nos interiores que teremos a tradicional ilusode aumento de polgonos (PASTOR, 2011).
Foi aplicado em quase todos os materiais deste projeto a tcnica de shaders avanados(Figura 38), que a criao de Normal mapping a partir das suas texturas e a alterao dos
-
47
shaders para bumped Specular. Desta forma, as superfcies estaro mais tteis em suas aparncias,midas e ainda mais realistas na presena de luz em sua direo. As Figuras 39 e 40 apresentamtexturas com e sem aplicao de shaders.
Figura 38: Material com shader avanado
Fonte: Elaborada pelo Autor
Com o auxilio do plugin da Nvidia, o mapa normal foi extrado a partir dos mapa decores das texturas de praticamente todos os objetos do jogo.
Figura 39: Comparao de Textura simples e textura com Shaders avanados
Fonte: Elaborada pelo Autor
A iluminao do jogo est principalmente na lanterna do jogador. Por ser um jogo deambiente escuro, foram utilizados poucos pontos de luzes. Quando todas as aes e tarefas foremexecutadas pelo jogador, a sala final e as luzes dos corredores da construo sero iluminados,indicando o caminho para a vitria. Foi utilizado o objeto SpotLight para dar alguma iluminaoao ambiente.
-
48
Figura 40: Comparao de textura simples e textura com Shaders avanados
Fonte: Elaborada pelo Autor
4.10 Roteiro de eventos
Foram definidos todos os passos que o jogador precisa efetuar para conseguir avanar napartida. Em vrios momentos o mesmo precisar encontrar determinados itens ou aes paraabrir uma porta ou porto. Este roteiro programado tem a vantagem de ter poucas chances defalhas no jogo, mas caso queira iniciar uma nova partida, praticamente o roteiro ser parecido aoanterior, mesmo que foi programado para vrios itens mudarem de lugar aleatoriamente.
4.11 Coliso
Foi usado o sistema padro do prprio Unity para as colises dos personagens, itens,mapa e triggers. O Character Controller define o raio de coliso do corpo do personagem. Paracada objeto importado ativado o Generate Colliders em propriedades, antes ou depois deincluir na Cena, desta forma possvel colidir sem atravessar o mesmo. Cada objeto pode tero seu formato de coliso (Figura 41) editado manualmente no visualizador Inspector em suaspropriedades, e objetos criados diretamente no Unity recebem automaticamente o collider maisapropriado para o seu formato.
Figura 41: Componente de coliso do armrio de madeira
Fonte: Elaborada pelo Autor
-
49
4.12 Gatilhos e aes
Gatilhos no Unity so chamados de trigger (Figura 42), estes so um dos itens maisimportantes e usados em um desenvolvimento de jogos. Define quando determinado som deve sertocado, uma porta a ser aberta, um personagem teleportar, um monstro aparecer ou desaparecer.Foram usados cubos para os trigger, pois desta forma, o caminho que o jogador percorrerser totalmente preenchido, impossibilitando o mesmo de no acionar os gatilhos plantados.O componente renderer esta desativado, tornando-o invisvel na visualizao do jogador e ocomponente de Coliso ativado como um trigger na propriedades deste GameObject. Tambmforam associados scripts personalizados para as aes dos trigger.
Figura 42: Gatilho de ao instalado dentro de sala
Fonte: Elaborada pelo Autor
Os triggers somente foram usados quando o raio raycast no encaixasse na ao emquesto. Pois podem consumir processamento com muitos Triggers em um cenrio.
Para este projeto foi utilizado a tcnica Raycast (Figura 43) que consiste em formar umraio invisvel, e o mesmo acompanha a viso do jogador, identificando tudo aquilo que esteja emsua frente. Desta forma, possvel identificar qual objeto o personagem est olhando e ativaruma ao determinada. Foi criado apenas um Script com as regras do Raycast e associado acmera de visualizao principal. Este contm a maior quantidade de linha programada, poispossui muitos objetos do jogo associado em suas variveis.
4.13 Personagens
Foi decidido criar dois personagens neste projeto. O primeiro controlado pelo jogadorem 1o pessoa e visvel somente a lanterna do mesmo; o segundo personagem um monstroque parece em diversos lugares aleatoriamente.
4.13.1 Modelagem dos Personagens
Apenas o personagem monstro possui uma forma fsica modelada, e inicialmente foidesenvolvido na ferramenta Maya (Figura 44) com poucos detalhes, mas com um certo aspecto
-
50
Figura 43: Raio Raycast projetado
Fonte: Elaborada pelo Autor
assustador.
Figura 44: Personagem modelado no Maya e importado para o Unity
Fonte: Elaborada pelo Autor
Aps vrias pesquisas, foi decidido modelar novamente o personagem na ferramentaMudBox (Figuras 45 e 46), que tambm do Autodesk e totalmente voltada para esculturas,objetos e personagens. Na importao do modelo, foi necessrio diminuir a qualidade, poisdentro do jogo apresentava travamentos no momento de visibilidade na cmera do personagemcontrolvel.
4.13.2 Movimentao do personagem jogvel
As movimentaes do personagem jogvel esto inclusas nas assets padres do Unity epodem ser importadas na criao do projeto ou posteriormente. Foram feitas algumas alteraesnas propriedades, como acelerao dos passos, altura do pulo e todos sendo controlados peloteclado; a viso que simula a movimentao da cabea feita pelo mouse.
-
51
Figura 45: Rosto do monstro modelado no Mudbox
Fonte: Elaborada pelo Autor
Figura 46: Resultado final do monstro modelado no Mudbox
Fonte: Elaborada pelo Autor
4.13.3 Movimentao do personagem monstro e Inteligncia Artificial
A movimentao do personagem monstro definido por scripts em diferentes momentos;podem ser ativados por raycast em objetos e triggers. Um dos scripts verificar o posicionamentoatual do personagem jogvel e efetuar clculos para criar um raio circular com o objetivo deteleportar o mostro nas proximidades. O outro script utiliza o algortimo Pathfinding que vemintegrado no Unity para identificar o ambiente e os possveis caminhos que o mostro deveperseguir.
4.14 Mecnica de Combate
Aps concludo todas as movimentaes, foram criadas as regras de combate entre os dospersonagens. O jogador no conseguir derrotar o mostro, mas poder morrer desde que a suasanidade alcance o valor 100. O script desenvolvido para o controle das aes do personagemjogvel possui a funo update, que um mtodo integrado no prprio Unity e qualquer cdigoinserido dentro do mesmo executado a cada quadro (ou frame) do jogo, ou seja, foi utilizado atcnica raycast em conjunto a funo update para quando o personagem estiver olhando parao mostro a sua sanidade aumente (Figura 47), causando a morte instantnea do jogador caso
-
52
alcanar o valor 100. Caso o jogador consiga escapar de um possvel ataque do monstro, issoocorre quando existir uma pequena distncia entre ambos ou no estiver mais olhando para omesmo, a sua sanidade voltar ao normal a cada update.
Figura 47: Jogador com sanidade alta e com risco de morte
Fonte: Elaborada pelo Autor
4.15 Msicas e Efeitos Sonoros
Para este projeto foi criada uma pasta Sound dentro do diretrio principal no visualizadorProject, onde so arrastados todos os sons usados no jogo. O Unity suporta muitos tipos dearquivos de som e foram usados no formato mp3 e wav (WAVEform audio format).
Para cada som foi criado um Gameobject, includo o componente Audio Source (Figura48) que manter as propriedades do som e arrastado-o at o lugar aonde deseja que o mesmo sejareproduzido. Sons de passos, abrir portas, ambientes e outros, foram adicionados na hierarquiado Player Controller na visualizao Hierarchy, ou seja, sempre estar acompanhando o jogadorpara que sejam reproduzidos por algumas aes especificas, no mesmo volume frequente etambm podendo exclu-los quando necessrio.
Quase todos os sons tiveram que ser editados no Audacity, principalmente para reduzir otempo de execuo, remoo de rudo, cortar a faixa de udio ou at desacelerao. Para sons depassos e repetitivos com pequenas diferenas no tempo, foi utilizado o FL Studio Demo que bastante simples e no requer conhecimento profissional de edio.
Os sons de ambiente foram adquiridos no site www.freesound.org que uma base dedados em udio colaborativa de Creative Commons Licensed sounds que especialmente para propsitos de udio que no possuem copyright; muitos dos efeitos sonoros como chavearrastando, destrancando portas e etc. Foram gravados diretamente pelo microfone do MicrosoftHeadset: LifeChat LX-3000.
-
53
Figura 48: Objeto que simula som do mar
Fonte: Elaborada pelo Autor
4.16 Animaes de objetos
O prprio Unity possui um editor de animaes e alguns objetos dentro deste projetoforam editados com est ferramenta. A maioria das portas so movimentadas pressionando oboto esquerdo do mouse e outras arrastando-as para os lados, mas algumas so abertas oufechadas por animaes criadas referente a este objeto, e acionadas pela distancia, clique domouse ou triggers. Algumas animaes foram compartilhadas para o mesmo tipo de objeto.Foram criados vrias animaes para diversos objetos como caixas de madeira, travesseiro, pedra,monstro e botes de acionamento. As Figuras 49 e 50 apresentam a edio de animao da portainicial.
Figura 49: Animao da porta inicial
Fonte: Elaborada pelo Autor
4.17 Objetivos do jogo
O objetivo do jogo explorar toda a construo abandonada e encontrar itens para acionarnovas aes para liberaes de eventos bloqueados. exibida a mensagem para retornar ao carroinicial aps todas as tarefas serem concludas com sucesso, quando ocorrer a aproximao comeste Objeto ser finalizada a partida atual com vitria.
-
54
Figura 50: Animao da porta inicial
Fonte: Elaborada pelo Autor
Para o jogo ficar mais desafiador, o personagem corre o risco de morte em determinadastrajetrias do caminho e quando visualizar o monstro inimigo a uma proximidade muito baixa.
4.18 Transies de telas e opes
Para este projeto as transies de telas ou Scenes so efetuadas entre o menu inicial(Figura 51), o jogo em si, que o proposito principal, e a tela de vitria.
Figura 51: Tela Inicial do jogo
Fonte: Elaborada pelo Autor
A tela inicial carregada automaticamente na execuo do jogo e pode ser chamada natela de vitria; existe o boto de informaes do jogo e o boto iniciar que o responsvel decarregar a tela do jogo. Dentro do jogo possvel abrir um menu de botes apertando a teclaEsc (Figura 52), no uma transio de tela, ou seja, pode ser chamado a qualquer momento epossui apenas as opes de sair e reiniciar a partida.
O menu de vitoria executado quando o jogador conclui com sucesso todas as tarefasdentro do jogo. A Figura 53 apresenta o cdigo-fonte da transio da tela inicial para a tela dojogo.
-
55
Figura 52: Menu aberto dentro do jogo
Fonte: Elaborada pelo Autor
Figura 53: Boto de chamada da tela de jogo
Fonte: Elaborada pelo Autor
4.19 Tutoriais e mensagens de ajuda
Na tela de carregamento do jogo existe o boto input que define os comandos de movi-mentao do personagem. Jogadores acostumados com jogos em primeira pessoa provavelmenteno tero problemas para se acostumarem. A cada movimento do personagem dentro do jogo,sempre so apresentadas algumas mensagens explicando ou alertando o que necessrio paraavanar nos eventos, desta forma o mesmo no ficar perdido dentro do ambiente.
4.20 Compilando o projeto
Obrigatoriamente para cada projeto criado no Unity necessrio a incluso das cenasusadas na tela de configurao de compilao e escolher qual plataforma ser destinada o jogoa ser compilado. Este projeto foi totalmente desenvolvido para ser jogado usando o mouse e oteclado, sucessivamente foi escolhido a compilao para PC com opo de Windows, MAC OSe Linux. A Figura 54 apresenta as configuraes da tela de compilao do jogo e a Figura 55apresenta a execuo do jogo aps a compilao.
4.21 Testes
Durante o desenvolvimento deste projeto vrias etapas de testes foram efetuadas paraidentificar possveis falhas no jogo, principalmente quando ocorriam alteraes de cdigos,sons ou demais objetos. Apenas o desenvolvedor do jogo tm acesso aplicao e a execuo
-
56
Figura 54: Painel de propriedades da compilao
Fonte: Elaborada pelo Autor
Figura 55: Jogo compilado
Fonte: Elaborada pelo Autor
-
57
diretamente na ferramenta de desenvolvimento. Na fase alfa, o jogo estar aberto para possveistestadores.
4.22 Manuteno
Este jogo receber atualizaes e novas funcionalizadas em todos os aspectos. Desenvol-vimento de melhorias nos scripts dos principais controladores, com o objetivo de simplificar asmanutenes. Ser criado um esqueleto para o personagem monstro, com o objetivo de tornar assuas movimentaes mais realistas. Sero criados novos efeitos sonoros, animaes de objetos,correes de bugs e melhorias na dificuldade do jogo.
4.23 Dificuldades do projeto
A maior dificuldade durante todo o estudo e criao deste trabalho estava na modelagemdos objetos no Maya, pois foi necessrio muito tempo e dedicao para os detalhes, com oobjetivo de desenvolver um jogo mais atraente e divertido.
-
58
5 CONCLUSO
De uma maneira geral, o projeto proposto em questo foi iniciado seguindo uma pequenaanlise sobre o crescimento mundial do mercado de jogos, pois estima-se que a receita daindustria de games ultrapasse 86 bilhes de dlares em 2016 (WARMAN, 2013). A fim decompreender todos os passos para o desenvolvimento de jogos profissionais, foi necessrioestudar algumas etapas dos processos em geral.
O estudo sobre a tecnologia Unity foi essencial para a realizao deste trabalho, poisa simplicidade na codificao no requer conhecimentos especficos na rea de games, desdeque o desenvolvedor tenha conhecimentos em programao. H tambm reduo no tempode desenvolvimento por prover a manipulao de praticamente todos os itens de uma formasimples e rpida. A verso grtis possui algumas limitaes principalmente nos recursos deiluminao e efeitos, mesmo assim possvel a converso do jogo para vrias plataformas deconsoles, computadores pessoais e celulares. Com um estudo mais aprofundado na iluminao,pode-se diminuir o processamento em tempo real e uma viso mais realista das texturas quandocombinados com shaders avanados. O Unity dispe de recursos padres e prontos para seremutilizados e esto disponveis pacotes para download em sua comunidade online.
Durante o desenvolvimento, o Unity apresentou limitaes referente a modelagem deobjetos 3D. Vrias ferramentas foram utilizadas em conjunto para o proposito final, como paraa modelagem da maioria dos objetos 3D, foi utilizado o Autodesk Maya; as texturas destesobjetos foram criadas e editadas na ferramenta Adobe Photoshop. Aps a importao para oUnity, alguns destes itens foram trocados ou anexados a outros objetos 3D, o que possibilita amanipulao de matrias entre os objetos. A utilizao das ferramentas Audacity e FL StudioDemo na edio de udio como um todo foram cruciais para a concluso acelerada do projeto.Outro contratempo foi a modelagem do personagem inimigo do jogador, que inicialmente foicriado no Autodesk Maya. Como o resultado final ficou bastante abaixo do esperado, foi decididodesenvolver um novo modelo a partir da ferramenta Autodesk MudBox. Esta tem o objetivo detrabalhar nas modelagens de objetos, personagens e esculturas. Esta alternativa demandou novosestudos da modelagem 3D.
Conclui-se que o Unity uma excelente ferramenta para desenvolvimento de jogosprofissionais para diversas plataformas do mercado, embora a necessidade do uso de outrasferramentas para o sucesso visivelmente percebida no desenvolvimento de qualquer projeto.
-
59
REFERNCIAS BIBLIOGRFICAS
2010 TOTAL CONSUMER SPEND ON ALL GAMES CONTENT IN THE U.S.ESTIMATED BETWEEN 15.4TO15.6 BILLION. NPD Group, n. 110113. Disponvel em:. Acesso em: 04 abr. 2011. Nenhumacitao no texto.
3DMAGICMODELS. 3d Magic Models. 2014. Disponvel em: .Acesso em: 08 jul. 2014. Nenhuma citao no texto.
ADL. ADL 3D Repository. 2014. Disponvel em: . Acesso em: 11 ago. 2014. Nenhuma citao no texto.
AUTODESK. Autodesk mudbox. 2014. Disponvel em: . Acesso em: 11 set. 2014. Citado na pgina 37.
AUTODESK. Software de animao computadorizada maya autodesk. 2014. Disponvel em:. Acesso em: 19 ago. 2014. Citado napgina 36.
BERKEBILE, B. iTween for Unity by Bob Berkebile. 2014. Disponvel em: . Acesso em: 10 mar. 2014. Nenhuma citao no texto.
BORGO. Pathfinder. 2014. Disponvel em: . Acesso em: 30 jun. 2014. Nenhuma citao no texto.
DISHFUNCTIONALDESIGNS. Dishfunctional Designs. 2014. Disponvel em: .Acesso em: 28 jul. 2014. Nenhuma citao no texto.
FFONTS. WoodenCasket. 2014. Disponvel em: . Acesso em: 22 jul. 2014. Nenhuma citao no texto.
GAME DEVELOPMENT. [S.l.], 2011. Disponvel em: . Acesso em: 28 fev. 2011. Nenhuma citao no texto.
HAINESM, E. DragObject. 2014. Disponvel em: . Acesso em: 11 set. 2014. Nenhuma citao no texto.
INTRODUCAO AO MICROSOFT XNA - Desenvolvendo Jogos em casa.Bruno Amaral. Disponvel em: . Acesso em: 10 maio. 2011. Nenhumacitao no texto.
INTRODUCING FL Studio 11. Disponvel em: . Acessoem: 19 ago. 2014. Nenhuma citao no texto.
KING, T. Texture King. 2014. Disponvel em: . Acesso em: 20abr. 2014. Nenhuma citao no texto.
MANIACOSPORFILME. Blog dos Manacos por Filme. 2011. Disponvel em: .Acesso em: 07 jul. 2014. Nenhuma citao no texto.
-
60
NAGAOKA, T. T. Desenvolvimento de um jogo integrado rede social facebook.Universidade de So Paulo Instituto de matemtica e estatstica, 2013. Disponvel em:.Acesso em: 22 fev. 2014. Nenhuma citao no texto.
NEWS AND UPDATES. International Game Developers Association. Disponvel em:. Acesso em: 20 mai. 2014. Nenhuma citao no texto.
NOVAK, J. Desenvolvimento de Games. 2. ed. So Paulo: Cergage Learning, 2010. Citado 11vezes nas pginas 18, 20, 21, 22, 23, 24, 25, 26, 27, 28 e 29.
NVIDIA. Nvidia texture tools for adobe photoshop. Disponvel em: . Acesso em: 05 mar. 2014. Nenhuma citao notexto.
OPENGAMEART. Beds, mattresses. 2014. Disponvel em: . Acesso em: 02 abr. 2014. Nenhuma citao no texto.
PALACE, T. CG Textures. 2014. Disponvel em: . Acesso em:10 fev. 2014. Nenhuma citao no texto.
PALACE, T. Texture Palace - textures for photoshop free! 2014. Disponvel em:. Acesso em: 02 fev. 2014. Nenhuma citao no texto.
PASTOR, T. D. Normal mapping com shaders. pontov, 2011. Disponvel em: . Acesso em: 10ago. 2014. Citado na pgina 46.
SKY. Scripts teis para seus jogos na unity (java). 2012. Disponvel em: . Acesso em: 26 mai. 2014. Nenhuma citao no texto.
SMITH, W. Mayangs Free Textures. 2014. Disponvel em: .Acesso em: 02 fev. 2014. Nenhuma citao no texto.
SOFTONIC. Adobe Photoshop 2014. 2014. Wiki do abnTeX2. Disponvel em:. Acesso em: 02 jun. 2014. Citado na pgina 38.
SPEEDTUTOR. Horror game series - Part 1: Creating a sanity meter in Unity3D.2014. Disponvel e