Design de FPS com Unreal Engine
Aula 01
Thiago Malheiros
Apresentação Pessoal
Nome: Thiago Malheiros
Graduado em Ciências da Computação - UGF
Pós-graduado em Engenharia da Computação Avançada - UFRJ
Mestre em computação com ênfase em jogos e entretenimento digital - UFF
Experiência profissional de 5 anos como desenvolvedor - TV Globo
Áreas de pesquisa: Computação Gráfica, jogos, realidade virtual e aumentada.
Literatura recomendada
○ The art of game design: Book of lenses - Jesse Schell;
○ Design de Games: Uma abordagem prática - Paul Schuytema;
Introdução
First Person Shooter - “Tiro em primeira pessoa”
○ visão da câmera a partir do ponto de vista do protagonista;
○ combate com armas de fogo;
○ Doom , Battlefield , Halo , etc.
Fundamentos do Game Design
O que é um Game Design ?
○ Projetar;
○ Elaborar Regras;
○ Criar mecânicas;
○ Definir enredo.
“Design de games é a planta baixa de um game. Designer é a pessoa designada
para criar a planta baixa e, a partir dela (com muito trabalho) surgirá um jogo.”
Schuytema
Fundamentos do Game Design
O que é um Jogo ?
○ Objetivo;
○ Conflitos;
○ Podem ser ganhos ou perdidos;
○ São interativos;
○ Possuem desafios.
Fundamentos do Game Design
Os 4 elementos básicos de um jogo
○ Mecânica;
○ História;
○ Estética;
○ Tecnologia.
Fundamentos do Game Design
Técnicas Criativas
São técnicas que ajudam a equipe definir a ideia central do jogo a ser
desenvolvido. Existem diversas técnicas, algumas delas são:
● Brainstorm
● Caixa morfológica
Fundamentos do Game Design
Técnica Brainstorm
● Elencar ideias baseado em
um foco, tema.
● Ideal que seja feito em grupo.
● Não realizar julgamentos no
início ou durante o
surgimento das ideias.
○
Fundamentos do Game Design
Trabalho em aula
○ Em grupo (6-12 pessoas) faça um brainstorm baseado em um tema foco.
Algumas sugestões de temas:
fantasia, guerra, natal, carnaval, história, cyberpunk, ficção, etc..
Fundamentos do Game Design
Técnica da Caixa Morfológica
○
PLATAFORMA MECÂNICA ENREDO ESTÉTICA
Fundamentos do Game Design
Técnica da Caixa Morfológica
○
PLATAFORMA MECÂNICA ENREDO ESTÉTICA
PC Gerenciamento de Proteger/Salvar Anime / Desenho
recursos
CONSOLE Beat 'em ups Fazenda Realista
WEB RPG Mitologia grega Cyberpunk
Fundamentos do Game Design
Técnica da Caixa Morfológica
○
PLATAFORMA MECÂNICA ENREDO ESTÉTICA
PC Gerenciamento de Proteger/Salvar Anime / Desenho
recursos
CONSOLE Beat 'em ups Fazenda Realista
WEB RPG Mitologia grega Cyberpunk
Fundamentos do Game Design
Técnica da Caixa Morfológica
○
PLATAFORMA MECÂNICA ENREDO ESTÉTICA
PC Gerenciamento de Proteger/Salvar Anime / Desenho
recursos
CONSOLE Beat 'em ups Fazenda Realista
WEB RPG Mitologia grega Cyberpunk
Fundamentos do Game Design
Trabalho para próxima aula
○ Faça uma tabela morfológica de 3 linhas com as colunas: Plataforma, Mecânica, Enredo e
Estética. Faça combinações de pelo menos 5 jogos já existentes.
○ Elabore uma tabela morfológica para um jogo com mecânica de primeira pessoa (First Person
Shooter) com plataformas, enredos e estéticas variáveis.
○ Apresente a sua ideia em sala (slide de 3 ou 4 linhas).
Game Design Document (GDD)
Um Game Design Document (GDD) é um documento que descreve todos
aspectos de um jogo:
– Ideia geral; – História; – Gameplay; – Controles; – Interfaces; – Personagens; – Inimigos; – Fases...
Game Design Document (GDD)
Trabalho para próxima aula: Faça um GDD de uma página.
Game Engine
Motor de jogo é uma aplicação que facilita a vida do desenvolvedor de games.
Uma Game Engine é uma biblioteca, ou pacote de funcionalidades, feita para
facilitar o desenvolvimento.
Possuem motores de física, que ajudam no sistema de colisões de
personagens, suporte a animações, sons, inteligência artificial dos inimigos e
suporte à linguagem de script.
Game Engine
Existem diversos motores de jogo com suas vantagens e desvantagens.
Por exemplo:
Unreal, Unity, CryEngine, Panda3D, Blender, dentre outros.
.
Como baixar a Engine?
acesse: WWW.UNREALENGINE.COM
Como baixar a Engine?
Deverá realizar um pequeno cadastro com:
País , nome, sobrenome, nome de visualização,
e-mail e senha.
*Aceitar os termos de uso do formulário.
Preview da Próxima aula
Na próxima aula veremos:
● Unreal Blueprints
● Tipos de de projetos na Unreal
● Ambientação na Interface
FPS Simples com UDK
Aula 02
Thiago Malheiros
FPS Simples
tópicos abordados:
● Como criar uma malha customizada
através de primitivas da Unreal.
● Importar Assets de outros projetos.
● Construção de Blueprints
● Colisores
● Construção de um BP com IA básica.
FPS Simples
Criando elementos de Cenário (Brush
Geometry)
Na UDK é possível customizar primitivas
que forem fazer parte do seu level.
FPS Simples
Criando elementos de Cenário (Brush
Geometry)
Para Isto: Vá em Modos > Geometry
FPS Simples
Criando elementos de Cenário (Brush
Geometry)
Para Isto: Vá em Modos > Geometry
Brush Aditivo : Sobrepõem outro brush
criado anteriormente
Brush subtrativo: Elimina visualmente
parte do objeto que está sobrepondo.
FPS Simples
Criando elementos de Cenário (Brush
Geometry)
Malha estática: É criada após a
customização de diversos brushes de
geometria e cria um objeto de jogo.
Para criar a malha estática, basta
selecionar todos os pincéis e clicar
no botão “Criar Malha Estática”
FPS Simples
Blueprints
Blueprint é a ferramenta de criação de lógica
visual da UDK.
Com blueprint é possível definir o
comportamento lógico de qualquer elemento
de jogo na UDK.
Clique com o botão direito e crie um novo
blueprint
FPS Simples
Blueprints
Escolha o tipo Ator
FPS Simples
Blueprints
Após criar o blueprint (BP), dê o nome de
“itemPickup”. Este BP fará parte da lógica
elaborada para coletagem dos itens do
cenário pelo player.
Em seguida clique em adicionar componente
e escolha Sphere
FPS Simples
Blueprints - itemPickup
Na aba EventGraph, com o botão direito do mouse, escolha o evento
OnComponentBeginOverlap e associe o mesmo a função de destroy , conforme
abaixo:
FPS Simples
Blueprints -
Encontre na UDK o elemento FirstPersonCharacter e clique em Editar Blue Print.
FPS Simples
Blueprints
Com a BP aberta do FirstPersonCharacter, selecione a capsule de colisão e na
aba detalhes marque a caixa Rastrear Complexo em Movimento.
FPS Simples
Blueprints
Ainda no mesmo BP, vá na aba EventGraph crie duas variáveis: pontos e
pontuacaoMaxima do tipo Integer.
Atribua na aba detalhes o valor
inicial da sua pontuacaoMaxima
o número máximo de elementos
que seu cenário irá ter.
FPS Simples
Blueprints
Vá na Aba eventGraph e inclua esta lógica.
FPS Simples
Blueprints
Vá na Aba eventGraph e inclua esta lógica.
FPS Simples
Importe os elementos do starter kit do ThirdPerson, faça uma cópia do
ThirdPerson BP e renomeie para AIEnemy. Vamos fazer esse objeto perseguir o
jogador caso o mesmo consiga ver o jogador em um determinado campo de
visão.
Primeiramente, abra o BP AIEnemy e apague os componentes FollowCamera e
CameraBoom
FPS Simples
Na aba eventGraph deste BP. Inclua a lógica abaixo:
FPS Simples
Aproveitando, inclua também a lógica que irá destruir o inimigo por colisão do
projétil ou o player por colisão com o mesmo:
FPS Simples
Crie um Nav Mesh Bound Volume que definirá onde o EnemyAI irá andar.
FPS Simples
Distribua os BPs do tipo itemPickup pelo cenário e não se esqueça de atualizar a
variável pública pontuacaoMaxima (BP do First Person Character) com a
quantidade máxima de itens.