36
Criando editores customizados para Jogos Alpha Racing por Pedro Cau

Press Alpha Racing Editors

  • Upload
    jandex

  • View
    167

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Press Alpha Racing Editors

Criando editores customizadospara Jogos

Alpha Racing

por Pedro Cau

Page 2: Press Alpha Racing Editors

Apresentação• Pedro Cahu • Formado em Engenharia da Computação

– Em 2010 – (ITA - Instituto Tecnológico de Aeronáutica)

• Coordenador de Produção da Alpha Channel• Meu site: jandexdev.wordpress.com

Page 3: Press Alpha Racing Editors

Proposta• Mostrar sobre Alpha Racing• Dificuldades no desenvolvimento• Explicar a necessidade de se criar um editor• Vantagens de se utilizar o Unity3D

Page 4: Press Alpha Racing Editors

Alpha Racing• Vídeo do Alpha Racing

Page 5: Press Alpha Racing Editors

Alpha Racing• Primeiro Jogo desenvolvido pela Alpha Channel• 1 ano em desenvolvimento• Equipe sem experiência prévia em jogos comerciais

Page 6: Press Alpha Racing Editors

Visão Geral• Jogo de corrida

– Velocidade– Carros futuristas

• Advergame– Se passa dentro do ambiente da Alpha Channel

• Online– Recorde entre jogadores– Desafio– Rodar direto do Navegador de WEB

Page 7: Press Alpha Racing Editors

Exemplo – Pista Modelada• Unity Racing Tutorial

Page 8: Press Alpha Racing Editors

Primeiros Protótipos• Pista Modelada em Software 3D

Page 9: Press Alpha Racing Editors

Primeiros Protótipos• Problema:

– Necessária equipe de modeladores– Grande tempo necessário– Dificuldade para ajustes

Page 10: Press Alpha Racing Editors

Exemplo – Editor de pista• Trackmania Nations

Page 11: Press Alpha Racing Editors
Page 12: Press Alpha Racing Editors
Page 13: Press Alpha Racing Editors

Outro Exemplo

Page 14: Press Alpha Racing Editors

Pra que serve um Editor?• Permitir que Level Designers criem• Impossível ter criatividade lidando com limitações

técnicas• No caso de outras engines: level criado direto no código-

>dificílima criação• Possibilitar que usuários criem conteúdo

Page 15: Press Alpha Racing Editors

Sobre o Unity Editor• Base para criação de cenários• Ambiente visual• Drag and Drop• Expansível

Page 16: Press Alpha Racing Editors

Primeira Tentativa• Peças de pistas encaixáveis

Page 17: Press Alpha Racing Editors

Primeira Tentativa• Peças de pistas encaixáveis

Page 18: Press Alpha Racing Editors

Primeira Tentativa• Dificuldades

– Trabalho de modelar inúmeras peças– Todas as peças devem encaixar entre si– Peças de tamanhos padronizados em tiles– Solução comumente usado em jogos, porém tempo disponível

insuficiente

Page 19: Press Alpha Racing Editors

Solução• Gerar a pista de modo procedural (por código)

– Vantagens:• Não é necessário modelar• Trechos de pista customizáveis• Formato de pistas sem restrições• Criação de pista em minutos

Page 20: Press Alpha Racing Editors

Gerador de pistas

Page 21: Press Alpha Racing Editors

Funcionamento

Unity3d

Page 22: Press Alpha Racing Editors

Como funciona?• O trecho de pista é composto de 3 elementos:• Definição de perfis de pista• Mesclagem de vários perfis• Definição dos parâmetros (curvatura, elevação, etc)• Extrusão dos perfis segundo os parâmetros

Page 23: Press Alpha Racing Editors

Duvida!• Mas do que é feito um modelo 3D?

– Vértices– Faces (Conjunto de 3 Vertices)

Page 24: Press Alpha Racing Editors

Modelo 3D• Vertice:

– Posição no espaço (x,y,z)– Vetor Normal (x,y,z)– Vetor Tangente (x,y,z)– Mapa UV (x,y)

Page 25: Press Alpha Racing Editors

Modelo 3D• Face:

– Lista índices de vértices– Relaciona cada 3 vértices para montar uma

face

Page 26: Press Alpha Racing Editors

Perfil• Sequência de pontos em (x,y) que define o corte

da pista– Exemplos:

Page 27: Press Alpha Racing Editors

Extrusão• O perfil é repetido várias vezes de acordo o parametro

Segments

Page 28: Press Alpha Racing Editors

Sequencia

Page 29: Press Alpha Racing Editors

Algoritmo• 1- Gerar Vértices a partir do perfil linha 0• 2- Gerar para linha 1• 3- Percorrer as duas listas montando os triangulos• 4- Transformar Pivot em parâmetro/Nsegmentos• 5-Gerar linha 2 baseada no pivot• 6- Pecorrer linhas 1 e 2 montando triangulos

Page 30: Press Alpha Racing Editors
Page 31: Press Alpha Racing Editors

Cenários

• Ambiente da Alpha Channel

Page 32: Press Alpha Racing Editors

Gráfico

• Cenário– Ambiente da Alpha Channel

Page 33: Press Alpha Racing Editors

Gráfico

• Cenário– Ambiente da Alpha Channel

Page 34: Press Alpha Racing Editors

Outros Recursos• Interface customizada:

Page 35: Press Alpha Racing Editors

Proximo Passo• Criar interface para Usuário

– Interface intuitiva e amigável– Impedir criações sem sentido– Auxiliar na validação da pista

Page 36: Press Alpha Racing Editors

Conclusão

• Muito obrigado pela sua atenção!

• Perguntas??