Trabalho GA - Editor de Cenário Parallax

Documentos relacionados
Trabalho GA - Editor de Cenário Isométrico

CRIANDO TEMPLATES E LEGENDAS

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

Boletim Técnico. Empresa. Vagas. Central de Estágio. Desenvolvimento/Procedimento. Acesse Atividades Acadêmicas Estágio Empresa

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

Manual do Spectacle. Boudhayan Gupta Boudhayan Gupta Tradução: André Marcelo Alvarenga

Manual de Operação do Sistema de Tickets Support Suite

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA 3. SEQÜÊNCIA DA AULA. 3.1 Iniciando o PowerPoint

MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Manual SAGe Versão 1.2 (a partir da versão )

Microsoft Office PowerPoint 2007


Guia para Escolha de Fotos no PSG Request

MANUAL SISTEMA DE GERENCIAMENTO

Manual de Rotinas para Usuários. Advogados da União. Procuradoria da União no Estado do Ceará PU/CE SAPIENS. Sistema da AGU de Inteligência Jurídica

Desvendando Jogos 2D. Por Marcos Romero Setembro / Cyborg Arena - RHGames

Sumário INTRODUÇÃO Acesso ao Ambiente do Aluno Ferramentas e Configurações Ver Perfil Modificar Perfil...

ALBUM DE FOTOGRAFIAS NO POWER POINT

1º PASSO: CRIE NO SEU COMPUTADOR UMA PASTA PARA O SEU PROJETO 2º PASSO: CONHEÇA O MOVIE MAKER

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

PASSO A PASSO MOVIE MAKER

Sistema de Prestação de Contas Siprec

Educação Digital

Agendamento para Importação de Notas Fiscais

Modelos. Agronave 30. Agronave 31. Agronave 32. O software de salvamento de área pode ser instalado em qualquer Agronave de tela colorida.

Sumário. Tutorial: Editor de Exercícios Online para o professor

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

02 - Usando o SiteMaster - Informações importantes

Prática 6 ActionScript

MANUAL DE UTILIZAÇÃO

Manual Simulador de Loja

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

O WINDOWS 98 é um sistema operacional gráfico, multitarefa, produzido pela Microsoft.

MANUAL DE INSTALAÇÃO DO ODONTO TECHNOLOGY

Construção Páginas de Internet

Aula 03 PowerPoint 2007

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários

Manual do PolicyKit-kde. Daniel Nicoletti Tradução: Luiz Fernando Ranghetti

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

Programa Intel Educar Tutorial: Ferramenta de Classificação Visual

TUTORIAL COMO CRIAR E EDITAR UM VÍDEO NO WINDOWS MOVIE MAKER*

O que há de novo. Audaces Idea

SUMÁRIO TUTORIAL DO HQ. 2 DICAS PEDAGÓGICAS:. 2 DOWNLOAD DA INSTALAÇÃO. 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD. 2 PASSO 2 ESCOLHENDO A VERSÃO.

Análise de Dados do Financeiro

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

Introdução. Servidor de Tempo (SNTP) com opção de horário de verão automático; 1 Cadastro do novo modelo de equipamento Urano Topmax SS

GUIA BÁSICO DA SALA VIRTUAL

PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO

C D. C) Coleções: é usada para organizar o conteúdo de áudio, vídeo e imagens em pastas, buscando facilitar a montagem do storyboard.

Criando Quiz com BrOffice.impress

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

Manual de Utilização

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Inventario de produtos

Como Gerar documento em PDF com várias Imagens

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce

1. Plataforma Sage Primeiro Acesso Configurações Relacionamento Folha de Pagamento esocial...

Manual Operacional SIGA

Manual de utilização da Ferramenta para disparo de E-mkt

Instalando software MÉDICO Online no servidor

Informática Básica. Microsoft Word XP, 2003 e 2007

SIMULADO Windows 7 Parte V

1 Introdução. Sistemas de Autoria

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

FCT Faculdade de Ciências e Tecnologia Serviço Técnico de Informática STI SGCD Sistema Gerenciador de Conteúdos Dinâmicos

Apresentando o Sistema GeoOffice GPS Profissional

Sumário. Computação Gráfica Illustrator

TUTORIAL UNP VIRTUAL

UNIVERSIDADE ESTADUAL DE CAMPINAS. Instruções para Uso do Software VISIO

Microsoft Office Excel 2007

Manual de Utilização ZENDESK. Instruções Básicas

VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI

Manual do Sistema "Vida em Mão - Controle Financeiro Para PALM" Editorial Brazil Informatica

Módulo 4. Construindo uma solução OLAP

Manual Básico do Usuário. Monitoramento de Iniciativas Estratégicas. Planejamento Estratégico - ANVISA

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Sistema de Controle de Processos ON-LINE-Versão 1.0 Prefeitura Municipal de João Pessoa (PMJP) Unidade Municipal de Tecnologia da Informação (UMTI)

MANUAL OPERACIONAL E CONCEITUAL - Orientações sobre cadastro de atividades no SIGA Extensão

CorelDRAW UM PROGRAMA DE DESIGN

INSTRUMENTO NORMATIVO 004 IN004

Melhor do que driblar os vírus de pendrive, é não pegá-los! Mas como fazer isto?

Boletim Técnico. Gestão de TCC. Desenvolvimento/Procedimento. Produto : RM TOTVS Educacional Processo. : Trabalho de conclusão de curso (TCC)

Introdução à Programação B Licenciatura em Engenharia Informática. Enunciado do trabalho prático. Quem quer ser milionário? 20 de Dezembro de 2007

VERSÃO 1 PRELIMINAR MÓDULO 3 - PRESENCIAL

Manual UNICURITIBA VIRTUAL para Professores

INF INTELIGÊNCIA ARTIFICIAL TRABALHO 2 LÓGICA

Gestão inteligente de documentos eletrônicos

c) Insira uma nova camada, acima daquela que contém o texto. Nomeie-a de máscara. Clique com o botão direito nesta camada e marque a opção Mask.

Guia Sphinx: instalação, reposição e renovação

AULA 1 Iniciando o uso do TerraView

Agendador de Rotinas

Emissão de Nota Fiscal de Serviço Eletrônica

W o r d p r e s s 1- TELA DE LOGIN

Conectar diferentes pesquisas na internet por um menu

Transcrição:

Objetivo A tarefa consiste em criar um editor gráfico de cenários para jogos 2D com visão lateral. O editor deve permitir que o usuário trabalhe com camadas, para simular o efeito parallax. O usuário pode criar um novo cenário, definir uma imagem de fundo, definir imagens para as camadas intermediárias, definir imagem do personagem e definir qual das camadas é a de ação, portanto, aquela que vai regular o scrolling da tela. As demais possuem uma taxa de deslocamento baseada na taxa de deslocamento da camada principal. Quando o usuário carrega uma imagem no editor, ele deve indicar em qual camada a imagem será inserida, além da posição, é claro. Com exceção da camada de fundo, todas as camadas possuem canal alfa definido para fazer composição de imagens. O editor deve ter um modo preview, aonde é possível fazer a navegação pelo cenário como se fosse num jogo. Todas as imagens utilizadas no sistema devem ser carregadas através de um leitor implementado no próprio software pelo grupo. O formato de arquivo a ser utilizado deve ser o PTM, PCX ou o SGI. Além destes itens são apresentados outros que valem pontos extras para o trabalho: permitir selecionar e arrastar imagens pelo cenário e carregar uma animação como imagem do personagem. Considerações para o desenvolvimento do trabalho Como forma de organização de trabalho, para facilitar e antecipar a implementação do trabalho, o aluno implementar as funcionalidades conforme elas são estudadas, no decorrer do grau A. Em geral, como uma boa prática de programação, para cada funcionalidade deve ser implementada no mínimo uma classe. Todas as funcionalidades recebem parâmetros apropriados e devolvem algum objeto ou retorno de sucesso, ou um objeto de exceção ou retorno de insucesso. As exceções retornadas são exibidas ao usuário como mensagens de erro. A funcionalidade de interface gráfica, mesmo não sendo a prioritária no trabalho, é muito trabalhosa e requer muitos cuidados ou pontos de atenção. Por exemplo, os alunos devem se preocupar em como capturar comandos ou como selecionar objetos no cenário, devem se preocupar em como o usuário escolhe um arquivo para abrir, como as imagens ficarão dispostas na tela, como propiciar uma interface fácil para o usuário colocar uma imagem numa camada e no lugar desejado e etc. Então, vale a pena gastar um tempo estudando as bibliotecas gráficas que serão utilizadas com linguagem escolhida para não se depararem com maiores surpresas. A layer é um objeto abstrato que representa um retângulo invisível num plano de profundidade do cenário (uma camada). Isto significa que ela é responsável apenas armazenar algumas imagens e uma taxa de scrolling para estas imagens. Também é comum que layer tenha um tamanho maior que o da viewport do cenário, o que indica que ela deve montar uma imagem da sua visualização (subimagem). O formato de arquivo das imagens carregadas que deve ser implementado é o PCX (conforme especificação descrita em http://www.fileformat.info/format/pcx/egff.htm) ou SGI (conforme especificação descrita em http://www.fileformat.info/format/sgi/ Prof. Ms. Leandro Tonietto! 1/5

egff.htm). Para os demais formatos de imagem (JPG, GIF, PNG,...) que o aluno quiser que editor suporte, pode-se utilizar bibliotecas já existentes para leitura e gravação. Apenas seria interessante que fossem portadas (entradas e saídas) para o mesmo esquema de leitura e gravação dos formatos exigidos. Sugestão de interface: Atividades a serem programadas Descrição das atividades por funcionalidade exigida: (1) Interface: a interface do sistema, idealmente, deve seguir o modelo conforme figura 1. Contudo, este não é critério rígido, o software pode sugerir outra interface/layout, desde que possibilite as mesmas interações (funcionalidades) ao usuário. (2) Barra de layers: mostra as layers do cenário na ordem em que são desenhadas e com destaque para a layer de background. Nesta barra é possível selecionar uma layer para edição e também trocar a ordem das layers. (3) Novo: abrir um novo objeto que representa o cenário, limpa o mapa da tela e pode ou não limpar o conjunto de layers. O software deve solicitar ao usuário qual é o tamanho da viewport do cenário (portanto, as dimensões de desenho do cenário para visualização). Alternativamente, já poderia solicitar ao usuário qual é a imagem de fundo (como um campo de preenchimento opcional). Prof. Ms. Leandro Tonietto! 2/5

(4) Abrir: nesta opção, o usuário pode carregar um arquivo no modelo da aplicação. O aluno deve implementar uma classe com um método que recebe como parâmetro uma String e retorna, em caso de sucesso na leitura, um objeto do tipo cenário (conforme especificação do formato de arquivo script.sc2d ); Em caso de erro, devido a alguma falha de leitura, como arquivo não existente ou arquivo com formato inválido, o objeto que carrega o cenário deve retornar um objeto de exceção ou de sinalização de erro. (5) Salvar: assim como na opção abrir, aluno deve implementar uma classe para gravar em arquivo o cenário montado (também no formato.sc2d ). A classe tem um método salvar que recebe um objeto do tipo cenário e um caminho com o nome/local do arquivo a ser gravado. Se o objeto conseguiu realizar o salvamento sem erros pode dar um retorno de sucesso ou não retornar nada (void); entretanto, em caso de falha, como um diretório inválido ou tipo de extensão inválida, o software deve retornar uma exceção apropriada para cada erro. (6) Adicionar layer: o objetivo desta função é adicionar novas layers no cenário. A nova layer deve ser inserida sempre no nível acima da última e, logicamente, abaixo da layer de primeiro plano (foreground). Quando o usuário clica na opção Adicionar Layer o sistema deve perguntar quais são as dimensões da layer. Opcionalmente, é possível solicitar ao usuário qual a taxa de scrolling que ele quer utilizar para a layer atual ou então se ele quer que o sistema calcule automaticamente com base no tamanho da layer. Seria interessante que o sistema solicitasse também (de preenchimento opcional para o usuário), uma imagem para ser o fundo da layer; ainda que ele possa adicionar novas imagens na mesma. (7) Adicionar imagem: carrega uma imagem do disco e adiciona na layer selecionada (em edição). As imagens a serem carregadas aqui também são de um dos formatos suportados nesta especificação (PCX ou SGI). (8) Aplicar filtro: o objetivo desta opção é permitir que o usuário possa aplicar um filtro de imagem sobre as imagens da layer. Os algoritmos de filtros de imagens a serem aplicados ficam por conta dos alunos. (9) Executar Cenário: executa o cenário como se fosse um jogo, possibilitando interação do usuário para se deslocar lateralmente pelo mesmo. Alternativamente (ponto-extra), pode-se colocar uma sprite de um personagem simular o seu deslocamento pelo cenário, tanto lateral quanto em profundidade. Formato SC2D O programa deve gravar e ler de arquivo um cenário 2D produzido nele mesmo. Logicamente, este arquivo deve conter toda a informação necessária para ser reproduzido. Tendo em mente que objetivo é produzir um cenário composto por layer, então o formato de gravação é: Sintaxe do arquivo <nome> <Largura> <Altura> <n-layers> L0 <nome> <w> <h> <taxa scrolling> <imagem> L<1..n-2> <nome> <w> <h> <taxa scrolling> <imagem> L<n-1> <nome> <w> <h> <taxa scrolling> <imagem> Explicação das linhas nome, largura e altura da viewport e núm. de layers layer zero é sempre a camada de fundo layers do cenário, largura, altura, scrolling e caminho da imagem associada última layer do cenário é sempre a de foreground Prof. Ms. Leandro Tonietto! 3/5

Exemplo de um arquivo de cenário 2D: Conteúdo do arquivo CenárioTeste 640 480 3 L0 background 640 480 0.0 fundo.ppm L1 2aCamada 1024 480 0.25 árvores.ppm Explicação das linhas Cenário CenárioTeste de 640 por 480 e 3 layers Layer de fundo chamada Background com taxa 0.0 e uma imagem Camada intermediária de 1024 por 480 com taxa 0.25 e uma imagem L2 CamadaAcao 1280 480 0.5 obstáculos.ppm Camada de ação de 1280 por 480 com taxa 0.5 e uma imagem Avaliação Os critérios para avaliação do trabalho são a correta implementação das atividades da seção Atividades a serem programadas, além da criatividade e qualidade de código. Distribuição dos pesos: Interface gráfica: funcionalidade e usabilidade (20%) Novo, Carregar e salvar no formato SC2D (30%) Adicionar layer e Inserir imagem: leitura de arquivos de imagem no formato PCX ou SGI (30%) Aplicação de filtros de imagem (10%) Executar cenário (10%) Pontos-extra: - São pontos que são dados a funcionalidades que vão além da especificação básica e que podem substituir algum ponto deficitário do programa, ou agregar na nota geral do GA. - Serão considerados pontos-extra: Associar sprite/animação com camada de ação e poder navegar com o personagem entre as camadas e lateralmente pelo cenário quando no modo de preview. Posicionamento interativo das imagens da layer. Portanto, depois de adicionar as imagens o usuário pode selecionar e uma e movimentá-la pela layer, para encontrar uma nova posição. Suporte a outros formatos de imagens, sendo que pelo menos mais um tem que ser implementado. Alteração do formato do arquivo de cenário para binário e para gravar também as imagens do cenário. Sugestões de desenvolvimento Como o trabalho é extenso, com diversos pontos que requerem tratamento de possibilidades (como imagens em formato PCX ou SGI), então um boa rotina para se chegar a resultado aceitável do trabalho é: (1) Primeiro ter algo que funcione e possa servir de base para os demais passos: a) Implementar apenas uma versão do PCX ou SGI, mas que tenha suporta a pelo menos transparência e compressão. b) Fazer classes e desenho do cenário. Tentar diminuir o número de parâmetros informados pelo usuário, isto gera menos programação. c) Implementar a função de adicionar layer d) Implementar a função de adicionar imagem numa layer Prof. Ms. Leandro Tonietto! 4/5

e) Implementar as funções salvar e carregar cenário f) Opção executar: gerar uma matriz / buffer da tela que deve ser desenhada pelo OpenGL. Neste caso, desenhar todas as informações na imagem da viewport. g) Implementar os filtros de imagem e aplicação deles sobre os tiles. (2) Depois de fazer os passos da estratégia 1, implementar funcionalidades com maiores detalhes e ponto-extra: a) Verificar detalhes pendentes no passo 1 b) Opção novo cenário. c) Possibilidade de selecionar layer e mudar ordem das layers d) Terminar implementação completa do formato de arquivo de imagem e) Implementar detalhes de interface, como scroll das layer e validações de entrada de dados do usuário. f) Implementar ponto-extra Considerações finais Alguns aspectos gerais devem ser considerados na realização do trabalho: O trabalho deverá ser realizado OBRIGATORIAMENTE em DUPLA. Quando se diz que um trabalho deve ser feito em duplas, os dois integrantes devem, efetivamente, participar da realização, sob pena de nota diferenciada na avaliação. IMPORTANTE 1: Atividades copiadas da Internet ou dos colegas serão avaliadas com conceito Reprovado, portanto, menor que 6. Não deixe para a última hora, converse com o professor durante as aulas e receba orientações do que deve ser feito para atingir o objetivo. Caso algum integrante da dupla desista da atividade acadêmica, o outro integrante deverá dar continuidade ao projeto sozinho. IMPORTANTE 2: a entrega do trabalho compreende na entrega e apresentação do código-fonte ao professor pelos dois integrantes do grupo, aonde será evidenciado entendimento do mesmo e a efetiva participação dos integrantes. Em caso de dúvidas ou problemas contate o professor o quanto antes, para se possa encaminhar alguma outra solução em tempo hábil. Questões sobre programação: - Linguagens: C++ ou Java. - Em ambos os casos, o aluno deve implementar o que foi solicitado, não deve fazer uso de bibliotecas. Por exemplo, o aluno deve implementar o algoritmo para carregar o arquivo PNM e não utilizar biblioteca pronta. De qualquer maneira, na dúvida questione o professor para não ser surpreendido na avaliação. Atualização do documento: 21/09/2012 Prof. Ms. Leandro Tonietto! 5/5