Design patterns aplicados ao
desenvolvimento de jogos digitais
Marcel Holanda Cavalcante Ribeiro 1680961513044
marcelogica...
1 Introdução
Você acorda em um ambiente estranho e um ser com alguns
tentáculos esta carinhosamente cuidando de você.. Ao ...
2 Estudando a Nave
- Agora que você está mais calmo, vamos tentar entender
o que derrubou o sistema da Nave Pirata.
-Aqui ...


!4
NaveClasseMãe
Sistema_de_Suporte_A_Vida()
Sistema_de_Comunicação()
Método_de_Propulsão()
Método_de_Armamento()
Método...
Aqui Diz que após Raptarem você para vende-lo a um Taxidermista, fizeram uma
“saidinha de banco” em Marte, e roubaram um n...
- Os piratas comemoraram quando viram que deu certo, pois as Naves marcianas
ficaram voando de um lado para outro como bar...
- Mas quando recuperei a Nave mãe todas as naves menores estavam em seus
devidos lugares. Eles também não usaram as capsul...
-Betra, Pelo que você falou, Cada Nave Filha É-UMA
copia adaptada da Nave Mãe, Por sua Vez, a Nave Mãe,
TEM-UM comportamen...
!9
NaveMãe
ComportamentoPropulsãoInstintoP
ComportamentoArmamentoInstintoA
ComportamentoDefesaInstintoD
Sistema_de_Suporte...
As naves filhas herdam tudo da nave mãe.
Então agora elas herdam os comportamentos, no exemplo acima, propulsão. Esse
comp...
4 Conclusão
Se eu Aplicar os princípios do Padrão de Projeto STRATEGY em meus jogos:
• Identificar os Comportamentos
• Sep...
Próximos SlideShares
Carregando em…5
×

Design patterns aplicados ao desenvolvimento de jogos digitais

231 visualizações

Publicada em

“Os homens morrem.. mas o conhecimento permanece...” e o que isso tem a ver com Padrões de Projetos? Tudo, se você souber que estes padrões reúnem o conhecimento e lições aprendidas dos sábios desenvolvedores que vieram antes de nós. Eles reuniram em modelos para nos ajudar a resolver muitos dos problemas de design em programação que podemos enfrentar. Conheça a história baseada em fatos irreais de uma viagem interestelar incrível com Padrões de projeto.

Publicada em: Diversão e humor
  • Seja o primeiro a comentar

Design patterns aplicados ao desenvolvimento de jogos digitais

  1. 1. Design patterns aplicados ao desenvolvimento de jogos digitais Marcel Holanda Cavalcante Ribeiro 1680961513044 marcelogicas@gmail.com Resumo “Os homens morrem.. mas o conhecimento permanece…” e o que isso tem a ver com Padrões de Projetos? Tudo, se você souber que estes padrões reúnem o conhecimento e lições aprendidas dos sábios desenvolvedores que vieram antes de nós. Eles reuniram em modelos para nos ajudar a resolver muitos dos problemas de design em programação que podemos enfrentar. Conheça a história baseada em fatos irreais de uma viagem interestelar incrível com Padrões de projeto. Palavras-chave: Padrão de Projetos; Modelos; força. Abstract "Men die .. but knowledge remains ..." and what does this have to do with Design Patterns? Everything, if you know that these standards meet the knowledge and lessons learned from developers sages who came before us. They created models to help us solve many of the design problems in programming we face. Learn the history based on unreal facts of an amazing interstellar travel with design patterns. Keywords: Design Patterns; Models; force. !1
  2. 2. 1 Introdução Você acorda em um ambiente estranho e um ser com alguns tentáculos esta carinhosamente cuidando de você.. Ao notar que você não entende nada do que ela diz, ela pega um peixinho de um aquário próximo e insere em sua orelha! - Calma ela Diz, agora nós podemos conversar. Meu nome é Betra. - Eu vou ser direta, você foi sequestrado de seu planeta natal por Piratas espaciais. A Nave deles caiu em nosso planeta e somente você, por estar em uma câmara criogênica sobreviveu. -Minha espécie é muito conservadora e não aceita que nos aproximemos de outras espécies então temos pouco tempo para corrigir a falha na programação da Nave Pirata, e manda-lo de volta em segurança para seu mundo, antes que nossos robôs o encontrem para “Purificarem” você com um banho de plasma. -O computador da Nave Pirata é capaz de assimilar qualquer tipo de lógica. - Eu como sou fascinada por Arqueologia gostaria muito de conhecer a lógica da programação humana. - Ei Não desmaie não temos tempo! *** !2
  3. 3. 2 Estudando a Nave - Agora que você está mais calmo, vamos tentar entender o que derrubou o sistema da Nave Pirata. -Aqui na Caixa Preta diz que Ela é composta de uma Nave mãe e contém várias naves filhas menores, que desempenham diferentes funções. -Hum.. parece que a nave caiu justamente após a implementação de novas tecnologias que eles roubaram.. Vou colocar na tela: !3 É Uma Nave “Navezinha”
  4. 4. 
 !4 NaveClasseMãe Sistema_de_Suporte_A_Vida() Sistema_de_Comunicação() Método_de_Propulsão() Método_de_Armamento() Método_de_Defesa() NavedeCarga Método_de_Propulsão(){ //MotordeDobra } Método_de_Armamento(){ //Nenhum } Método_de_Defesa(){ //Nenhum } NavedeAtaque Método_de_Propulsão(){ //MotordeImpulso } Método_de_Armamento(){ //Fasers } Método_de_Defesa(){ //EscudosDefletores } VáriosoutrosTiposde NaveFilhasqueHerdamas característicasdaNavemãe.
  5. 5. Aqui Diz que após Raptarem você para vende-lo a um Taxidermista, fizeram uma “saidinha de banco” em Marte, e roubaram um novo sistema de defesa, Um Manto de invisibilidade. -A polícia Marciana iniciou uma grande perseguição, e como os piratas estavam abarrotados de carga o capitão ordenou a imediata implantação do novo sistema de invisibilidade. Também desligou o sistema de comunicação para evitar o rastreamento de sinais. Rapidamente os técnicos implantaram o sistema de invisibilidade na Nave Mãe. !5 Nave Classe Mãe Sistema_de_Suporte_A_Vida() Sistema_de_Comunicação() Sistema_de_Invisibilidade() Método_de_Propulsão() Método_de_Armamento() Método_de_Defesa() Nave de Carga Método_de_Propulsão(){ // Motor de Dobra } Método_de_Armamento(){ //Nenhum } Método_de_Defesa(){ // Nenhum } Nave de Ataque Método_de_Propulsão(){ // Motor de Impulso } Método_de_Armamento(){ //Fasers } Método_de_Defesa(){ // Escudos Defletores } Vários outros Tipos de Nave Filhas que Herdam as características da Nave mãe.
  6. 6. - Os piratas comemoraram quando viram que deu certo, pois as Naves marcianas ficaram voando de um lado para outro como baratas tetrarkianas, tinham perdido a trilha, a nave mãe estava invisível! O Capitão ordenou um contra-ataque, mas para surpresa dos piratas, ao chegarem no hangar das naves filhas, elas haviam sumido! Todas as naves, inclusive as preciosas naves de carga. Sem pensar começaram a brigar entre si acusando uns aos outros. Alguns disparos atingiram os controles que desviaram a nave da rota e a colocaram de encontro com nosso planeta, caindo no mar de amônia. !6
  7. 7. - Mas quando recuperei a Nave mãe todas as naves menores estavam em seus devidos lugares. Eles também não usaram as capsulas de fuga. Você entende o que aconteceu? 3 Padrão - STRATEGY Eu fiquei tão impressionada, que chamei minha amiga Sigma para ouvir sua explicação. Então os piratas cometeram um erro estratégico. Para evitar o problema é necessário: -Identificar os comportamentos que variam e separa-los dos que permanecem iguais. Por causa das falhas de Design no Sistema, Ao implementar a invisibilidade ligada na Nave mãe, todas as Naves filhas herdaram a invisibilidade ligada, o que gerou toda confusão. Sigma, criamos uma lista para separar os tudo o que se comporta de forma diferente nas naves, Os que variam são o que cada nave pode ter, os que não variam é que toda nave tem: Comportamentos que Variam Comportamentos que não variam Propulsão ( impulso, dobra, Nada) Suporte a Vida Armamentos (Phasers, Torpedos Fotônicos, Nada) Comunicação Defesa (Escudos Defletores e Invisibilidade, Nada) !7
  8. 8. -Betra, Pelo que você falou, Cada Nave Filha É-UMA copia adaptada da Nave Mãe, Por sua Vez, a Nave Mãe, TEM-UM comportamento que pode ser imitado ou não por cada nave filha, Cada Comportamento IMPLEMENTA Objetos diferentes. Ou seja, se nave mãe tem o comportamento de voar, e as naves filhas devem herdam o comportamento, mas cada uma deve voar de um jeito diferente, para cumprir suas funções, implementando motores diferentes (objetos diferentes). Quando estamos construindo um nova nave filha de Ataque, eu diria que: Da Nave_Classe_Mãe nasce nova nave_de_Ataque; Na construção desta nave_de_Ataque: • Aplico propulsão de impulso; (rápido mas pouca autonomia) • Aplico Armamento de Phasers; (Eficiente contra outras naves filhas) • Aplico Escudo defletores; (eficientes contra Phasers) E a Nave está pronta para uma batalha específica. Mas Se as condições mudarem em Tempo de execução da batalha, e ele precisasse ejetar, tornando-se uma Capsula de fuga, escapando somente com o essencial (Suporte a vida e comunicação)? Poderia deixar os motores, armas e defesas para trás? Sim? E vocês já escreveram o novo Programa? Mostre a tela para mim. !8
  9. 9. !9 NaveMãe ComportamentoPropulsãoInstintoP ComportamentoArmamentoInstintoA ComportamentoDefesaInstintoD Sistema_de_Suporte_A_Vida() Sistema_de_Comunicação() Método_Aplicar_Propulsão() Método_Aplicar_Armamento() Método_Aplicar_Defesa() Método_Configura_Propulsão() Método_Configura_Armamento() Método_Configura_Defesa() Navede Carga Navede Transporte Navede Ataque Capsulade Fuga motor() <<interface>> ComportamentoPropulsão MotordeimpulsoMotordedobraSemmotor motor(){ tipoImpulso!} motor(){ tipoDobra!} motor(){ NãoPrecisa!} arma() <<interface>> ComportamentoArmamento TorpedoFotônicoPhaserSemarma arma(){ tipoboom!} arma(){ tipofiiuuu!} arma(){ NãoPrecisa!} defesa() <<interface>> ComportamentoDefesa InvisibilidadeEscudoDefletorSemdefesa defesa(){ tiposumiu!} defesa(){ tipozooom!} defesa(){ NãoPrecisa!} ÉUMA TEMUM IMPLEMENTA
  10. 10. As naves filhas herdam tudo da nave mãe. Então agora elas herdam os comportamentos, no exemplo acima, propulsão. Esse comportamento pode se manifestar de formas infinitas, pois dependem apenas dos tipos de objetos que cabem nesse comportamento. -Então uma nave de ataque, poderia mudar seu comportamento para Sem armas, sem ataque, Sem defesa e se tornaria uma capsula de fuga. - Também se os piratas já utilizassem o Padrão de P r o j e t o S T R AT E G Y t e r i a m a p e n a s Implementado um novo comportamento para a defesa, permitindo que tanto a nave mãe, quanto as naves filhas pudessem aplica-las e configura- las de forma independente. Esse padrão permite que a Nave mãe pirata tenha novos tipos de motores, armas e defesas sem afetar seu funcionamento ou o funcionamento das naves menores.. Incrível! Alias Humano, Eu sou Blunia, vejo muitas aplicações para o Padrão de Projeto STRATEGY em minha fábrica de robôs “purificadores”.. Pois os meus robôs estão desatualizados, visto que não conseguiram localizar você.. vou deixar você viver para me ajudar.. pelo menos por enquanto.. !10 É Uma Nave “Navezinha” Tem Um Implementa Comportamento Propulsão “Motores”
  11. 11. 4 Conclusão Se eu Aplicar os princípios do Padrão de Projeto STRATEGY em meus jogos: • Identificar os Comportamentos • Separar os que variam dos que não variam Meus personagens poderiam encontrar novas armas, novos movimentos, novas roupas, novos mapas, novas aventuras, praticamente qualquer coisa, enquanto o jogo acontece! Diminuindo o tamanho das atualizações e permitindo jogos online incríveis! Esse é apenas um dos muitos padrões criados pelo GoF. Imagine o que você poderia fazer1 se conhecesse todos eles? Mas lembre-se: “A definição de padrões de projetos nos diz que o Problema consiste em um objetivo e um conjunto de limitações. os gurus dos padrões tem um termo para isso: Eles se referem a esses elementos como forças. Por quê? Bem, com certeza eles tem suas razões, mas, se você ainda se lembra do filme, a força “molda e controle o Universo”. Da mesma forma, as forças de um padrão moldam e controlam a solução. Um padrão só é útil quando a solução equilibra ambos o lados da força (O lado da luz, que são os objetivos, e o lado negro, que são as limitações). Embora essa terminologia de “força” pode parecer confusa a princípio nas discussões sobre padrões, lembre-se de que existem dois lados da força (objetivos e limitações) e que eles devem ser equilibrados ou equacionados para criar a solução do padrão. Não se deixe confundir pelo jargão, e que a força esteja com você! ” (FREEMAN 2009) Referências FREEMAN, Eric; FREEMAN, Elisabeth; SIERRA, Kathy; BATES, Bert . Use a cabeça! Padrões de projetos. Rio de Janeiro: Alta Books editora, 2009. Imagens <http://tauart.deviantart.com> Acesso dia 10 Abril 2015. GoF - Gang of Four <http://pt.wikipedia.org/wiki/Padrão_de_projeto_de_software>1 !11

×