game engines
Post on 02-Jan-2016
42 Views
Preview:
DESCRIPTION
TRANSCRIPT
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!
top related