Jogos enquanto software

Post on 24-Feb-2016

25 views 0 download

description

Jogos enquanto software. Componentes de um jogo, desenvolvimento. O que é um jogo?. Ponto de vista conceitual Teoria do jogo Diversão x Desafio Regras, mecânicas, subsistemas Ponto de vista técnico Um software extremamente complexo Padrões de projeto, inteligência artificial, otimização - PowerPoint PPT Presentation

Transcript of Jogos enquanto software

Componentes de um jogo, desenvolvimento

Jogos enquanto software

O que é um jogo?Ponto de vista conceitual

Teoria do jogoDiversão x DesafioRegras, mecânicas, subsistemas

Ponto de vista técnicoUm software extremamente complexoPadrões de projeto, inteligência artificial,

otimizaçãoProgramação criativa, porém profissional

Componentes de um jogoMotor (game engine) game loop,

rendererAgentes máquina de

estadosFases (levels) maior parte do

jogoInteligência Artificial (IA) complexidadeSimulação de física complexidadeServidor (online multiplayer)

Motor vs API

MotorGame loop - laço

principal do jogoBase para

praticamente todos jogos existentes

Gera pulsos de atualização do estado do jogo

function gameloop(){ while (ativo){

input();update();render();}}

MotorGame loop - controle

de taxa de framesFrames de

atualização do estado (update)

Frames de atualização da tela (render)

function gameloop(){ while (ativo){input();update();if (renderingDone){

render();}}

}

function gam

eloop()

{while

(ativo)

{input(

);

if (getTime(

) - t > 1000

)

{ up

date();

render()

;

t = getT

ime();

}}

}

MotorJogo sem game loop

Jogos baseado inteiramente em eventos

Só possui ação em função da entrada do jogador

event onKeyPressed(key){    update(key);    render();}

Máquinas de estadosRepresentação de estados e transiçõesAutômato finito

avançando próximo

agarrando atacandorecuando

parado

Oponentelonge

Oponenteperto

Oponentelonge

Oponentedefendendo

Oponenteparado

Final docenário

Oponentelonge

Oponenteperto

Máquinas de estadosExemplo:

Interpretação de entrada do usuário

03

12

HS

0 3

1 2

HS

Editores e outras ferramentasFerramentas auxiliaresGeralmente desenvolvidas apenas para um

projetoEditores de fase, de comportamento, de

animaçãoAtualmente vários motores possuem editores

embutidosO reaproveitamento das ferramentas e

padrões é um motivador para sequências e jogos baseados no mesmo motor

Desenvolvimento profissionalOrientação a ObjetosPadrões de Projeto (Factory, Director, MVC)Tecnologias de dados (XML, DB)Tecnologias de desenvolvimento (Java, Xna,

ActionScript)Integração com arte (animações e som)Conhecimento da plataforma e suas

limitações

ConclusãoJogos são software complexos, que embora possam ser desenvolvidos por uma única pessoa, é preciso que esta pessoa tenha embasamento profissional.