Vous êtes sur la page 1sur 20

Padres de Projeto

em Jogos Digitais

Lucas Nascimento Ferreira

Porque usar Padres de Projeto?


Tempo e sequencia so essenciais
Ciclos de desenvolvimentos so pequenos e
com muitas mudanas de design
Grande comunicao entre os objetos do jogo
O desempenho cr$co em jogos

Tipos de Padro de Projeto

Sequencing PaBerns
Behaving PaBerns
CommunicaDng PaBerns
OpDmizing PaBerns

Double Buer
Tipo: Padro de sequencia
ObjeDvo
Fazer com que uma srie de operaes
sequenciais paream instantneas

MoDvao
Displays desenham pixels sequencialmente
Uma cena do jogo deve atualizar sem
problemas e rapidamente, exibindo uma
srie de quadros completos, cada um aparecendo
instantaneamente.
3

Double Buer

Double Buer

Double Buer

Double Buer

Double Buer
Soluo
Encapsular duas instncias de buer: current e
next
Escrever em next e ler de current
Quando terminar de escrever, subsDtuir
current por next

Double Buer

Double Buer

10

Object Pool
Tipo: Padro de ODmizao
ObjeDvo
Melhorar o desempenho e o uso de
memria

MoDvao
Jogos de console executam conDnuamente
por um tempo muito longo
Gerenciadores de memria ecientes raramente
esto disponveis.

11

Object Pool

12

Object Pool
Soluo

Denir uma classe pool que mantm uma coleo de


objetos reuDlizveis
Cada objeto possui um mtodo para responder
seu estado de uso
Quando o pool inicializado ele cria a coleo inteira e
congura os objetos para um estado disponvel
Quando um objeto requisitado, o pool retorna um
objeto dentre os disponveis, alterando o estado deste
objeto para indisponvel
Quando um objeto no mais uDlizado, o pool altera o
estado deste objeto para disponvel
13

Object Pool

14

Object Pool

15

Outros Padres de Projeto

Game Loop
Type Object
Message
Dirty Bits
Padres do Gof:
Observer
State
Strategy
16

Concluso
Os padres do GoF podem ser aplicados ao
desenvolvimento de Jogos Digitais
Jogos Digitais possuem seus prprios padres
de projeto
O double buer um padro para fazer com
que operaes sequenciais se tornem
atmicas
O Object Pool melhora o desempenho e o uso
de memria
17

Referncias
Gragory, J. (2009) Game Engine Architecture.
hBp://gameprogrammingpaBerns.com/
introducDon.html
hBp://www.gamasutra.com/blogs/
MichaelHaney/20110920/90250/
Design_PaBerns_in_Game_Programming.php

18

Vous aimerez peut-être aussi