PloobsEngine
This presentation is the property of its rightful owner.
Sponsored Links
1 / 45

PloobsEngine Post Mortem PowerPoint PPT Presentation


  • 64 Views
  • Uploaded on
  • Presentation posted in: General

PloobsEngine Post Mortem. Agenda. Apresentacao. Game Engine. Renderer (2D or 3D) Detector de Colisão Scripting Som /Video Animação Shading/ Iluminação Networking Física Inteligência Artificial Level Editor Custom Tools. MÓDULOS BÁSICOS DE UMA GAME ENGINE.

Download Presentation

PloobsEngine Post Mortem

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Ploobsengine post mortem

PloobsEngine Post Mortem


Ploobsengine post mortem

Agenda


Ploobsengine post mortem

Apresentacao


Ploobsengine post mortem

Game Engine

  • Renderer (2D or 3D)

  • Detector de Colisão

  • Scripting

  • Som/Video

  • Animação

  • Shading/Iluminação

  • Networking

  • Física

  • Inteligência Artificial

  • Level Editor

  • Custom Tools


Ploobsengine post mortem

MÓDULOS BÁSICOS

DE

UMA GAME ENGINE


Render engine

  • Controlar a Geração de imagens 2D emtempo real a partir das informações do Grafo de Cena.

    • Objetos

    • Partículas

    • Efeitos Especiais ...

  • Interagediretamente com a GPU.

    • GeralmentefeitoemOpenGL ou DirectX

Render Engine


Shading lighting engine

  • Trabalha com a Render Engine

  • CalculaIluminação:

    • Point, Direction, Spot ...

    • PhongShading

  • Calculaefeitosespeciais:

    • Sombras

      • ShadowMapping

      • CSM – VSM ...

    • Normal Maps

    • Partículas

    • Outros...

  • AplicadoaosobjetospeloRenderizador a partir de informações do Grafo de cena

Shading/Lighting Engine


Collision detection engine

  • Intersecção entre sólidos

    • Esferas

    • Planos

    • Cilindros

    • Poligonos

    • TriangleMeshes

    • Characters

    • CustomObjects

  • Resposta à Colisão

    • Eventos

    • Física Newtoniana

    • Alta complexidade Computacional

      • Divisão Espacial

        • Octree

        • QuadTree

Collision Detection Engine


Physics engine

  • Manipula o comportamento de objetosbaseadonascolisões.

  • Determinístico VS Comportamento Estocástico

  • Integrado com Sistema de Colisão

    • CPU / GPU

  • Modelos de simulação.

    • Dinâmica de CorpoRígido.

    • Soft Body Physics

    • Dinâmica de fluídos

    • Carros

    • Personagens

      • Complexo

      • Raycast + Dinámica

Physics Engine


Scripting engine

  • Geralmenteutiliza-se linguagensinterpretadas(Python, Lua, etc.)

    • Flexibilidade e Simplicidade

    • Alterações em Tempo Real

  • Nãomodificacódigoalgum da engine

  • Específico de cada Jogo

  • Gama de Utilização

    • Menus

    • Criação de Objetos

    • Lógica do jogo

      • Resposta à eventos

      • Atribuir Comportamento

Scripting Engine


Sound video engine

Sound/Video Engine

  • Construídaemcima de APIs comoOpenaAlou DirectSound.

  • Video

    • Cut-scenes, oupedaços de objetos no jogo, comouma TV, cameras estáticas.

  • Sound

    • Efeitos 2D, BackGround

    • Som 3d

      • EfeitoDopler

      • Surround.


Animation engine

Animation Engine

  • Representaçao:

    • BoneAnimation

    • KeyFrameAnimation

  • Importar Informações de Animação (Pose, Bones, keyframes...)

  • Manipulaanimações de objetos no Grafo de Cena.

  • Interpolaanimações(Keyframesou Bones)


Networking engine

  • Manipulacomunicação entre computadores.

    • Peer to Peer / Distributed

    • Client to Server

    • UDP

    • TCP

    • Interpolação

    • Segurança

      • Identificação

      • Criptografia

    • Compactação

Networking Engine


Artificial intelligence engine

  • Oferece Primitivas para o Programador criar os comportamentos avançados

  • Técnicas Clássicas

    • A * (PathFinding)

    • HierarchicalState Machines

    • SteeringBehaviors

    • Redes Neurais

    • Algorítimos Genéticos

    • Min/Max

  • Controlainteração entre objetos.

    • Estímulos

    • Necessidades

    • Desejos

    • GroupBehavior

Artificial Intelligence Engine


Ploobsengine post mortem

Gerenciamento

de

Assets


Assets

Insumos para Engine.

Qualquercoisa no jogo, menoscódigo.

Modelos

Bones

Texturas

Sons

Videos

Animações

Logos

Scripts

Arquivos de

Configuração

Assets


Assets1

Assets


Grafo de cena

  • Gerenciamento da cena

    • Logicamente

      • Alocação

    • Espacialmente

      • Posição Física

  • Graph Structure

    • Nãohierarquicamente

  • Tree Structure

    • Hierarquicamente

  • Culling

Grafo de Cena


Level editor

Level Editor

  • Interface Engine <-> Usuário

  • WYSIWYG

  • Importar Assets

  • Posicionar Assets

  • Atribuircomportamento

    • Eventos

    • Scripts

  • ObjetosEstáticos

  • Arquitetura

    • Data Driven Design

    • ComponentBased


Custom tools

Custom Tools

  • Quest Editor

  • Dialogue System

  • Multiplayer Support (Chat, Rooms)

  • Ranking Systems

  • Faz parte da Engine ??!!


Ploobsengine post mortem

Engine != Jogo ??!!

  • Palestra Damian Isla (SBGames 2011)

    • Engine = Jogo??!!

      • Engines Off theShelf.

      • Porque não se aventurar em fazer algo “do zero” ?

    • Implicações

      • Processo de desenvolvimento diferenciado

      • Perfil da Equipe de desenvolvimento

        • Ordem

        • Especialização

      • Reutilização no nivel do Middleware

      • Altíssima Customização

    • ContentOriented Design

      • Basear o desenvolvimento na flexibilidade com o designer.


Ploobsengine post mortem

Programador Engine != ProgramadorGamePlay

  • Conhecimentos Diferenciados

    • Matemática

    • Física

    • Computacao gráfica

  • Motivações Diferentes

    • Teste !!!

  • Projetos com Durações diferentes

    • PloobsEngine (3 anos =P)

  • Perfis Complementares


Ploobsengine post mortem

Game Engine Modules I


Ploobsengine post mortem

Game Engine Modules II


Ploobsengine post mortem

Literatura


Ploobsengine post mortem

Literatura

  • MuitoslivrossobreComputaçãoGráfica

    • Exemplos Didáticos

  • MuitoslivrossobreTécnicas e Shaders

    • Exemplos Avançados

  • Transição Difícil

  • PoucainformaçãosobreArquitetura e Design de Engines.

  • AproachclássicoMonolítico;

    • Didático

    • Inadequadapara um jogo real.

      • Alto Acoplamento

      • Separação da lógica no nível de classes não é suficienteparaprojetos com milhões de linhas de código.


  • Ploobsengine post mortem

    Literatura

    • Problemas Com o Design Monolítico “Acadêmico”:

    • Portabilidade

    • Manutenção e Extensão

      • Mudançasalteram o sistemainteiro

      • Presença da “Entidade” !!!!

    • Reusabilidade

      • Alto acoplamento

    • Sugestão:

      • Game Programming Gems

      • AI Game Programming Wisdom

      • Real Time Rendering

    • Pedaços de códigoqueoferecemsoluçõeselegantes e independente de arquiteturasparaproblemasclássicos.

    • Exemplos REAIS !!!!

      • Utilizadosemgrandesprojetos de jogos.


    Ploobsengine post mortem

    PLOOBS

    ENGINE


    Ploobsengine post mortem

    PloobsEngine

    • PloobsEngine is an opensource engine for creating games and graphics applications developed in:

    • XNA 4.0,

    • C# .Net 4.0

    • HLSL.

    • It is designed to be simple and easy to use even for those unfamiliar with computer graphics programming.


    Ploobsengine post mortem

    Histórico !!!


    Ploobsengine post mortem

    Processo De Desenvolvimento

    Criar uma Engine ??!!??!!

    STOP

    Estudo Detalhado

    PloobsEngine

    TwateEngine

    Mais Caos !!!

    Redesign

    XNA 4.0 + Redesign

    C# + XNA !!

    TCC - Booster

    CAOS !!!

    DeferredShading

    Não é que funciona !!!

    GridEngine

    Tooth

    Imagine Cup 2010


    Ploobsengine post mortem

    Features


    Ploobsengine post mortem

    Features

    • Support for Windows Phone 7 and PC

    • Deferred Rendering

      • Bump mapping, Specular mapping, Glow mapping and Parallax mapping

    • 2D and 3D Physical Simulation

    • 2D and 3D Sound

    • 3D Animation by Bones (Bone Animation)

    • Terrain and Vegetation

    • Reflection and Refraction in Real Time

    • Several classical algorithms of Artificial Intelligence

    • 2D and 3D Particle Systems

    • 2D and 3D Dynamic Lights with Shadow

    • Advanced GUI

    • AdvancedBillboards

    • Integratedwith WPF


    Ploobsengine post mortem

    Estruturais

    • Design Simplista e Flexível

    • Orientada à Middleware

      • Expansão

      • Plugins

      • Sistema de Componentes

    • Resource Management System

    • Sistema de Mensagens

    • Sistema de Entidades Artemis

    • Exporter 3DStudio

      • TheGood

      • TheEvil


    Ploobsengine post mortem

    PloobsEngine Architecture


    Ploobsengine post mortem

    Ferramentasutilizadas

    • IDE

      • Visual Studio Ultimate 2010

        • Nshader

        • VisualHg

        • TestDriven

        • Resharper

        • License Header Manager

        • Xbuilder

        • Nuget

        • Profiler Shell

        • GHOST DOC

    • ILMerge

    • Controle de Versao

      • SVN

      • Mercurial

        • Branchs

        • Distribuido


    Ploobsengine post mortem

    Ferramentasutilizadas

    • Microsoft Project 2010

      • QuebrarTarefasemSubtarefas

      • Cronograma

        • Estimativa de Tempo, valor

        • Acompanhamento

        • Previsibilidade

    • Clocking IT (Free)- http://www.clockingit.com/

      • Tarefas

      • Bugs

      • Melhorias

    • Gmail/Gtalk

    • Skype

      • Conferencias


    Ploobsengine post mortem

    PloobsEngine Middlewares

    DPSF Particles – 2D and 3D Particles

    Lidgreen Networking – Message Oriented Networking

    Bepu Physics – 3D Physic Simulation

    Farseer – 2D Physic Simulation

    Ltree – Procedural Tree Generation

    NeoforceTomshane - Gui

    XNAAnimation – Bone Animation

    OpenSteer – Steer Behaviors System

    Artemis – Entity System Framework

    Gamma Correction Decoder – Gamma Correction Pre Processing


    Ploobsengine post mortem

    DificuldadesEncontradas

    • “E agora quempoderá me ajudar“

      • Comunidadenacional ???

      • Inexperiência

      • BUGS ??!!!

    • Filosofia “Vaiquedá” …

      • Reinventarvariasvezesa mesmaroda

      • Naoouvir o queos outros falam

      • Pre-Analise

    • Engenharia de Software

      • GeneralizacaoVsEspecializacao

      • Design Expansivel

    • Falta de processos

      • ReterConhecimento

      • Retrabalho

      • Confusão

      • Bugs …

    • Sub-utilizacao de ferramentas

      • Visual Studio Ultimate

      • Controle de Versoes

    • Falta de Conhecimento

      • Técnico

      • Gerencial


    Ploobsengine post mortem

    DesafiosAtuais

    • Level Editor

    • Formação de Time

      • Começam e Desistem

        • Mais de 100 emails -> 2 participantes fixos

      • Falta de Motivação

        • “Oba !!! Oba !!!”

      • Falta de Conhecimento

    • Distância Física

      • SP – Sao José dos Campos - Roraima – Mogi Das Cruzes

    • Manutenção

      • Codigo Grande

      • Modulos Antigos

      • Muitos Módulos

    • Muitas Idéias e pouco TEMPO !!!


    Ploobsengine post mortem

    RoadMap

    • Release 0.4

      • Testes

      • Documentação

    • PloobsEditor

      • WYSIWYG

      • Integração com Linguagem de Script

        • Lua ( Xbox ?? WP7 ?? )

      • Content Based Game Engine

    • Networking

      • P2P

      • Chat

      • Rooms …

    • Demos

      • Extendendo a Engine

      • Features Avançadas

      • Combinandovárias Features

      • Windows Phone 7 Demos


    Ploobsengine post mortem

    Porque chegamos

    onde chegamos

    • ObjetivosComplementares

    • PersonalidadesComplementares

    • Visões Complementares

    • Automotivação

    • Hard Working

      • 95% suor

      • 1% genialidade

      • 4% sorte


    Ploobsengine post mortem

    Referencias


    Ploobsengine post mortem

    Contato

    www.ploobs.com.br

    [email protected]

    Junte-se à nossa Equipe =P


    Ploobsengine post mortem

    Obrigado


  • Login