Game engines

Post on 02-Jan-2016

47 views 2 download

description

Game engines. Usando tecnologia como commodity. O que é um commodity?Linha de raciocínio. Produtos de base É utilizado para construção de produtos mais complexos (ex: couro curtido vira um sapato). Mas e os softwares?. - PowerPoint PPT Presentation

Transcript of Game engines

Game enginesUsando tecnologia como commodity

O que é um commodity?Linha de raciocínio

Produtos de base

É utilizado para construção de produtos mais complexos (ex: couro curtido vira um sapato)

Mas e os softwares?

Em games precisamos desenvolver muito código até que alguma coisa apareça na tela.

- Programas desse tipo são da área da engenharia da computação

- Precisamos escrever em linguagens de baixo nível para obter performance

- Bons profissionais que trabalham com essas linguagens são muito caros e raros

- O resto da equipe criativa faz o que enquanto essa base é desenvolvida?

ENGINES! GRANDE IDÉIA!

Engines são softwares para fazer outros softwares

Abstraem toda a parte de baixo nível

Já dão soluções prontas para funções comuns em games (ex: mover o personagem, audio, colisão 3d, etc)

Tem ferramentas para que os artistas trabalhem diretamente no jogo sem precisar programar

Baixo nível?

Sim!Baixo nível é quando um programa tem que fazer requisições

mais próximas a linguagem de máquina.

(“código de máquina” = 000010001001010101010101101010)

Ou seja, quanto mais a linguagem de programação abstrai a linguagem binária mais “alto nível” ela é.

Isso significa que…

O código da lógica do jogo é desenvolvido mais rápido

Você não tem que envolver no projeto engenheiros altamente especializados e caros

Artistas podem trabalhar diretamente no produto final (maior fidelidade com o conceito original)

QUANTO VOCÊ PAGARIA POR UMA MARAVILHA DESSAS???

CALMA… NÃO RESPONDA AINDA!

PORQUE VOCÊ AINDA LEVA…

Compra de tecnologia de países que desenvolvem software de ponta sem pagar impostos de importação

Comunidades ativas de desenvolvedores de todo mundo (para quem fala inglês)

Ampla documentação de como desenvolver um projeto com esse software

Contras…

- As engines sempre se especializam em um tipo de game, algumas fecham bastante as possibilidades de desenvolver um determinado gênero

- Apostar na “engine errada” (ex: uma que é descontinuada, que não atualiza a tecnologia, etc) pode resultar em trabalho perdido

- SEMPRE EXISTE UMA CURVA DE APRENDIZADO

Como decidir então pela melhor engine?

Sabendo o tipo de jogo que você quer desenvolver e qual o processo

Fazendo escolhas técnicas

NÃO EXISTE A MELHOR ENGINE.

A MELHOR ENGINE É AQUELA NA QUAL VOCÊ VAI DESENVOLVER SEU

JOGO MAIS RÁPIDO, COM MAIS QUALIDADE E COM MENOR CUSTO

POSSÍVEL

OK, agora algumas questões técnicas

(em um slide)É preciso entender algumas questões técnicas para

escolher uma engine:

1) PLACAS DE VÍDEO (GPU) E ACELERAÇÃO GRÁFICA

2) DIRECTX, OPEN GL E RENDERIZAÇÃO POR SOFTWARE

3) C++

4) .NET (C#) E JAVA (MÁQUINAS VIRTUAIS)

5) LINGUAGENS INTERPRETADAS OU SCRIPTS (VB SCRIPT, JAVA SCRIPT, PERL, ETC)

6) SOFTWARES BASEADOS EM BEHAVIORS

Tipos de engines

- Game engines 2d

- Game engines 3d

- Softwares que podem ser usados para desenvolver games

Como estão divididas

High end

Profissionais

Indies

Torque Game Builder

- Mac / PC / Linux / Wii / Xbox 360 / iPhone / Web

- Level editor

- Genre kits

- US$ 250

Unity 3D

Windows / Mac / iPhone / Wii

Suporte a C#

Suporte a behaviors

Softwares

Vamos nos focar em 2: Flash e Director

Existem muitos outros

Flash

Action script 3.0 – orientação a objetos acelera o desenvolvimento

Aceleração por hardware a partir do Flash player 10

Muitos bons artistas já conhecem a ferramenta

É o plugin mais difundido da internet (99%!!!)

Comunidade de desenvolvedores é imensa e ativa

Contras

O mercado considera jogos em Flash “baratos” (porque vou pagar por algo que posso ter de graça na internet?)

Seu código NUNCA estará seguro

Director

Suporte a 3d

Acelerado por hardware

Amplo acesso ao sistema operacional

Linguagem fácil de aprender

Amplo suporte a behaviors

Director

Pouco suporte ao software pela Adobe

Baixa penetração do plugin web (20%)

Muitos concorrentes de peso (ex: Unity)

E um exemplo de software livre

Ogre

Mas e se a engine que eu escolhi não tem uma função que é muito importante para

meu jogo?

Nesse caso você pode optar por um middleware!

Middle o que?

Os middlewares são responsáveis por apenas uma função do game, eles podem se integrar a qualquer engine.

Exemplos: Física Audio A.I. … etc

Middleware de física: Havok

Usado em vários games

Suporte a ragdoll, rigid body, fluids, etc

Disponível no director

Middleware de I.A.: A.I. Implant

Suporte a multidões

Suporte a humores

Editor gráfico de I.A.

Mas e as outras plataformas?

Existem engines de games para muitas outras plataformas (ex: Iphone, Symbian, etc)

Todas ainda estão em estado embrionário

Plataformas para videogames (consoles) são uma história a parte…

Engines para videogames

Todos os consoles de hoje possuem engines profissionais e empresas que fazem apenas engines

Obrigatoriamente, para adquirir um desses softwares, a empresa deve possuir os seguintes pré requisitos:Ser um desenvolvedor oficialTer um contrato de publicação do game com uma

distribuidora (publisher)

Algumas das razões dos consoles dessa geração serem tão diferentesQuanto custa desenvolver um jogo para Wii e

quanto custa desenvolver um jogo para PSIII?

O quanto de complexidade gráfica as pessoas precisam para se divertir com um game?

As pessoas “comuns” também poderiam fazer games para o nosso console se a linguagem fosse fácil! (XNA)

No futuro?

Jogos online serão o padrão?

Qualquer um poderá desenvolver games?

Os games serão tão complexos de desenvolver como os filmes hoje?

Games serão a próxima “grande mídia”?

Já temos um começo!

Vamos conversar mais sobre desenvolver

games!