jun 122010
 
A coordenação do curso de Especialização em Engenharia de Software com Ênfase em Padrões de Software da UECE tem o prazer de convidá-lo para a Defesa de Monografia do aluno David de Almeida Ferreira, intitulada “Catálogo de Padrões para Jogos”. A defesa ocorrerá no dia 14/06/2010 (segunda-feira) a partir das 16:00 no prédio da Pós-graduação e Pesquisa em Computação da UECE.

Todos os interessados estão convidados para estarem presentes na ocasião.

Atenciosamente,

A Coordenação

É amigos, agora finalmente estarei dando mais um passo para a conclusão da minha primeira pós graduação, quem tiver o interesse de participar fique a vontade, as restrições que existem são devido a formalidades tradicionais, como por exemplo duração máxima de 30 minutos de apresentação, o que de fato creio ser um tempo muito curto para falar de um trabalho bem extenso, ainda mais que são 5 padrões de projeto a serem apresentados, espero em breve poder oferecer o tema para alguma palestra do GDJCE.

O  resumo do trabalho:

Com o amadurecimento da produção de software, percebemos cada vez mais a aplicação das diretrizes da Engenharia de Software, o que traz reconhecidamente melhores resultados do que os software montados de forma caótica. No universo de desenvolvimento de jogos, podemos perceber, ainda um certo grau de amadorismo em relação a produção de software convencionais, pois poucos são os profissionais e empresas, que conhecem ou aplicam as diretrizes utilizadas no desenvolvimento de softwares, onde termos como metodologia, processo, disciplinas, qualidade, conformidade e boas práticas, fazem parte do dia-a-dia do desenvolvimento, geralmente demonstrando um certo grau de maturidade, permitindo assim um controle maior do que é produzido, como produzido-lo e como averiguar sua conformidade com o esperado. Focando na etapa de programação, ou seja, nas questões arquiteturais e de implementação, podemos observar mais claramente uma ausência quase total de informações ou referências sobre a utilização de Design Patterns em jogos, indo além do código, observa-se a falta de literatura especializada, de congressos e discussões focando no assunto. Com isso em mente estamos propondo um trabalho focando em Design Patterns para Jogos, ou seja, estamos documentando alguns padrões percebidos durante o desenvolvimento de jogos, com o objetivo de auxiliar na resolução de problemas encontrados durante o desenvolvimento, além de estimular a aplicação e catalogação de padrões de projeto focados especificamente em jogos. Com base nesta idéia, partimos para a catalogação inicial de alguns padrões de software, os quais são: 1.Font Mapping 1.1 Intenção Permitir que aplicações multimídias possam escrever informações(textos) na tela para o usuário. 1.2 Motivação Estamos desenvolvendo uma aplicação multimídia como por exemplo um player de vídeo ou um jogo eletrônico, porém necessitamos exibir informações para o usuário, geralmente essas informações são textos composto por caracteres alfa-numéricos, que representam informações sobre o estado do jogo ou do filme. Nestes casos na maioria das vezes desejamos utilizar textos de fontes estilizadas, quer seja pelo seu formato ou pelo estilo utilizado, como por exemplo o uso de sombras, bordas ou degradê. 2.Resource Manager 2.1 Intenção Permitir que uma aplicação gerencie os recursos multimídia necessários para seu funcionamento. 2.2 Motivação Muitas vezes, estamos desenvolvendo uma aplicação ou um jogo eletrônico, que fará uso de recursos externos ao código fonte, como por exemplo: arquivos de imagens, arquivos de vídeos e arquivos de som. Sendo que diversas vezes uma mesma imagem ou som é utilizado por diversos elementos do jogo, como por exemplo: A animação de uma explosão, que contém 6 quadros(imagens), se em um certo momento do jogo, encontramos 7 aviões na tela, teríamos então que ter em memória o equivalente a 42 imagens, apenas para representar a possível explosão dos aviões. Tendo isso como base, observamos que é necessário um gerenciamento de recursos que além de carregar o que for necessário, quando necessário, possa prover o compartilhamento para que diversos elementos do jogo façam uso. 3.Language Manager 3.1 Intenção Permitir que uma aplicação ou jogo, posso suportar múltiplos idiomas. 3.2 Motivação Ao se desenvolver um jogo, uma das primeiras decisões que se toma é a definição de qual será o idioma de seu público alvo, onde geralmente acaba-se optando para que o jogo esteja apenas em um único idioma. Porém com isso eliminamos a possibilidade do mesmo entrar em contato com outros públicos, simplesmente pela barreira da língua. Sendo assim, um jogo em um mundo globalizado, deve permitir ou se adaptar ao idioma nativo de seus jogadores, sem comprometer sua estrutura interna, não sendo aceitável que seja mantido duas ou três versões do mesmo código para gerar versões em português, inglês ou espanhol. 4.AnimaChronos 4.1 Intenção Permitir a criação de animação para jogos, baseado no uso de imagens estáticas. 4.2 Motivação Quando estamos diante de um jogo eletrônico, nossa primeira percepção recaí sobre os gráficos, em principal sobre o movimento hipinótico exercido por eles, ou seja, nosso foco visual é rapidamente atraído para os objetos que se movem na cena, ou seja, as animações. Desta forma é imprescindível ao desenvolvermos um jogo, elaborarmos a capacidade de dar movimento as imagens, fazendo uso extensivo deste recurso conhecido como animação, o qual é o responsável pela completude da vida do personagem e objetos na cena. Tendo isso em mente, necessitamos da capacidade de unir as diversas imagens estáticas de forma padronizada e ordenada para que possamos efetuar as mudanças de quadro de forma controlada, causando o efeito desejado, ou seja, o movimento fluído do personagem ou objeto. 5.Game Struct 5.1 Intenção Organizar e estruturar o funcionamento interno de um jogo eletrônico. 5.2 Motivação Quando pretendemos criar um jogo eletrônico, devemos ter em mente que um jogo é um software altamente especializado, e por consequência, é bem mais complexo que a maioria dos softwares tradicionais, pois possui um alto grau de interação com seu usuário, ou seja, o jogador, ao mesmo tempo que integra-se com diversos subsistemas e seus componentes, para assim poder executar de forma ordenada, controlada e prevista.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(requerido)

(requerido)