AMBIENTE VISUAL PARA O DESENVOLVIMENTO DE JOGOS ELETRÔNICOS

Tamanho: px
Começar a partir da página:

Download "AMBIENTE VISUAL PARA O DESENVOLVIMENTO DE JOGOS ELETRÔNICOS"

Transcrição

1 FUNDAÇÃO EDUCACIONAL SERRA DOS ÓRGÃOS CENTRO UNIVERSITÁRIO SERRA DOS ÓRGÃOS CENTRO DE CIÊNCIAS E TECNOLOGIA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO AMBIENTE VISUAL PARA O DESENVOLVIMENTO DE JOGOS ELETRÔNICOS Autor: Diego Cordeiro Barboza Orientador: Júlio César da Silva Teresópolis Dezembro de 2008

2 Barboza, Diego Cordeiro. Ambiente visual para o desenvolvimento de jogos eletrônicos. Teresópolis: Centro Universitário Serra dos Órgãos, Orientador: Júlio César da Silva, D.Sc. Monografia CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO DO CENTRO UNIVERSITÁRIO SERRA DOS ÓRGÃOS. 1. Desenvolvimento de Jogos 2. Ferramentas RAD. 3. Framework i

3 Trabalho de conclusão de curso apresentado ao Centro Universitário Serra dos Órgãos - Curso de Bacharelado em Ciência da Computação - como um dos requisitos para obtenção do título de Bacharel em Ciência da Computação. ELABORADO POR DIEGO CORDEIRO BARBOZA E APROVADO POR TODOS OS MEMBROS DA BANCA EXAMINADORA. FOI ACEITO PELO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO. TERESÓPOLIS, 09 DE DEZEMBRO DE 2008 BANCA EXAMINADORA: D.Sc. Carlos Vitor de Alencar Carvalho (USS e Tecgraf/PUC-Rio) D.Sc. Esteban Walter Gonzalez Clua (UFF) M.Sc. Eugênio da Silva (UNIFESO e ICA/PUC-Rio) Teresópolis Dezembro de 2008 ii

4 DEDICATÓRIA Aos meus familiares e amigos que me apoiaram e incentivaram durante meus estudos e por toda minha vida. iii

5 AGRADECIMENTOS À minha mãe Zilda, minha irmã Rafaela e minha namorada Adrian, que estiveram ao meu lado e me incentivaram por toda minha jornada acadêmica. Ao professor Júlio César da Silva, pela orientação, não só na elaboração deste trabalho, mas em diversos outros aspectos de minha vida acadêmica, que certamente me ajudará a ser um melhor profissional. Aos professores do curso de Ciência da Computação do UNIFESO, por sua dedicação em transmitir conhecimentos durante nossos estudos. Agradeço especialmente às conversas informais, nas quais os professores puderam passar lições que nos acompanharão por muito tempo. iv

6 RESUMO Este trabalho apresenta o desenvolvimento de um software para auxílio ao desenvolvimento de jogos eletrônicos (Visual Game), no qual é possível definir toda a lógica do jogo utilizando apenas componentes gráficos reutilizáveis, sem necessidade de codificação. O trabalho é dividido em quatro partes: o desenvolvimento de um wrapper para a biblioteca gráfica utilizada, um framework para o desenvolvimento de jogos em geral, a ferramenta gráfica em si e o gerador de código responsável por traduzir as ações do usuário em código-fonte em uma linguagem de programação. v

7 ABSTRACT This work presents the development of software to aid development of electronics games (Visual Game), where it is possible to define the game s logic using only reusable graphics components, without the need for coding. The work is divided into four parts: the development of a wrapper for the employed graphics library, a general-purpose game development framework, the graphical tool itself and the code generator responsible for translating the user s actions into source code in a programming language. vi

8 SUMÁRIO LISTA DE FIGURAS...IX LISTA DE TABELAS...XI LISTA DE QUADROS... XII LISTA DE SIGLAS... XIII 1. INTRODUÇÃO REVISÃO BIBLIOGRÁFICA Desenvolvimento de Jogos Eletrônicos Indústria de Jogos Eletrônicos Jogos no Ambiente Acadêmico Ferramentas RAD Middleware No mundo No Brasil Ferramentas Similares RPG Maker Game Maker Scratch Outras AMBIENTE VISUAL Publico Alvo Justificativa Funções ETAPAS DO DESENVOLVIMENTO Escolha das Tecnologias Linguagem e Ambiente de Programação Biblioteca Gráfica Escolha da Biblioteca de Som Construção do Framework Construção do Ambiente CONCLUSÕES E SUGESTÕES PARA TRABALHOS FUTUROS...50 REFERÊNCIAS BIBLIOGRÁFICAS...52 BIBLIOGRAFIAS CONSULTADAS...55 ANEXO 1 - DESCRIÇÃO DOS CASOS DE USO DO VISUAL GAME...56 vii

9 ANEXO 2 PASSO A PASSO DA CRIAÇÃO DE UM JOGO COM O VISUAL GAME...62 viii

10 LISTA DE FIGURAS FIGURA 1 - TELA DO COMPONENTE OPENFILEDIALOG FIGURA 2 - TELA DE PROJETO DE INTERFACES PARA DISPOSITIVOS MÓVEIS DO NETBEANS...20 FIGURA 3 - TELA DE INTERAÇÃO ENTRE AS TELAS DE DISPOSITIVOS MÓVEIS DO NETBEANS...21 FIGURA 4 AMBIENTE DE DESENVOLVIMENTO DO VISUAL STUDIO FIGURA 5 - ÁREA DE ATUAÇÃO DAS DESENVOLVEDORAS DE JOGOS NO BRASIL (ABRAGAMES, 2005)...23 FIGURA 6 - TELA DE CARREGAMENTO E CONFIGURAÇÃO DE IMAGENS...30 FIGURA 7 - LISTA DE EVENTOS E AÇÕES FIGURA 8 - TELA DE CRIAÇÃO DE PALCOS FIGURA 9 - ESTRUTURA DOS COMPONENTES DO TRABALHO...34 FIGURA 10 ESTRUTURA DAS TECNOLOGIAS EMPREGADAS NO TRABALHO FIGURA 11 - ESTRUTURA DA PLATAFORMA.NET (WIHLIDAL, 2006)...36 FIGURA 12 - COMPARAÇÃO ENTRE IMAGEM NO IRRLICHT E NO ALLEGRO FIGURA 13 - DIFERENÇA ENTRE BIBLIOTECA DE CLASSES E FRAMEWORK (SAUVÉ, 2005) FIGURA 14 - DIAGRAMA DE CASOS DE USO DO VISUAL GAME FRAMEWORK FIGURA 15 - DIAGRAMA DE CLASSES COM AS PRINCIPAIS CLASSES DO VISUAL GAME FRAMEWORK FIGURA 16 - DIAGRAMA DE ATIVIDADES MOSTRANDO O FLUXO DOS JOGOS CRIADOS COM O FRAMEWORK...44 FIGURA 17 - DIAGRAMA DE CASOS DE USO DO VISUAL GAME...46 FIGURA 18 BOTÃO DE CRIAÇÃO DE UM NOVO PROJETO FIGURA 19 TELA DE SELEÇÃO DO LOCAL E NOME DO PROJETO FIGURA 20 BOTÃO PARA ADICIONAR UMA IMAGEM AO PROJETO...63 FIGURA 21 TELA PARA CARREGAR E CONFIGURAR A IMAGEM DESEJADA FIGURA 22 TELA PARA CARREGAR E CONFIGURAR O SOM DESEJADO...64 FIGURA 23 BOTÃO PARA ADICIONAR UMA ENTIDADE AO JOGO...64 FIGURA 24 TELA DE CRIAÇÃO DE ENTIDADES...64 FIGURA 25 CONTROLES DE CONFIGURAÇÃO DAS PROPRIEDADES DA ENTIDADE FIGURA 26 LISTA DE SELEÇÃO DA IMAGEM DA ENTIDADE...65 FIGURA 27 LISTA DE SELEÇÃO DE EVENTOS DA ENTIDADE FIGURA 28 TELA PARA ADICIONAR UM EVENTO DE TECLADO E SELECIONAR A TECLA FIGURA 29 LISTA DE EVENTOS ADICIONADOS AO BASTÃO...66 FIGURA 30 - TELA DE CRIAÇÃO DE UMA AÇÃO DE MOVIMENTO...67 ix

11 FIGURA 31 - LISTA DE AÇÕES EXECUTADAS PELA BOLA NO MOMENTO DE SUA CRIAÇÃO FIGURA 32 BOTÃO PARA ALTERAR AS CONFIGURAÇÕES DO JOGO FIGURA 33 - TELA DE CONFIGURAÇÃO DO JOGO...68 FIGURA 34 - TELA VERIFICAÇÃO SE A ENTIDADE SAIU DA TELA FIGURA 35 - TELA DE SELEÇÃO DE UM EFEITO SONORO PARA SER EXECUTADO...69 FIGURA 36 - TELA DE ALTERAÇÃO DE PONTOS DOS JOGADORES...69 FIGURA 37 - TELA INVERSÃO DA VELOCIDADE DA ENTIDADE...69 FIGURA 38 - AÇÕES EXECUTADAS QUANDO A BOLA SAI POR CIMA OU POR BAIXO DA TELA FIGURA 39 - TELA DE CONFIGURAÇÃO DOS PARÂMETROS DE COLISÃO FIGURA 40 - VISUALIZAÇÃO DOS PARÂMETROS DE COLISÃO DA BOLA...70 FIGURA 41 - PARÂMETROS DA AÇÃO VERIFICAR POSIÇÃO...71 FIGURA 42 - AÇÕES DE MOVIMENTO DO BASTÃO FIGURA 43 - CONFIGURAÇÕES DE DESENHAR PONTOS...71 FIGURA 44 - AÇÕES EXECUTADAS PELA ENTIDADE PLACAR...72 FIGURA 45 - BOTÃO DE CRIAÇÃO DE PALCOS FIGURA 46 - LISTA DE ENTIDADES DISPONÍVEIS FIGURA 47 - PALCO COM AS ENTIDADES ADICIONADAS...73 FIGURA 48 - ENTIDADE PLACAR ADICIONADA AO PALCO...73 FIGURA 49 - BOTÃO EXECUTAR JOGO...73 FIGURA 50 - TELA DO JOGO EM EXECUÇÃO x

12 LISTA DE TABELAS TABELA 1 - COMPARAÇÃO DE DESEMPENHO ENTRE O SDL E O ALLEGRO...38 TABELA 2 - DESCRIÇÃO DAS PRINCIPAIS CLASSES DO VISUAL GAME FRAMEWORK...43 TABELA 3 - DESCRIÇÃO DAS ATIVIDADES DO VISUAL GAME FRAMEWORK xi

13 LISTA DE QUADROS QUADRO 1 EXEMPLO DE FUNÇÃO EM C E C#...40 QUADRO 2 - EXEMPLO DE PROJETO ARMAZENADO EM FORMATO XML QUADRO 3- EXEMPLO DE EVENTO DE TECLADO QUADRO 4 - TRECHO DE CÓDIGO-FONTE EQUIVALENTE AO EVENTO DE TECLADO DO QUADRO QUADRO 5 - EXEMPLO DE ARQUIVO DE ENTRADA PARA O COMPILADOR...48 xii

14 LISTA DE SIGLAS 2D 3D ABRAGAMES API CASE CLR CSC DLL MIT MSDN RAD RNP RPG SBC SDL XML Duas Dimensões Três Dimensões Associação Brasileira das Desenvolvedoras de Jogos Eletrônicos Application Programming Interface Computer Aided Software Engineering Common Language Runtime C Sharp Compiler Dynamic Link Library Massachusetts Institute of Technology Microsoft Developer Network Rapid Application Development Rede Nacional de Ensino e Pesquisa Role Playing Games Sociedade Brasileira de Computação Simple Direct Layer Extensible Markup Language xiii

15 1. INTRODUÇÃO Cada vez mais os jogos eletrônicos têm atraído a atenção, seja no mercado, que alcança valores em vendas mais altos a cada novo lançamento, seja no meio acadêmico, que se utiliza dos jogos eletrônicos para o desenvolvimento de pesquisas e o ensino. O desenvolvimento de jogos, no entanto, não é uma tarefa trivial. O processo de desenvolvimento passa pela elaboração do conteúdo e formato do jogo, criação de enredo, escolha e desenvolvimento de tecnologias, criação das interfaces, etc. Na área de programação, lidar com os códigos para manipulação de recursos, testes de colisão, gerenciamento de memória, e diversas outras tarefas, pode não ser algo simples para um desenvolvedor iniciante. Esta complexidade pode até mesmo afastar potenciais desenvolvedores em um primeiro momento. Erros de codificação são comuns em programação e formas de se minimizar estes erros e aumentar a produtividade dos desenvolvedores são buscadas de várias maneiras, uma delas a geração automática de código-fonte. Como é possível reduzir a complexidade envolvida na criação de jogos eletrônicos, levando este processo ao alcance de desenvolvedores iniciantes, ao mesmo tempo em que se minimizam os erros de codificação, aumentando o desempenho e a qualidade dos jogos produzidos? Uma solução seria a utilização de ambientes visuais, sistemas de software que fornecem um conjunto de ferramentas específicas para desenvolvimento de jogos eletrônicos que fazem uso de componentes de software reutilizáveis, diminuindo os custos de produção, e geram código-fonte automaticamente, de acordo com as opções definidas pelo usuário numa interface gráfica. O objetivo deste trabalho é desenvolver um ambiente visual para simplificar o processo de desenvolvimento de jogos eletrônicos (Visual Game). A sua utilização pode ser tanto para o ensino, dando ênfase maior à lógica do jogo do que à sintaxe da linguagem de programação, quanto para o desenvolvimento de jogos completos, reduzindo a possibilidade de erros e gerenciando automaticamente os recursos do jogo. 14

16 A construção e utilização deste tipo de ambiente no desenvolvimento de jogos eletrônicos se justificam pelo aumento de produtividade e a redução da possibilidade de erros que uma ferramenta de desenvolvimento rápido possibilita. Um ambiente visual também pode servir para tornar mais acessível o desenvolvimento de jogos, visto que o processo é facilitado, quando comparado ao processo convencional de codificação. A elaboração do ambiente visual passa por algumas etapas e certos passos tiveram que ser concluídos antes que o software fosse desenvolvido. Para auxiliar o desenvolvimento de jogos eletrônicos, um framework foi construído, a fim de simplificar o código-fonte gerado pelo ambiente. Um pacote de funções de acesso à biblioteca gráfica empregada também teve de ser elaborado, visto que não havia uma versão para o ambiente de desenvolvimento utilizado. Por fim, um gerador de código foi criado para traduzir as informações fornecidas pelo usuário em código-fonte em uma linguagem de programação. Este trabalho está divido em 5 capítulos. O capítulo 2 descreve a situação atual dos jogos eletrônicos no mercado e no meio acadêmico, apresenta uma pesquisa sobre conceitos utilizados na construção do software, e algumas ferramentas similares ao tema proposto. O capítulo 3 apresenta o projeto com mais detalhes, incluindo seu público alvo, a justificativa do trabalho e uma descrição de suas funções. No capítulo 4 são descritas as etapas do desenvolvimento do projeto. No capítulo 5 são apresentadas as conclusões e sugestões de trabalhos futuros. 15

17 2. REVISÃO BIBLIOGRÁFICA Neste capítulo é apresentada uma visão geral sobre a aplicação dos jogos eletrônicos no mercado e no meio acadêmico. Posteriormente, é feito um estudo relativo a ferramentas de desenvolvimento RAD (Rapid Application Development, ou Desenvolvimento Rápido de Aplicação) e ao uso de softwares do tipo middleware no desenvolvimento de jogos. Por fim, uma lista de aplicações similares ao tema proposto neste trabalho é apresentada, descrevendo brevemente suas características Desenvolvimento de Jogos Eletrônicos Indústria de Jogos Eletrônicos A indústria de jogos eletrônicos começou como uma curiosidade e alcançava apenas um nicho de mercado nas décadas de 1960 e 1970, mas cresceu rapidamente e ajudou no desenvolvimento de diversas áreas da computação, como o avanço nas placas aceleradoras de vídeo e placas de som. Atualmente, o setor de jogos eletrônicos corresponde a uma das áreas de maior movimentação financeira dentro da indústria do entretenimento digital, tendo inclusive ultrapassado a bilionária indústria do cinema norte-americano (ABRAGAMES, 2004), alcançando um valor de aproximadamente US$ 9,5 bilhões em 2007 apenas nos Estados Unidos (WIKIPEDIA, 2008a). Recentemente, o jogo Grand Theft Auto IV atingiu um total de US$ 500 milhões em vendas apenas na primeira semana após o lançamento, tornando-se o jogo com maior renda na semana de lançamento da história, com uma vantagem de US$ 200 milhões em relação ao detentor anterior do recorde, Halo 3 (CRECENTE, 2008). Buscando atingir um público cada vez maior, os jogos eletrônicos atualmente podem ser encontrados em diversos dispositivos, como computadores pessoais (localmente ou através da internet, na forma de webgames), consoles domésticos (como o Nintendo Wii, Xbox 360 e Playstation 3), dispositivos portáteis (como o Nintendo DS e o Playstation Portable) e aparelhos celulares. 16

18 Além dos jogos comerciais, vendidos em lojas ou através de serviços de distribuição pela internet, existem também outros modelos de distribuição de jogos, como os advergames e os business games. Os advergames são uma modalidade de jogos, geralmente distribuídos gratuitamente, cujo custo de produção é pago pela inserção de publicidade de empresas que desejam promover seus produtos ou serviços (BARBOZA E SILVA, 2007). Os business games, também chamados de serious games, são jogos voltados ao treinamento e aprendizado. Exemplo deste tipo de jogo é o Desafio SEBRAE, jogo voltado a estudantes de nível universitário que simula a administração de uma empresa virtual, cabendo ao jogador tomar decisões em vários aspectos da empresa, como investimentos em materiais, marketing, contratação e treinamento de pessoal, expansão das instalações, manutenção e outros. O aprendizado neste caso ocorre nas situações vividas dentro do jogo, que buscam simular, com algum grau de precisão, os acontecimentos do mundo real Jogos no Ambiente Acadêmico Nos últimos anos tem-se visto um considerável crescimento do interesse acadêmico na área de desenvolvimento de jogos eletrônicos, seja por cursos superiores e pós-graduações, seja por cursos livres e técnicos. Como prova deste interesse, em um levantamento dos cursos instalados no Brasil em 2008 elaborado pela Abragames (2008), constatou-se a criação de quinze novos cursos de graduação na área, em comparação ao levantamento realizado pela jornalista Alessandra de Falco, em Atualmente, segundo o mesmo levantamento, existem vinte e dois cursos superiores no país com abrangência sobre alguma área do desenvolvimento de jogos, sendo que dezessete deles estão inclusos na categoria de jogos digitais, e os outros cinco são das áreas de programação, animação e comunicação. Além destes, existem ainda os cursos livres, técnicos, de extensão e pósgraduação. 17

19 O interesse pela área levou à formação de grupos de pesquisa em diversas universidades, especialmente na região sudeste, onde estão instalados cinco grupos, divididos entre os estados de São Paulo, Rio de Janeiro e Minas Gerais (ABRAGAMES, 2008). Além dos grupos de estudo, há também congressos e encontros sobre desenvolvimento de jogos eletrônicos, como o SBGames (SBGAMES, 2008), o principal evento da área na América Latina, promovido pela Sociedade Brasileira de Computação (SBC) e apoiado pela ABRAGAMES desde No evento são publicados artigos completos, pôsteres e tutoriais, além da divulgação de jogos independentes, seminários e fóruns de discussão. Os jogos eletrônicos atraem o interesse das instituições de ensino por diversos motivos e podem ser aplicados em muitas áreas, através de ferramentas educativas ou da utilização do processo de desenvolvimento como meio de aprendizagem. Como ferramenta educativa, os jogos podem ser inseridos em salas de aula e usados para ajudar na imersão dos alunos com o conteúdo didático, especialmente na forma de simuladores, museus e ambientes virtuais ou animações interativas, por exemplo. Se olhado como o meio, e não fim, o desenvolvimento de jogos pode ser aplicado no ensino de diversas disciplinas de cursos de Ciência da Computação ou Análise de Sistemas. Todo o processo de desenvolvimento pode ser utilizado para exemplificar conceitos utilizados em outras áreas, como engenharia de software, programação e lógica, computação gráfica, processamento de som, inteligência artificial, comunicação em rede, matemática e física. Áreas não diretamente relacionadas à Computação também estão envolvidas no processo de desenvolvimento de jogos eletrônicos. Desenvolvimento de histórias e roteiros, arte conceitual e criação de texturas, modelagem de personagens e ambientes em três dimensões, captura de movimentos, entre outros, são áreas onde o desenvolvimento de jogos pode ser utilizado como meio de ensino. 18

20 2.2. Ferramentas RAD O modelo de desenvolvimento RAD tem como base a idéia de produtos que podem ser desenvolvidos de forma mais ágil e com maior qualidade. Um dos aspectos mais importantes deste modelo é a reutilização de componentes de software, alcançada através da utilização da programação orientada a objetos. Diversas ferramentas são utilizadas neste processo, entre elas ferramentas de levantamento de requisitos, de criação de protótipos, de engenharia de software auxiliada por computador (ferramentas CASE), de testes e de programação (BERRY & NAUMANN, 2007). A reutilização dos componentes de software promovida pelas ferramentas RAD permite um considerável aumento de produtividade no desenvolvimento dos programas, pois este processo reduz a necessidade de codificação e, com menor número de linhas de código sendo escritas, menor também é a probabilidade de que este código contenha erros (DEBONI, 2008). Para entender como funcionam os componentes de software em um ambiente RAD, pode-se citar um componente do ambiente de programação Visual Studio, utilizado para escolher um arquivo no disco, chamado OpenFileDialog. Uma vez que o componente tenha sido adicionado ao projeto, o desenvolvedor pode configurar alguns de seus parâmetros, definindo os tipos de arquivos que serão exibidos, o diretório inicial de busca, entre outras propriedades. Depois disto, basta incluir no código uma chamada ao seu método Show e uma tela de seleção de arquivos será exibida, permitindo ao usuário navegar pelo sistema de arquivos local e selecionar o arquivo desejado. O próprio componente é responsável por retornar para a aplicação se um arquivo foi selecionado ou se o botão Cancelar foi pressionado. Conforme pode ser visto na Figura 1, este componente é responsável pela exibição de diversos outros componentes na tela, entre eles uma área de navegação pelo sistema de arquivos, uma lista de locais comuns para busca, botões de abrir e cancelar, caixas de texto para entrada do nome do arquivo, dentre outros. Se esta tela fosse desenvolvida sem a utilização de um componente, caberia ao desenvolvedor a codificação de todos estes elementos. Com o uso do 19

21 componente, o desenvolvedor precisa apenas adicioná-lo à sua aplicação e inserir em seu código uma chamada ao método que dispara sua exibição. Figura 1 - Tela do componente OpenFileDialog. Existem ferramentas RAD para diversas áreas de desenvolvimento, como elaboração de interfaces gráficas para aplicações desktop, bancos de dados, sistemas embarcados e aplicações para internet e dispositivos móveis (WIKIPEDIA, 2008c). O ambiente de desenvolvimento NetBeans reúne diversas ferramentas RAD para uso em diferentes áreas, como desenvolvimento de aplicações desktop, páginas de internet e dispositivos móveis. Na Figura 2 e Figura 3 são mostradas, respectivamente, as ferramentas do NetBeans para a elaboração de interfaces gráficas para dispositivos móveis e o fluxo de transições dessas telas. Figura 2 - Tela de projeto de interfaces para dispositivos móveis do NetBeans. 20

22 Figura 3 - Tela de interação entre as telas de dispositivos móveis do NetBeans. Na Figura 4 pode-se ver à esquerda uma caixa de ferramentas contendo uma lista dos componentes que podem ser utilizados no projeto, uma área de desenho da interface no centro e uma lista de componentes não-visuais na parte inferior da tela Middleware Figura 4 Ambiente de desenvolvimento do Visual Studio Em engenharia de software, middleware é um termo utilizado para definir uma camada de software que não funciona diretamente como uma aplicação, mas é responsável por fazer a 21

23 conexão entre componentes e aplicações (RNP, 2006). Aplicados a sistemas distribuídos, este tipo de software é utilizado para permitir a comunicação entre os componentes do sistema e ocultar a distribuição para o usuário (MEDVIDOVIC, 2003). No desenvolvimento de jogos eletrônicos, o termo middleware geralmente é empregado para denominar ferramentas de auxílio ao desenvolvimento, na forma de ferramentas ou bibliotecas de código. A utilização deste tipo de software permite focar diretamente no desenvolvimento dos jogos, ao invés de investir tempo na criação de funcionalidades típicas, como cálculos de visualização, testes de colisão e interface com o usuário (ABRAGAMES, 2004). Aplicações que se encaixam nesta categoria geralmente trazem facilidades para o desenvolvimento de um ou mais aspectos específicos dos jogos, como gráficos, som, física ou inteligência artificial (WIKIPEDIA, 2008d). A biblioteca de simulação física Havok, é um exemplo de middleware amplamente utilizando em diversos jogos comerciais, tais como The God Father e Half-Life (HAVOK, 2008a). Esta biblioteca oferece todo um conjunto de ferramentas para simulação de efeitos de física, movimentação de tecidos e objetos deformáveis, destruição de objetos rígidos, entre outros (HAVOK, 2008b). O apoio ao desenvolvimento de middleware é um ponto estratégico para o desenvolvimento do setor de jogos no país, uma vez que este tipo de software beneficia a cadeia produtiva em seu nível mais básico (ABRAGAMES, 2004). O desenvolvedor deve optar pela compra de uma ferramenta deste tipo, ou pelo desenvolvimento de suas próprias ferramentas. No primeiro caso, há um alto custo, visto que um bom middleware em geral possui um preço elevado, e no segundo caso há todo o custo do desenvolvimento, sem retorno imediato, porém com boas perspectivas de utilização se o processo for bem executado. 22

24 No mundo Existe uma grande quantidade de middlewares voltado para jogos no mundo, variando desde produtos gratuitos e de código aberto como o Irrlicht 3D e o Ogre 3D, até produtos caros como o Unreal Engine. Este tipo de software se subdivide em diversas categorias, incluindo física, inteligência artificial, animação, modelagem, texturização, comunicação em redes, áudio, vídeo, segurança, entre outros. A página de internet do Game Middleware (GAMEMIDDLEWARE, 2008) mantém uma lista de quase 100 tipos diferentes de middleware para diversos propósitos No Brasil No Brasil, o desenvolvimento de middleware ainda é incipiente e o foco de produção é voltado ao mercado tradicional de jogos de entretenimento puro. Em pesquisa divulgada pela ABRAGAMES em 2005, apenas 8% das empresas atuando em território nacional estavam voltadas para o desenvolvimento de middleware (ABRAGAMES, 2005). A Figura 5 mostra a área de atuação das empresas instaladas no Brasil em Figura 5 - Área de atuação das desenvolvedoras de jogos no Brasil (ABRAGAMES, 2005). 23

25 2.4. Ferramentas Similares Muitas ferramentas existentes se propõem a facilitar o desenvolvimento de jogos utilizando componentes visuais e a metodologia de desenvolvimento rápido. Estas ferramentas apresentam níveis de abstração e complexidade bastante distintos, variando de ambientes limitados à edição de histórias e cenários dos jogos, passando por ferramentas de edição mais robustas que permitem a criação de jogos completos bidimensionais, chegando a ambientes caros e complexos. Neste caso, os jogos de alto nível de complexidade podem ser criados para computadores pessoais e consoles RPG Maker Esta é uma das ferramentas mais simples para o desenvolvimento de jogos e, como o próprio nome indica, fornece de um sistema para criação de jogos de interpretação (RPG). O RPG Maker apresenta um esquema de jogo completo, fornecendo controles de movimentação, animação, cenários, combates e entre outros aspectos pré-definidos. Cabe ao usuário escolher as falas dos personagens, a disposição dos objetos nos cenários e os eventos que juntos irão compor o jogo. O funcionamento dos jogos criados com o RPG Maker é baseado na utilização de eventos fornecidos pela ferramenta. Uma vez disparados, estes eventos realizam alguma ação dentro do jogo, como mostrar uma imagem ou texto, reproduzir um efeito sonoro, iniciar uma tela de batalha, chamar um script, entre outros. Adicionalmente, é possível trabalhar também com interruptores (para impedir que um mesmo evento seja disparado múltiplas vezes), com variáveis (usadas para armazenar valores definidos pelo usuário), e com condições (testes lógicos que permitem que alguma ação seja executada quando seu resultado for verdadeiro). O aspecto negativo desta ferramenta é que ela não pode ser utilizada para criação de outros estilos de jogos, apesar desta também não ser sua proposta. Através do sistema de criação de scripts, utilizando a linguagem Ruby, é possível superar esta limitação, porém perde-se o recurso de criar o jogo visualmente. 24

26 Game Maker O Game Maker funciona como uma ferramenta para a criação de jogos em geral, e possibilita ao usuário definir o comportamento dos objetos do jogo apenas utilizando componentes visuais. O desenvolvimento de jogos com o Game Maker tem como ponto central a criação de eventos e a definição das ações que devem ser executadas sempre que estes eventos forem disparados, para cada objeto do jogo. Apesar de ser uma ferramenta bastante completa e permitir a criação de diversos tipos de jogos, o Game Maker não permite a edição do código-fonte do jogo criado, o que inviabiliza seu uso como uma ferramenta para criação de protótipos e prende o usuário aos recursos fornecidos por ela. Além disto, trata-se de um programa pago, que possui também uma versão gratuita, porém com algumas limitações Scratch O Scratch é um projeto do MIT voltado para a criação de histórias interativas, animações, jogos, músicas e arte (MIT, 2008). Seu foco é o auxilio ao aprendizado de crianças, ensinando conceitos de matemática e computação enquanto os projetos são desenvolvidos. Sua interface é simplificada e bastante colorida, possuindo um maior apelo ao público jovem. Um ponto interessante é o fato da tela de jogo ser apresentada ao lado da tela de desenvolvimento, refletindo as alterações no código em tempo real. Apesar de voltado para o público infantil, o Scratch apresenta uma interface textual, ao invés de usar componentes gráficos para representar os comandos do jogo. Desta forma, todas as opções feitas pelo usuário durante o desenvolvimento são representadas puramente por caixas de texto. De fato, o projeto é apresentado na página oficial como uma nova linguagem de programação, ou seja, trata-se somente de uma nova forma de efetuar a codificação, arrastando os comandos ao invés de digitá-los. 25

27 Outras Existem diversas outras ferramentas de auxilio ao desenvolvimento de jogos eletrônicos, muitas delas utilizadas no desenvolvimento de jogos comerciais. Ferramentas para criação de jogos tridimensionais variam desde produtos gratuitos (Blender Game Engine e o Aurora Toolset, que acompanham o jogo Neverwinter Nights), passando por ferramentas de baixo custo (3D GameStudio e o Torque), até ambientes caros e complexos (Unreal Engine, com custo estimado na faixa de milhares de dólares) (DEVMASTER, 2008). Apesar de ser um campo interessante de estudo, as ferramentas de desenvolvimento de jogos em três dimensões não fazem parte do escopo deste trabalho e não foram estudadas com um maior nível de detalhes. 26

28 3. AMBIENTE VISUAL O ambiente proposto simplifica o processo de desenvolvimento de jogos eletrônicos, através da utilização de um ambiente visual, no qual o conhecimento técnico de uma linguagem de programação torna-se dispensável e o usuário é capaz de criar jogos utilizando somente componentes visuais para definir a lógica da aplicação. O nome escolhido para o software é Visual Game. O sistema é um middleware, no sentido de que se trata de uma ferramenta de auxílio ao desenvolvimento e se utiliza do conceito de ferramenta RAD, sob a ótica da reutilização de componentes. Utilizando os componentes visuais oferecidos pelo sistema, o usuário deve ser capaz de desenvolver um jogo completo sem a necessidade de escrever uma linha de código sequer. O desenvolvimento é feito através de um sistema de arrastar e soltar, definindo assim a lógica do jogo, seus recursos (como imagens e sons), e suas configurações (como as dimensões da tela). De acordo com as ações exercidas pelo usuário, o sistema gera o código-fonte do jogo em questão automaticamente, chamando posteriormente um compilador para a tradução deste código em um programa executável. Este capítulo irá apresentar o público alvo deste tipo de software, os motivos que justificam seu desenvolvimento e suas principais funções Publico Alvo Professores podem utilizar o ambiente em sala de aula tanto para ensinar desenvolvimento de jogos quanto no ensino de lógica de programação. Na parte do desenvolvimento de jogos, o ambiente possui um vasto ferramental para criação de jogos completos, permitindo ao aluno trabalhar com os aspectos da programação de jogos, como configurações de imagem e som, movimentação e tratamento de colisão, a partir de componentes gráficos. Desta forma, não há a necessidade de que o aluno programe seus próprios algoritmos de colisão, por exemplo, nem que haja uma preocupação com aspectos relativos ao 27

29 desempenho, focando inicialmente na lógica do jogo e deixando estes outros assuntos para um momento posterior. Similarmente, desenvolvedores iniciantes podem se beneficiar do ambiente justamente por não ser necessário conhecer uma linguagem de programação nem desenvolver seus próprios algoritmos ou lidar com questões de desempenho. Utilizado como ferramenta de ensino de lógica de programação, o ambiente contém um conjunto de componentes relacionados aos comandos comumente utilizados na construção de algoritmos. A partir da interface gráfica estão disponíveis comandos condicionais ( se...então...senão ), estruturas de repetição ( enquanto...faça, repita...até ), operadores aritméticos, relacionais e lógicos, funções de entrada e saída de dados, atribuições e chamadas a funções (VILARIM, 2004). Estes comandos permitem ao usuário desenvolver algoritmos simples e praticar a lógica de programação, inclusive repetindo no ambiente algoritmos clássicos utilizados em aula, como verificação se um número é par ou ímpar, ou gerar a seqüência de Fibonacci. Se ao invés de trabalhar com estes algoritmos clássicos, o professor utilizar os componentes para pequenas simulações, como movimentação de personagens animados pela tela, os alunos podem ter um interesse maior pela disciplina. Esta abordagem permite chamar a atenção do aluno que verá os resultados de seus programas em um ambiente lúdico, mais atrativo que um ambiente textual que geralmente é utilizado como primeiro contato de um estudante com um ambiente de programação. Desenvolvedores mais experientes podem utilizar o ambiente para o desenvolvimento de jogos completos. Sua aplicação se justifica pela facilidade e agilidade no processo de desenvolvimento e a minimização dos erros de codificação Justificativa A proposta central de uma ferramenta de desenvolvimento rápido é a diminuição da quantidade de erros e aumento de desempenho no processo, alcançada através da reutilização de componentes (DEBONI, 2008). Através da reutilização dos componentes fornecidos pelo ambiente 28

30 e a geração automática de código-fonte, o tempo de desenvolvimento diminui e a ocorrência de erros de codificação provocados pelo desenvolvedor se reduz a zero, visto que o desenvolvedor não é mais diretamente responsável por escrever as linhas de código. Se utilizando de um sistema de arrastar e soltar componentes gráficos para determinar a lógica do jogo, o Visual Game permite que usuários menos experientes na área consigam desenvolver jogos de forma mais fácil do que se fosse necessário codificá-lo. Ao mesmo tempo, usuários mais experientes também se beneficiam do uso da ferramenta, uma vez que o desenvolvimento visual está menos sujeito a erros que o desenvolvimento convencional. Apesar de existirem ferramentas similares ao Visual Game disponíveis no mercado, o acesso irrestrito ao código-fonte dos jogos gerados pelo ambiente possibilita sua utilização também para criação de protótipos, que podem ser finalizados posteriormente em um ambiente de programação como o Visual Studio, possibilitando contornar eventuais limitações da ferramenta. Outro aspecto importante da disponibilização do código-fonte é que, por maior que seja o número de ferramentas oferecidas pelo ambiente, podem ocorrer casos onde o desenvolvedor necessita de algo específico inexistente na ferramenta. Neste caso, basta exportar o código-fonte no ponto máximo permitido pelo ambiente e fazer as alterações e adições necessárias em um ambiente de programação externo. A utilização de um ambiente visual e a geração automática de código-fonte possibilita uma maior abstração no processo de desenvolvimento, porém um nível de abstração mais alto traz maiores limitações ao que o desenvolvedor fazer. A possibilidade de acessar o código-fonte dos jogos criados pode ajudar a contornar esta limitação. A escrita de código-fonte não é algo indesejado no desenvolvimento de jogos, porém sua geração automática torna o processo mais simples e livre de erros, ainda que ao custo da perda de alguma liberdade Funções O Visual Game foi projetado para fornecer um conjunto de ferramentas e funcionalidades que resolvam tarefas comuns ao desenvolvimento de jogos eletrônicos. 29

31 O tratamento dos recursos utilizados nos jogos, como imagens, efeitos sonoros e fontes é feito através de telas específicas que permitem selecionar estes arquivos no disco e configurá-los de acordo com as necessidades do desenvolvedor. Por exemplo, a Figura 6 exibe a tela utilizada para a configuração das imagens do jogo, onde é possível selecionar a imagem desejada e posteriormente definir certas propriedades, como a quantidade de linhas e colunas em que ela se subdivide e a velocidade de sua animação, se for o caso. Figura 6 - Tela de carregamento e configuração de imagens. Um aspecto importante no desenvolvimento de jogos com o Visual Game é a definição das entidades que representam os objetos que fazem parte do jogo. A construção do jogo em si é feita através da definição destas entidades e dos eventos e ações relacionadas a elas. Estão disponíveis uma série de eventos distintos, que são disparados em momentos como a criação ou destruição da entidade, ou quando uma tecla ou botão do mouse é pressionado. Para cada evento, uma lista de ações pode ser adicionada e estas ações são executadas quando o 30

32 evento é disparado. Alguns exemplos de ações incluem mover a entidade, manipular sua animação e fazer verificações de colisão. A Figura 7 exibe a área onde os eventos e ações de uma entidade podem ser configurados. Figura 7 - Lista de eventos e ações. O ambiente também oferece a possibilidade de dividir o jogo em palcos, que representam as várias telas ou fases do jogo. Assim, é possível adicionar certas entidades a palcos específicos e dividir o jogo em unidades lógicas, como a tela principal, cada uma das fases, a tela de 31

33 créditos, etc. Utilizando a tela de edição de palcos, mostrada na Figura 8, o usuário pode posicionar as entidades e desenhar os cenários do jogo. Figura 8 - Tela de criação de palcos. Outro recurso disponível no Visual Game é o gerenciamento de jogadores, que permite a representação de um ou mais jogadores dentro do jogo, controlando aspectos como energia e vidas dos personagens, e a pontuação obtida. Este componente foi incluído no projeto, pois trata de aspectos utilizados por diversos jogos para representar a situação atual e o progresso dos jogadores. 32

34 4. ETAPAS DO DESENVOLVIMENTO O Visual Game teve seu desenvolvimento dividido em quatro etapas: o desenvolvimento de um framework para auxílio ao desenvolvimento de jogos eletrônicos, denominado Visual Game Framework, o desenvolvimento de um wrapper para a biblioteca gráfica Allegro (ALLEGRO, 2008) funcionar no ambiente.net, o desenvolvimento do ambiente visual e do gerador de código-fonte. O Visual Game Framework foi desenvolvido de forma que possa ser utilizado para o desenvolvimento de jogos em geral, utilizando um ambiente de programação convencional. Sua utilização é justificada pelo baixo número de linhas de código necessário para realização de tarefas comuns ao desenvolvimento de jogos e à reutilização que sua coleção de classes possibilita. Desta forma, o gerador de código-fonte acoplado ao ambiente visual pode reutilizar os componentes do framework e gerar um número menor de linhas de código para uma dada tarefa, reduzindo o esforço envolvido neste processo e a repetição de código. A biblioteca gráfica Allegro foi escolhida para realizar as funções de desenho do framework, no entanto não existe uma versão oficial desta biblioteca para a plataforma.net. Como forma de contornar este problema, foi desenvolvido um pacote de acesso às funções do Allegro, chamado Allegro.Net, possibilitando sua utilização em uma linguagem de programação compatível com a plataforma.net. O ambiente visual foi desenvolvido de forma a facilitar o acesso e o tratamento dos recursos dos jogos, e a criação de eventos e ações que modelam o comportamento das diversas entidades que compõem um jogo. Através de sua interface gráfica, o usuário modela completamente o fluxo do jogo. Por fim, um gerador de código é utilizado para traduzir as escolhas feitas pelo usuário na interface gráfica do sistema em código-fonte em uma linguagem de programação. Uma vez escrito, este código pode ser submetido a um compilador e transformado em um arquivo executável. 33

35 O fluxo de desenvolvimento teve início com a escolha das tecnologias utilizadas, seguido pela construção do Allegro.Net e do Visual Game Framework, e terminando com o ambiente Visual Game e o gerador de código. A Figura 9 mostra como os componentes do trabalho funcionam em conjunto: o ambiente visual utiliza o gerador de código para gerar o código-fonte do jogo e este utiliza o framework para realizar diversas tarefas comuns a jogos eletrônicos. Após isto, o código-fonte é passado ao MSBuild para compilação e geração de um arquivo executável Escolha das Tecnologias Figura 9 - Estrutura dos componentes do trabalho. Diversas tecnologias foram empregadas no desenvolvimento deste trabalho. A Figura 10 mostra a estrutura destas tecnologias no que diz respeito aos jogos criados no ambiente. No 34

36 nível mais alto encontra-se o código do jogo gerado pelo ambiente. Este código é chamado pelo código do framework, que se utiliza de bibliotecas gráficas, de som e de funções da plataforma.net para realizar suas tarefas. Figura 10 Estrutura das tecnologias empregadas no trabalho Linguagem e Ambiente de Programação Pela facilidade de desenvolvimento de interfaces gráficas, a plataforma Microsoft.Net em conjunto com o ambiente de desenvolvimento Visual Studio 2008 Express Edition foram adotados no desenvolvimento do software proposto neste trabalho. A plataforma.net funciona em um ambiente de código gerenciado, onde um componente conhecido como CLR (Common Language Runtime) é responsável por executar tarefas como o gerenciamento de memória e de processos, buscando garantir um ambiente seguro e robusto (WIHLIDAL, 2006). Entre as vantagens oferecidas pela plataforma para o desenvolvimento estão a 35

37 segurança provida pelo sistema de checagem dos tipos de dados, o coletor de lixo utilizado para gerenciamento de memória, integração de código-fonte escrito em linguagens diferentes através do conceito de linguagem intermediária, dentre outros. A estrutura da plataforma é exibida na Figura 11. Nela, o código do usuário encontra-se no nível mais alto, e é traduzido para uma linguagem intermediária no momento da compilação. Este código intermediário pode ser entendido pelo ambiente comum de execução, que se responsabiliza por traduzi-lo para um formato que o sistema operacional possa entender e executar. Figura 11 - Estrutura da plataforma.net (WIHLIDAL, 2006) A vantagem da utilização da plataforma.net em um sistema como o Visual Game é que seu ambiente de execução, que traz a máquina virtual necessária para a execução de programas feitos para esta plataforma, vem acompanhado de um compilador. Desta forma, o Visual Game pode utilizar o compilador da plataforma.net para compilar seus jogos sem a necessidade da instalação de programas adicionais. A plataforma.net oferece suporte a diversas linguagens de programação distintas, incluindo C++, Java e Visual Basic. Além disto, qualquer desenvolvedor pode escrever uma versão de uma linguagem compatível com o ambiente comum de execução do.net, o que resultou em versões de linguagens conhecidas, como Python, Delphi e Perl. Entre estas opções, a linguagem C# foi escolhida por ser uma linguagem orientada a objetos, com segurança de tipos de dados, altamente integrada à plataforma.net, e com uma sintaxe similar ao C++ e Java, suportando muitas de suas características, como expressões, comandos e operadores (WIHLIDAL, 2006). 36

38 Biblioteca Gráfica Uma biblioteca gráfica é um pacote de software responsável por exibir os elementos gráficos na tela de jogo. Esta tarefa pode ser executada totalmente por software, processada diretamente pela unidade central de processamento, ou acelerada por hardware, com auxilio de uma placa aceleradora de vídeo (WIKIPEDIA, 2008e). Através de uma biblioteca gráfica, o programador geralmente é capaz de realizar diversas ações, como exibir imagens carregadas do disco, desenhar primitivas (como linhas, círculos e curvas) e realizar transformações geométricas. Todas estas funções devem ser disponibilizadas pelas bibliotecas gráficas, portanto o usuário não necessita desenvolvê-las e pode focar no desenvolvimento de aplicações que as utilizem. Algumas bibliotecas gráficas trazem também recursos extras, não-relacionados à parte gráfica, como tratamento de teclado e mouse, e até mesmo som. Pacotes deste tipo podem trazer todo o conteúdo necessário para o desenvolvimento de aplicativos multimídia e jogos eletrônicos. Algumas bibliotecas gráficas foram estudadas como opção para o desenvolvimento do projeto, e esta seção discute os motivos que levaram à escolha do Allegro após esta análise. Inicialmente, pretendia-se utilizar o Managed DirectX, uma versão da API do DirectX para o ambiente.net. Esta tecnologia teve seu desenvolvimento descontinuado pela Microsoft, com a introdução do XNA como seu substituto (MSDN, 2008), sendo recomendada pela empresa a migração para a nova biblioteca. O XNA foi estudado como alternativa em seguida, mas foi descartado antes de se realizar estudos mais profundos, uma vez que ele foi desenvolvido para ser utilizado em conjunto com o ambiente de desenvolvimento Visual Studio e parte de seus recursos não estão disponíveis sem este ambiente. Uma vez que a proposta deste trabalho é a criação de um ambiente que possa dispensar o uso de outras ferramentas, seria insensato utilizar uma biblioteca que exija do usuário a instalação de um ambiente de desenvolvimento de terceiros. 37

39 A biblioteca SDL foi estudada posteriormente, porém seu desempenho foi consideravelmente menor que o apresentado pelo Allegro. Um teste foi feito com um computador de baixo porte e o SDL alcançou uma taxa média de 40 quadros por segundo enquanto o Allegro manteve uma média de 80 quadros por segundo. O mesmo teste foi aplicado em um computador de mais alto porte e o SDL chegou a atingir 200 quadros por segundo, contra 400 do Allegro. Ambos os testes foram feitos com a exibição de poucas imagens em posições aleatórias na tela e os resultados são detalhados na Tabela 1. Apesar de não ser perceptível ao olho humano, uma alta taxa de atualização da tela oferece uma boa margem para que sua queda não seja sensível em jogos mais complexos. Tabela 1 - Comparação de desempenho entre o SDL e o Allegro. Biblioteca/Computador Computador 1 Computador 2 Allegro SDL Computador 1- Processador: Intel Celeron 1.8GHz; Memória: 1 GB ; Placa de Vídeo: NVIDIA GeForce FX 5200 Computador 2- Processador: AMD Turion X2 1.6GHz; Memória: 1 GB ; Placa de Vídeo: NVIDIA GeForce Go 7200 O Irrlicht também foi testado, porém aconteceram alguns erros de desenho em sua versão para a plataforma.net, e seu uso foi recusado devido à baixa qualidade de visualização apresentada. A Figura 12 mostra um comparativo entre uma imagem exibida normalmente no Allegro e a mesma dentro de uma tela de jogo do Irrlicht. Como se pode observar, a biblioteca parece não ter sido capaz de desenhar corretamente as partes onde há uma suavização na imagem. Figura 12 - Comparação entre imagem no Irrlicht e no Allegro. 38

40 Por fim, a biblioteca gráfica Allegro foi escolhida, pois apresentou um bom desempenho nos testes, e possui uma sintaxe bastante simples, além de ser uma biblioteca gratuita e de código aberto. No entanto, não existe uma versão oficial desta biblioteca para a plataforma.net, tendo ela sido desenvolvida para ser utilizada com as linguagens C e C++. Para contornar esta limitação, uma versão do Allegro para esta plataforma foi desenvolvida, utilizando um recurso do.net conhecido como Platform Invocation Service, ou P/Invoke. Este serviço permite que funções nativas do sistema operacional, desenvolvidos em uma linguagem como o C, estejam disponíveis para o código escrito no ambiente gerenciado do.net (WIHLIDAL, 2006). Como parte deste trabalho, foi desenvolvida uma versão do Allegro, chamada Allegro.Net, que possui um subconjunto das funções da biblioteca original, de acordo com as necessidades específicas do projeto. Utilizando o P/Invoke, estas funções foram mapeadas para um formato que permite sua chamada por uma linguagem gerenciada, como o C#, através de uma biblioteca de vínculo dinâmico (DLL Dynamic Link Library). Este mapeamento é conhecido como wrapper (ou o padrão de projeto Adapter) e consiste em criar uma classe intermediária que faça a integração entre as interfaces de duas classes incompatíveis (GAMMA et al., 2000). Neste caso, a classe intermediária é responsável por fazer a ligação do código gerenciado com o código nativo não-gerenciado do Allegro. O wrapper é uma classe que utiliza o P/Invoke para disponibilizar ao código em C# as funções do Allegro escritas em C. O Quadro 1 exemplifica o funcionamento deste recurso, apresentando primeiramente a declaração de uma função de desenho do Allegro em C e sua versão correspondente em C#. Para acessar as funções nativas é preciso especificar a biblioteca onde se encontra a função (a DLL do Allegro, neste caso) e o nome original da função (draw_sprite). A seguir deve-se especificar o nome da função e dos parâmetros que serão visíveis ao código gerenciado. 39

41 Quadro 1 Exemplo de função em C e C#. Para o desenvolvimento do Allegro.Net, além da declaração das funções utilizadas, como mostrado acima, foi necessário reescrever algumas de suas funções e estruturas. Além disso, foi necessário escrever um conjunto de funções nativas para acessar algumas variáveis internas do Allegro, indisponíveis através do P/Invoke Escolha da Biblioteca de Som Uma biblioteca de som é utilizada para carregar, manipular e executar efeitos sonoros e músicas dentro dos jogos. O Allegro fornece um conjunto de ferramentas para este fim, mas para este projeto o IrrKlang (IRRKLANG, 2008) foi escolhido, por possuir funções mais completas que o Allegro, especialmente no que diz respeito aos formatos de áudio aceitos pela biblioteca Construção do Framework Em programação, um framework é um pacote de software que captura funcionalidades comuns a uma família de aplicações e provê soluções para problemas de um determinado domínio. Um framework disponibiliza um conjunto de classes que interagem entre si, modelando a maneira como estes problemas são decompostos (SAUVÉ, 2005). Ele funciona como uma aplicação quase completa, onde todas as interações e o fluxo de execução já estão definidos, bastando ao usuário escrever suas classes que completam os pedaços que estão faltando no sistema. Feito isso, o desenvolvedor não precisa saber quando os métodos do framework devem ser chamados, isto é feito de forma automática (SAUVÉ, 2005). A Figura 13 mostra uma das principais diferenças entre uma biblioteca de classes e um framework: a inversão de controle, também conhecida como Princípio de Hollywood ( não nos procure, nós te procuramos ). A inversão de controle ocorre porque no framework toda a interação 40

42 entre as classes já está pré-definida, e ele chama o código da aplicação (desenvolvido pelo usuário) para tratar as particularidades desta aplicação. No modelo utilizando uma biblioteca de classes, é o desenvolvedor que faz as chamadas ao código da biblioteca (SAUVÉ, 2005). Figura 13 - Diferença entre Biblioteca de Classes e Framework (SAUVÉ, 2005). O Visual Game Framework é um framework desenvolvido para facilitar o processo de geração de código, uma vez que o código referente às escolhas do usuário é, na verdade, o código que completará o modelo do framework. Este código é chamado de forma automática, de acordo com o que foi definido no modelo de aplicação do framework. A aplicação final, ou seja, o jogo é a combinação entre o código escrito pelo desenvolvedor e o provido pelo Visual Game Framework. A vantagem deste tipo de abordagem em relação ao uso de uma biblioteca de classes é que o gerador de código não precisa se preocupar com os pontos em que as funções devem ser chamadas e como as classes devem interagir. Toda esta parte é gerenciada, de forma automática, diretamente pelo próprio framework e o gerador precisa apenas gerar o código que preenche suas lacunas. Neste contexto, o Visual Game Framework oferece diversas classes reutilizáveis e um modelo de aplicação que permite simplificar o desenvolvimento de jogos. O Visual Game 41

43 Framework permite tratar recursos, entre eles sons e imagens, criar entidades e lhe atribuir ações e eventos, e definir palcos para a divisão do jogo em partes lógicas menores. Em resumo, o Visual Game Framework foi desenvolvido de forma a apresentar as mesmas funcionalidades oferecidas ao usuário pelo ambiente visual. Assim, para cada opção feita pelo usuário na interface gráfica, existe um código correspondente no framework. A Figura 14 mostra o diagrama de casos de uso com algumas de suas principais funções. O Anexo 1 apresenta a descrição dos casos de uso. Figura 14 - Diagrama de Casos de Uso do Visual Game Framework. O Visual Game Framework é composto por um conjunto de classes virtuais reutilizáveis que são herdadas pelas classes da aplicação. Um exemplo é a classe Entidade, que define os objetos do jogo. O jogo do usuário deve escrever suas próprias classes herdeiras de Entidade e desenvolver seus métodos abstratos. 42

44 A Figura 15 apresenta o diagrama de classes do framework, onde aparecem apenas suas classes principais e a Tabela 2 descreve brevemente cada uma delas. Figura 15 - Diagrama de Classes com as principais classes do Visual Game Framework. Tabela 2 - Descrição das principais classes do Visual Game Framework. Classe Jogo Efeito Sonoro Imagem Fonte Palco Entidade Descrição Controla a lógica central da aplicação e é responsável pelas configurações, por carregar os recursos e iniciar as Entidades. Permite carregar e executar um arquivo de som. Permite carregar e exibir um arquivo de imagem. Permite carregar um arquivo de fonte usado para exibir textos. Divide o jogo em partes menores, permitindo separá-lo em diferentes níveis ou telas. Tanto as diferentes fases de um jogo quanto suas telas, como a tela principal ou a tela de opções, são Palcos. Representa os atores e objetos do jogo. Num jogo de tiro no espaço, por exemplo, a nave do jogador, as naves dos inimigos, os tiros e os itens são todas instâncias de Entidade. 43

45 Gerenciador de Colisão Mouse Teclado Jogador Gerenciador de Jogadores Temporizador Realiza testes para verificar colisões entre as Entidades. Controla o mouse, permitindo verificar as coordenadas do cursor e o estado de seus botões. Controla o teclado, permitindo verificar o estado de suas teclas. Representa uma estrutura básica com controle de vidas, energia e pontuação, possibilitando um controle rápido em jogos que necessitem apenas destas características. Permite controlar vários jogadores ao mesmo tempo. Controla informações relativas ao tempo de execução do jogo, permitindo limitar a velocidade máxima de execução ou ainda realizar cálculos relativos à velocidade de execução. O Visual Game Framework apresenta um fluxo de execução pré-definido, que é seguido pelos jogos que o utilizam, cabendo a estes apenas o preenchimento de suas lacunas. A Figura 16 mostra como está definido o fluxo principal dos jogos feitos com o este framework. Figura 16 - Diagrama de Atividades mostrando o fluxo dos jogos criados com o framework. 44

46 Este diagrama mostra apenas uma visão superficial das atividades executadas pelo jogo. Cada uma das caixas é expandida em diversas outras atividades. A Tabela 3 apresenta uma descrição resumida de cada uma destas atividades. Tabela 3 - Descrição das atividades do Visual Game Framework. Atividade Iniciar Jogo Carregar Recursos Iniciar Entidades Atualizar Desenhar Finalizar Jogo Descrição Inicia as bibliotecas e os objetos utilizados pelo framework. Carrega os recursos utilizados pelo jogo, como imagens e sons. Inicia as Entidades globais (aquelas que pertencem ao jogo e não a um Palco em particular) e o Palco inicial. Atualiza as Entidades, os Palcos e os objetos internos do framework. Esta atividade é responsável por fazer as chamadas aos eventos do jogo. Desenha as Entidades e os Palcos do Jogo na tela. Termina a execução do Jogo, liberando seus recursos da memória Construção do Ambiente O Visual Game é um ambiente de desenvolvimento visual, ou ambiente RAD, voltado para o desenvolvimento de jogos. Ele tem a função de facilitar o desenvolvimento de jogos, tornando o processo mais simples, ágil e livre de erros, através de um sistema de reutilização de componentes, providos pelo Visual Game Framework, e da geração automatizada de código-fonte. O projeto foi desenvolvido utilizando o ambiente de programação Visual Studio 2008 Express Edition e a linguagem de programação C#. Sua interface gráfica oferece um conjunto de componentes visuais que podem ser utilizados para definir logicamente um jogo eletrônico, bem como escolher e gerenciar seus recursos. A Figura 17 mostra o diagrama de casos de uso do ambiente, destacando algumas de suas principais funções. Estas funções incluem definir as configurações do jogo, carregar recursos (como sons, imagens e fontes) e configurá-los, criar entidades e definir seus eventos e ações, criar palcos e adicionar entidades a eles, gerar o código-fonte para o jogo e efetuar a compilação. O Anexo 01 apresenta a descrição completa dos casos de uso do sistema. 45

47 Os projetos desenvolvidos com o Visual Game são armazenados em um formato XML, facilitando o processo de salvar e carregar um projeto do disco. O Quadro 2 mostra um exemplo de projeto armazenado no formato XML, mostrando como seus diversos componentes são dispostos. Figura 17 - Diagrama de Casos de Uso do Visual Game. Quadro 2 - Exemplo de projeto armazenado em formato XML. 46

48 Cada elemento deste arquivo XML é traduzido em um atributo de uma classe utilizada pelo sistema para representar as informações do jogo que está sendo desenvolvido. O Quadro 3 exemplifica a estrutura de um evento de teclado, onde estão definidos os parâmetros do evento (neste caso, deseja-se verificar se a tecla seta para esquerda está sendo pressionada) e as ações desejadas quando o evento for disparado (mover a entidade para a esquerda, com velocidade 10). Quadro 3- Exemplo de evento de teclado. A geração de código-fonte para o jogo é feita a partir das definições estipuladas pelo usuário, substituindo as características escolhidas na interface gráfica pelo trecho de código equivalente. O Quadro 4 demonstra o código-fonte gerado a partir das escolhas feitas no Quadro 3. Quadro 4 - Trecho de código-fonte equivalente ao evento de teclado do Quadro 3. Existem três tipos diferentes de arquivos gerados pelo ambiente: a classe do jogo, as classes das entidades e as classes dos palcos. Cada classe é gerada seguindo um conjunto de regras diferentes para definir sua estrutura e seus métodos. Por exemplo, a classe do jogo deve herdar da classe Jogo do Visual Game Framework e é responsável tanto por definir as configurações quanto por carregar os palcos do jogo, enquanto as classes das entidades devem implementar os eventos e ações de cada entidade. Além destas classes, também é gerado um arquivo de projeto no formato XML que será utilizado como entrada para o compilador. Este arquivo utiliza o mesmo padrão dos projetos 47

49 gerados pelo Visual Studio e serve de entrada para que o MS Build saiba quais arquivos serão compilados ou somente copiados para o diretório de saída, e quais as configurações do programa (se é aplicação do Windows ou console, seu ícone, nome etc.). O MS Build é um utilitário que acompanha o ambiente de execução do Microsoft.Net e está disponível mesmo que o Visual Studio não esteja instalado. Esta ferramenta funciona de forma similar ao Make do Unix (PARLANTE, 2001), permitindo a criação de um script para automatizar o processo de compilação. A principal diferença em relação ao Make é que seus arquivos são estruturados no formato XML. O Quadro 5 mostra um trecho de um arquivo utilizado no processo de compilação. Nele são definidos o nome do arquivo executável gerado, o diretório de saída, os arquivos fontes que compõem o projeto, os arquivos adicionais que devem ser copiados e diversas outras propriedades. Quadro 5 - Exemplo de arquivo de entrada para o compilador. 48

50 Uma vez passado ao MS Build, este arquivo é repassado ao compilador correspondente, que no caso do Visual Game é o CSC (C Sharp Compiler). O compilador então realiza o processo de compilação, gerando o arquivo executável do jogo ou retornando eventuais erros. De uma maneira geral, não devem ocorrer erros neste processo, uma vez que todo o código-fonte foi gerado automaticamente. Alternativamente, o usuário pode utilizar este arquivo de projeto para editar o códigofonte do jogo diretamente no Visual Studio e realizar eventuais ajustes que o Visual Game não possibilite. O arquivo utilizado na compilação segue a mesma estrutura dos arquivos de projeto do Visual Studio, bastando abri-lo com este programa para ter acesso ao projeto totalmente configurado para a realização das edições desejadas. O Anexo 2 apresenta um passo a passo da criação de um jogo utilizando o Visual Game. 49

51 5. CONCLUSÕES E SUGESTÕES PARA TRABALHOS FUTUROS O trabalho desenvolvido alcançou seu objetivo, que é possibilitar o desenvolvimento de jogos eletrônicos em um ambiente gráfico, no qual o usuário pode elaborar jogos completos sem a necessidade de codificação. Devido ao tamanho do sistema, nem todas as funções propostas puderam ser implementadas no protótipo apresentado. Ainda assim, seus principais recursos foram desenvolvidos e estão em funcionamento. Neste trabalho procurou-se demonstrar como a geração automatizada de código-fonte, com base em escolhas feitas pelo usuário num ambiente gráfico e o conceito de utilização de ferramentas RAD pode ser aplicada ao desenvolvimento de jogos eletrônicos, sem que este processo prejudique o desempenho ou qualidade dos jogos. Observando-se os jogos gerados pelo ambiente, é possível verificar que não há perda de desempenho ou qualidade em relação a jogos criados através do processo normal de codificação. Para a elaboração de trabalhos futuros, propõe-se o seguinte: conclusão das funções propostas neste trabalho; melhoria na usabilidade do projeto, fazendo pequenas alterações para tornar as telas mais atrativas e fáceis de usar; possibilidade de exportar as entidades desenvolvidas e posteriormente importálas em outros projetos, aumentando a reutilização dos componentes; adição de um mecanismo de herança para as entidades, permitindo que uma dada entidade herde características de outra, de acordo com o paradigma de programação orientada a objetos; possibilidade de criação de ações pelos usuários, que poderiam importá-las em novos projetos. Desta forma, o usuário não ficaria preso à lista de ações oferecida pelo ambiente; 50

52 componentes de inteligência artificial. Estes componentes seriam entidades com um comportamento pré-definido que poderiam ser adicionadas a certos tipos de jogos, como jogos de plataforma ou RPGs, por exemplo; geração de código-fonte em outras linguagens, de forma que desenvolvedores não habituados com o C# possam alterar o código-fonte em uma linguagem que eles conheçam; possibilidade de elaboração de scripts para que usuários avançados possam codificar trechos do jogo diretamente no ambiente. 51

53 REFERÊNCIAS BIBLIOGRÁFICAS ABRAGAMES. Plano Diretor da Promoção da Indústria de Desenvolvimento de Jogos Eletrônicos no Brasil Diretrizes Básicas. [S.L.], 21 dez Disponível em: < Último acesso em 09 agosto de ABRAGAMES. A Indústria de Desenvolvimento de Jogos Eletrônicos no Brasil. [S.L.], Disponível em: < Último acesso em 09 agosto de ABRAGAMES. Cursos de Games no Brasil. [S.L.], Disponível em: < Último acesso em 03 agosto de ALLEGRO A Game Programming Library, Disponível em: < Último acesso em 30 de novembro de BARBOZA, Diego Cordeiro; SILVA, Júlio César da. Fundamentos para desenvolvimento de jogos e sua aplicação na publicidade. XI INIC - Encontro Latino Americano de Iniciação Científica, São José dos Campos - SP, BERRY, Vic; NAUMANN, Anja. What is rapid application development? [S.L.], Disponível em: < Último acesso em 09 agosto de CRECENTE, Brian. Take-Two Confirms GTA's Half a Billion Week. [S.L], 7 maio Disponível em: < Último acesso em 31 agosto de DEBONI, José Eduardo Zindel. CASE e RAD: concorrência ou colaboração. [S.L.], Disponível em: < Último acesso em 08 agosto de DEVMASTER. Unreal Engine 3 - Engine Details. [S.L.], Disponível em: < Último acesso 16 novembro de GAMEMIDDLEWARE. Game Middleware. [S.L.], Disponível em: < Último acesso em 01 novembro de

54 GAMMA, Erich et al. Padrões de Projeto Soluções Reutilizáveis de Software Orientado a Objetos. Tradução de Luis A. Meirelles Salgado. Porto Alegre: Bookman, HAVOK. Havok Product Family. [S.L.], 2008a. Disponível em: < Último acesso em 01 novembro de HAVOK. Titles that use Havok. [S.L.], 2008a. Disponível em: < Último acesso em 01 novembro de IRRKLANG High Level 2D and 3D sound library (2008). Disponível em: Último acesso em 30 de novembro de MEDVIDOVIC, Nenad. Middleware Technologies. [S.L.], Disponível em: < Último acesso em 01 novembro de MIT. About Scratch. [S.L.], Disponível em: < Último acesso em 16 outubro de MSDN. XNA Frequently Asked Questions. [S.L.], Disponível em: < Último acesso em 24 janeiro de PARLANTE, Zelenski. Unix Programming Tools. Stanford, Disponível em: < Último acesso em 21 novembro de RNP. O que é middleware. Rio de Janeiro, Disponível em < >. Último acesso em 01 novembro2008. SAUVÉ, Jacques Philippe. Projeto de Software Orientado a Objetos O que é um Framework. [S.L.], Disponível em: < Último acesso em 14 setembro de SBGAMES. SBGames, Disponível em: < Último acesso em 17 de dezembro de VILARIM, Gilvan de Oliveira. Algoritmos: Programação Para Iniciantes. Rio de Janeiro: Ciência Moderna, WIHLIDAL, Graham. Game Engine Toolset Development. 1. ed. Boston: Thomson Course Technology,

55 WIKIPEDIA. Video Game Industry. [S.L.], 2008a. Disponível em: < Último acesso em 31 agosto de WIKIPEDIA. RAD. [S.L.], 2008b. Disponível em: < Último acesso em 02 agosto de WIKIPEDIA. List of Rapid Application Development Tools. [S.L.], 2008c. Disponível em: < Último acesso em: 02 setembro de WIKIPEDIA. Game Engine Middleware. [S.L.], 2008d. Disponível em: < Último acesso em: 02 setembro de WIKIPEDIA. Graphics Library. [S.L.], 2008e. Disponível em: < Último acesso em 13 setembro de

56 BIBLIOGRAFIAS CONSULTADAS BETHKE, Erik. Game Development and Production. Texas: Wordware Publishing, DEITEL, H. M.; DEITEL, P. J. Visual C# 2005: How to Program. New Jersey, HARBOUR, Jonathan S. Game Programming All in One. 2. ed. Boston: Thomson Course Technology, HOLM, Cristian; KRUGER, Mike; SPUIDA, Bernhard. Dissecting a C# Application - Inside SharpDevelop. Berkeley: Apress, PENTON, Ron. Beginning C# Game Programming. Boston: Thomson Course Technology, PERUCIA, Alexandre Souza et al. Desenvolvimento de Jogos Eletrônicos : Teoria e Prática. 2. ed. São Paulo: Novatec, WRIGHT, Peter. Beginning Visual C# 2005 Express Edition - From Novice to Professional. Berkeley: Apress,

57 ANEXO 1 - DESCRIÇÃO DOS CASOS DE USO DO VISUAL GAME Esta seção apresenta uma descrição detalhada dos casos de uso desenvolvidos para o Visual Game. Caso de Uso: Definir Configurações Descrição: O Desenvolvedor define as configurações do jogo Ator Principal: Desenvolvedor Pré-condições: Um projeto deve estar aberto Fluxo Principal: 1. Sistema exibe tela de configuração do jogo 2. Desenvolvedor informa a largura e altura da tela de jogo 3. Desenvolvedor escolhe os bits de cor usados no jogo 4. Desenvolvedor escolhe se o jogo deve ser executado em tela cheia 5. Desenvolvedor escolhe se os movimentos do jogo devem ser relativos ao tempo 6. Desenvolvedor informa o diretório padrão do jogo, onde seus recursos serão buscados 7. Desenvolvedor escolhe se o cursor do mouse estará visível no jogo 8. Desenvolvedor informa um título para a janela do jogo, exibido caso ele não seja executado em tela cheia Fluxos Alternativos: No passo 2: Caso as dimensões escolhidas sejam inválidas (valores menores que zero) Sistema exibe mensagem de erro Caso as dimensões escolhidas sejam iguais a zero Sistema usa um tamanho de tela padrão (640x480) No passo 3: Caso o valor escolhido seja inválido (diferente de 8, 16, 24 ou 32) Sistema usa um valor padrão (32) Pós-condições: Um arquivo de configuração pronto para uso no Jogo Caso de Uso: Carregar Imagem Descrição: O Desenvolvedor carrega uma imagem no jogo Ator Principal: Desenvolvedor Pré-condições: Um projeto deve estar aberto Fluxo Principal: 1. Sistema exibe tela para de seleção de imagens 2. Desenvolvedor escolhe o arquivo de imagem a ser adicionado ao jogo 3. Desenvolvedor informa a velocidade de animação da imagem 4. Desenvolvedor informa a quantidade de linhas que a imagem será dividida 5. Desenvolvedor informa a quantidade de colunas que a imagem será dividida Fluxos Alternativos: No passo 2: Caso uma imagem com o mesmo nome exista no projeto Sistema adiciona um sufixo numérico ao nome Pós-condições: Uma imagem pronta para ser utilizada no Jogo Caso de Uso: Carregar Efeito Sonoro Descrição: O Desenvolvedor carrega um efeito sonoro no Jogo Ator Principal: Desenvolvedor Pré-condições: Um projeto deve estar aberto Fluxo Principal: 1. Sistema exibe tela para de seleção de efeitos sonoros 56

58 2. Desenvolvedor escolhe o arquivo de som a ser adicionado ao jogo 3. Desenvolvedor escolhe se o som deve ser todo carregado para a memória ou executado em streaming 4. Desenvolvedor escolhe se efeitos especiais serão aplicados ao som 5. Desenvolvedor escolhe quais efeitos serão aplicados ao som Fluxos Alternativos: No passo 2: Caso um som com o mesmo nome exista no projeto Sistema adiciona um sufixo numérico ao nome No passo 5: Caso os efeitos estejam desabilitados Sistema não permite escolha de efeitos Pós-condições: Um som pronto para ser utilizado no jogo Caso de Uso: Carregar Fonte Descrição: O Desenvolvedor carrega uma fonte no jogo Ator Principal: Desenvolvedor Pré-condições: Um projeto deve estar aberto Fluxo Principal: 1. Sistema exibe tela para de seleção de fontes 2. Desenvolvedor escolhe a fonte desejada para adicionar ao jogo Fluxos Alternativos: No passo 2: Caso uma fonte com o mesmo nome exista no projeto Sistema adiciona um sufixo numérico ao nome Pós-condições: Uma fonte pronta para ser utilizada no jogo Caso de Uso: Criar Entidade Descrição: O Desenvolvedor cria uma nova entidade para uso no jogo Ator Principal: Desenvolvedor Pré-condições: Um projeto deve estar aberto Fluxo Principal: 1. Sistema exibe uma tela de criação de entidades 2. Desenvolvedor informa o nome da entidade 3. Desenvolvedor escolhe imagem relacionada à entidade de uma lista de imagens 4. Desenvolvedor informa escala inicial da entidade 5. Desenvolvedor informa rotação inicial da entidade 6. Desenvolvedor escolhe se a entidade é um objeto sólido 7. Desenvolvedor escolhe se a entidade deve ser visível 8. Desenvolvedor escolhe salvar a entidade 9. Sistema adiciona a entidade criada à sua lista de entidades Fluxos Alternativos: 1. No passo 2: Caso já exista outra entidade com o nome escolhido Sistema adiciona um sufixo numérico ao nome 2. No passo 3: Caso não existam imagens na lista Sistema não permite seleção Sistema atribui uma imagem nula à entidade 3. No passo 8: Caso Desenvolvedor escolha a opção cancelar 57

59 Sistema cancela todas as configurações e fecha a tela de criação de entidades Pós-condições: Uma entidade pronta para uso no jogo Caso de Uso: Criar Palco Descrição: O Desenvolvedor cria um novo palco para uso no jogo Ator Principal: Desenvolvedor Pré-condições: Um projeto deve estar aberto Fluxo Principal: 1. Sistema exibe uma tela de criação de palcos 2. Desenvolvedor informa o nome do palco 3. Desenvolvedor seleciona uma imagem de fundo, previamente carregada 4. Desenvolvedor adiciona um mapa de blocos 5. Desenvolvedor adiciona blocos 6. Desenvolvedor adiciona entidades Fluxos Alternativos: 1. No passo 2: Caso já exista outro palco com o nome escolhido Sistema exibe mensagem de erro 2. No passo 3: Caso não exista uma imagem de fundo, previamente carregada Sistema não possibilita seleção de uma imagem de fundo 3. No passo 5: Caso não exista uma imagem de mapa de blocos previamente carregada Sistema não permite a criação de blocos 4. No passo 6: Caso não exista nenhuma entidade Sistema não permite adição de entidades Pós-condições: Um palco pronto para uso no jogo Caso de Uso: Adicionar entidade ao palco Descrição: O Desenvolvedor adiciona uma entidade a um palco existente Ator Principal: Desenvolvedor Pré-condições: Um palco deve ter sido criado Fluxo Principal: 1. Sistema exibe o palco para a adição de entidades 2. Desenvolvedor escolhe a entidade a ser adicionada 3. Desenvolvedor informa a posição da entidade 4. Desenvolvedor escolhe se a entidade é persistente 5. Desenvolvedor informa o nome da entidade 6. Desenvolvedor informa um rótulo para a entidade Fluxos Alternativos: 1. No passo 5: Caso já exista outra entidade com o nome escolhido Sistema adiciona um sufixo numérico ao nome Pós-condições: Uma entidade adicionada a um palco Caso de Uso: Gerar Código-fonte Descrição: O sistema gera o código-fonte para o jogo Ator Principal: Desenvolvedor Pré-condições: Um projeto deve estar aberto 58

60 Fluxo Principal: 1. Desenvolvedor requisita a geração do código-fonte 2. Sistema salva o projeto 3. Sistema gera o código-fonte referente ao jogo desenvolvido Fluxos Alternativos: No passo 3: Caso ocorra algum erro de sintaxe na geração do código-fonte Sistema avisa o usuário da localização do erro Pós-condições: O código-fonte do jogo pronto para ser compilado Caso de Uso: Compilar Jogo Descrição: O sistema compila o código-fonte do jogo Ator Principal: Desenvolvedor Pré-condições: Um projeto deve estar aberto e o código-fonte do jogo deve ter sido gerado Fluxo Principal: 1. Desenvolvedor requisita a compilação do jogo 2. Sistema compila o código-fonte 3. Sistema gera o executável do jogo Fluxos Alternativos: No passo 2: Caso ocorra algum erro de sintaxe no código-fonte Sistema avisa o usuário da localização do erro Pós-condições: O executável do jogo pronto para ser utilizado Caso de Uso: Adicionar Evento Descrição: O Desenvolvedor adiciona um evento em uma entidade Ator Principal: Desenvolvedor Pré-condições: Uma entidade deve ter sido escolhida para receber o evento Fluxo Principal: 1. Desenvolvedor escolhe o evento a ser adicionado 2. Sistema exibe tela de seleção de ações para o evento Pós-condições: Um novo evento deve ter sido adicionado à entidade Caso de Uso: Adicionar Evento de Criação Descrição: O Desenvolvedor adiciona um evento que deve ser executado no momento da criação da entidade Ator Principal: Desenvolvedor Pré-condições: Uma entidade deve ter sido escolhida para receber o evento Pós-condições: Um novo evento de criação deve ter sido adicionado à entidade Caso de Uso: Adicionar Evento de Destruição Descrição: O Desenvolvedor adiciona um evento que deve ser executado no momento da destruição da entidade Ator Principal: Desenvolvedor Pré-condições: Uma entidade deve ter sido escolhida para receber o evento Pós-condições: Um novo evento de destruição deve ter sido adicionado à entidade Caso de Uso: Adicionar Evento de Palco Início Descrição: O Desenvolvedor adiciona um evento que deve ser executado no momento da inicialização de um palco Ator Principal: Desenvolvedor 59

61 Pré-condições: Uma entidade deve ter sido escolhida para receber o evento Pós-condições: Um novo evento de inicialização de palco deve ter sido adicionado à entidade Caso de Uso: Adicionar Evento de Palco Fim Descrição: O Desenvolvedor adiciona um evento que deve ser executado no momento da finalização de um palco Ator Principal: Desenvolvedor Pré-condições: Uma entidade deve ter sido escolhida para receber o evento Pós-condições: Um novo Evento de finalização de palco deve ter sido adicionado à entidade Caso de Uso: Adicionar Evento de Animação Início Descrição: O Desenvolvedor adiciona um evento que deve ser executado no momento da inicialização do ciclo de animação da entidade Ator Principal: Desenvolvedor Pré-condições: Uma entidade deve ter sido escolhida para receber o evento Pós-condições: Um novo evento de início de animação deve ter sido adicionado à entidade Caso de Uso: Adicionar Evento de Animação Fim Descrição: O Desenvolvedor adiciona um evento que deve ser executado no momento da finalização do ciclo de animação da entidade Ator Principal: Desenvolvedor Pré-condições: Uma entidade deve ter sido escolhida para receber o evento Pós-condições: Um novo evento de fim de animação deve ter sido adicionado à entidade Caso de Uso: Adicionar Evento de Teclado Descrição: O Desenvolvedor adiciona um evento que deve ser executado quando alguma alteração ocorrer no teclado Ator Principal: Desenvolvedor Pré-condições: Uma entidade deve ter sido escolhida para receber o evento Fluxo Principal: 1. Desenvolvedor escolhe o tipo de evento (tecla pressionada, solta ou ativada) 2. Desenvolvedor escolhe tecla a ser testada 3. Sistema exibe tela de seleção de ações para o evento Pós-condições: Um novo evento de teclado deve ter sido adicionado à entidade Caso de Uso: Adicionar Evento de Mouse Descrição: O Desenvolvedor adiciona um evento que deve ser executado quando alguma alteração ocorrer no mouse Ator Principal: Desenvolvedor Pré-condições: Uma Entidade deve ter sido escolhida para receber o evento Fluxo Principal: 1. Desenvolvedor escolhe o tipo de evento (botão pressionado, solto ou ativado, ou movimento) 2. Desenvolvedor escolhe o botão a ser testado ou o(s) eixo(s) a ser(em) testado(s) 3. Sistema exibe tela de seleção de ações para o evento Pós-condições: Um novo evento de mouse deve ter sido adicionado à entidade Caso de Uso: Adicionar Evento de Passo Descrição: O Desenvolvedor adiciona um evento que deve ser chamado a cada iteração do jogo Ator Principal: Desenvolvedor Pré-condições: Uma entidade deve ter sido escolhida para receber o evento 60

62 Pós-condições: Um novo evento de passo deve ter sido adicionado à entidade Caso de Uso: Adicionar Evento de Colisão Descrição: O Desenvolvedor adiciona um evento que deve ser chamado quando ocorrer uma colisão Ator Principal: Desenvolvedor Pré-condições: Uma Entidade deve ter sido escolhida para receber o evento Fluxo Principal: 1. Desenvolvedor escolhe o tipo de colisão (por caixa, círculo ou pixel) 2. Desenvolvedor escolhe o tipo de objeto a ser testado (uma entidade específica, entidades de um tipo, entidades sólidas, o cursor do mouse...) Pós-condições: Um novo evento de teclado deve ter sido adicionado à entidade Caso de Uso: Adicionar Ação Descrição: O Desenvolvedor adiciona uma ação a um determinado evento de uma entidade Ator Principal: Desenvolvedor Pré-condições: Um evento de uma entidade deve ter sido escolhido para receber a ação Fluxo Principal: 1. Desenvolvedor seleciona a ação desejada (opções disponíveis: mover, alterar velocidade, inverter velocidade, ir para posição inicial, tocar efeito sonoro, parar efeito sonoro, alterar pontos, alterar vidas, alterar energia, instanciar entidade, destruir entidade, escrever texto, alterar Imagem, alterar escala, alterar rotação, alterar sólido, alterar visível, alterar quadros de animação, mover cenário, adicionar teste lógico, adicionar repetição, verificar posição, verificar rótulo, verificar velocidade, checar colisão, testar número aleatório) 2. Desenvolvedor efetua as configurações de acordo com a ação escolhida Pós-condições: Uma nova ação deve ter sido adicionada a um evento da Entidade 61

63 ANEXO 2 PASSO A PASSO DA CRIAÇÃO DE UM JOGO COM O VISUAL GAME Esta seção apresenta um passo a passo detalhando o processo de criação de um jogo com o Visual Game. O jogo Pong foi selecionado para exemplificar o uso do ambiente. Para começar, é necessário criar um novo projeto. Isto é feito através do botão Novo Projeto (Figura 18). Feito isto, abre-se uma tela para escolha do local onde o projeto será salvo e qual o seu nome (Figura 19). Figura 18 Botão de criação de um novo projeto. Figura 19 Tela de seleção do local e nome do projeto. 62

64 Com um novo projeto criado, é possível começar a adicionar os recursos utilizados no jogo. Neste exemplo, serão adicionados dois arquivos de imagem e um de som. Para adicionar a primeira imagem é preciso clicar no botão Carregar Imagem (Figura 20) e depois selecionar o arquivo desejado, bastao.bmp (Figura 21). Eventuais configurações na imagem também podem ser efetuadas nesta tela. O processo é repetido para carregar a outra imagem, bola.bmp. Figura 20 Botão para adicionar uma imagem ao projeto. Figura 21 Tela para carregar e configurar a imagem desejada. O processo para carregar arquivos de som é similar, mas se deve clicar no ícone da caixa de som, ao invés do ícone da imagem. A tela seguinte permite escolher o arquivo de som e efetuar configurações nele (Figura 22). Para este exemplo, o arquivo utilizado é gol.wav. 63

65 Figura 22 Tela para carregar e configurar o som desejado. O passo seguinte é a criação das entidades que representam os objetos do jogo. Clicando no botão correspondente (Figura 23), abre-se a tela de criação de entidades (Figura 24). Figura 23 Botão para adicionar uma entidade ao jogo. Figura 24 Tela de criação de entidades. 64

66 A tela de criação de entidades permite entrar um nome para identificar a entidade e um rótulo que serve como identificação adicional. Também é possível definir se a entidade está ativa no jogo, ou seja, se ela irá executar ações, se a entidade é persistente, devendo permanecer quando os palcos forem trocados e se ela é sólida e deve ser considerada em testes de colisão (Figura 25). Figura 25 Controles de configuração das propriedades da entidade. Adicionalmente, é possível selecionar uma imagem para representar a entidade no jogo e definir se ela deve estar ou não visível (Figura 26). Figura 26 Lista de seleção da imagem da entidade. Utilizando os controles apresentados nestas figuras, pode-se criar o bastão que será controlado pelo jogador, com o nome Bastao1 e a imagem previamente carregada bastão.bmp. A seguir, são adicionados os eventos e ações que fazem com que a entidade atue no jogo. O bastão do jogador terá apenas um evento de teclado, responsável por permitir que o jogador mova o bastão pela tela. A Figura 27 mostra os eventos que podem ser selecionados. Figura 27 Lista de seleção de eventos da entidade. 65

67 Para verificar se uma tecla foi pressionada, basta arrastar o botão Tecla pressionada e selecionar a tecla que se deseja verificar (Figura 28). A primeira tecla testada será a seta para cima e depois se adiciona uma ação de movimento a este teste, arrastando o botão Mover para cima e soltando sobre o teste da tecla, selecionando a velocidade do movimento, 150, logo a seguir. O mesmo é feito para fazer o bastão se mover para baixo, mas deve-se verificar a seta para baixo e a ação de movimento é Mover para baixo. A Figura 29 mostra como os eventos devem ficar. Figura 28 Tela para adicionar um evento de teclado e selecionar a tecla. Figura 29 Lista de eventos adicionados ao bastão. Feito isto, o bastão do jogador está pronto para ser utilizado. Agora é preciso adicionar a bola do jogo e o bastão do oponente, controlado pelo computador. O processo é o mesmo da criação da entidade, mas esta nova entidade deve ser nomeada Bola e sua imagem será bola.bmp. Na lista de eventos, é preciso selecionar Criação, a fim de definir uma ação que será executada quando a entidade for criada. Para a bola, o objetivo deste evento é gerar um movimento em uma direção aleatória quando ela for criada. Isto é feito marcando 66

68 a caixa de checagem Gerar Valor e selecionando os valores mínimos e máximos que irão delimitar o valor aleatório gerado (Figura 30). O resultado é visto na Figura 31. Figura 30 - Tela de criação de uma ação de movimento. Figura 31 - Lista de ações executadas pela bola no momento de sua criação. Antes de prosseguir, é necessário indicar ao jogo quantos jogadores existirão no jogo. Dentro do Visual Game, os jogadores são usados para facilitar o uso de contadores, como contadores de vidas, energia e pontos. Neste exemplo, serão criados dois jogadores para se manter um registro de seus pontos. A tela de configurações é aberta ao se clicar no botão Alterar Configurações (Figura 32) e a quantidade de jogadores deve ser definida como 2 (Figura 33Figura 32). Figura 32 Botão para alterar as configurações do jogo. 67

69 Figura 33 - Tela de configuração do jogo. Com a quantidade de jogadores definida, um evento de passo é adicionado para a entidade bola. Este evento é acionado a cada iteração do jogo e tem como objetivo verificar se a bola bateu em um dos cantos da tela. O primeiro passo é verificar se a bola saiu pela esquerda da tela (Figura 34) e, em caso positivo, tocar um efeito sonoro (Figura 35), adicionar um ponto ao jogador 2 (Figura 36) e inverter sua velocidade e direção (Figura 37). O mesmo é feito se a bola sair pela direita, com a diferença que o ponto é adicionado ao jogador 1. Figura 34 - Tela verificação se a entidade saiu da tela. 68

70 Figura 35 - Tela de seleção de um efeito sonoro para ser executado. Figura 36 - Tela de alteração de pontos dos jogadores. Figura 37 - Tela inversão da velocidade da entidade. Também é preciso verificar se a bola sair por cima ou por baixo da tela, mas neste caso a única ação executada é a inversão de sua velocidade no eixo Y. A mostra como deve ficar esta parte. Figura 38 - Ações executadas quando a bola sai por cima ou por baixo da tela. 69

71 Por fim, é necessário verificar se houve colisão da bola com os bastões. A Figura 39 mostra os parâmetros que devem ser selecionados, o tipo de colisão é Com Sólido, indicando que se deseja testar a colisão da bola com qualquer objeto sólido, e a caixa de checagem Por Pixel é utilizada para indicar que o teste deve ignorar pixels transparentes na imagem. A Figura 40 exibe o resultado na tela de eventos. Figura 39 - Tela de configuração dos parâmetros de colisão. Figura 40 - Visualização dos parâmetros de colisão da bola. A seguir, será criado o bastão do oponente, que será controlado pelo computador. O bastão é criado da mesma forma que o bastão do jogador, mas é nomeado Bastao2. Para ele será adicionado um evento de passo com uma ação do tipo Verificar Posição. Esta ação é configurada conforme mostrado na Figura 41. O que se deseja fazer aqui é verificar a posição do bastão no eixo Y, comparando com a posição da entidade Bola. São adicionados dois testes, se o valor for menor, uma ação de movimento para baixo é adicionada, se for maior, adiciona-se uma ação de movimento para cima. O resultado é exibido na Figura

72 Figura 41 - Parâmetros da ação Verificar Posição. Figura 42 - Ações de movimento do bastão 2. Uma última entidade deve ser adicionada ao jogo para controlar o desenho do placar. A entidade deve ser chamar Placar e ter um evento de Passo com duas ações Desenhar Pontos, configuradas para exibir os pontos dos jogadores 1 e 2, conforme mostra a Figura 43. O evento Passo deve ficar como mostrado na Figura 44. Figura 43 - Configurações de Desenhar Pontos. 71

73 Figura 44 - Ações executadas pela entidade Placar. As entidades do jogo foram criadas, mas ainda falta criar um palco onde o jogo irá acontecer. O palco é criado com um clique no botão Criar Palco (Figura 45) e uma tela de configuração se abre. Este palco será nomeado PalcoPong e a seguir as entidades já podem ser adicionadas. Figura 45 - Botão de criação de palcos. Conforme mostrado na Figura 46, as entidades são selecionadas numa lista e prévisualizadas em uma área específica. Uma vez que uma entidade tenha sido selecionada, basta clicar em algum ponto do palco para adicioná-la (Figura 47). Para este jogo, será adicionado um bastão de cada tipo (o bastão do jogador à esquerda e o outro à direita), uma bola no meio e um placar. Figura 46 - Lista de entidades disponíveis. 72

74 Figura 47 - Palco com as entidades adicionadas. O placar pode ser adicionado em qualquer ponto, visto que ele não será desenhado diretamente. Como uma imagem não foi atribuída a ele, um ponto de interrogação será exibido para indicar sua presença (Figura 48). Figura 48 - Entidade Placar adicionada ao palco. Com o jogo concluído, basta clicar no botão Executar Jogo para iniciar sua execução (Figura 49). O resultado final pode ser visto na Figura 50. Figura 49 - Botão Executar Jogo. 73

75 Figura 50 - Tela do jogo em execução. 74

Ambiente Visual para o Desenvolvimento de Jogos Eletrônicos

Ambiente Visual para o Desenvolvimento de Jogos Eletrônicos Ambiente Visual para o Desenvolvimento de Jogos Eletrônicos Diego Cordeiro Barboza 1, Júlio César da Silva 2 1 UNIFESO, Centro de Ciências e Tecnologia, Curso de Ciência da Computação, diego.cbarboza@gmail.com

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

Microsoft Office PowerPoint 2007

Microsoft Office PowerPoint 2007 INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em

Leia mais

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna O que é uma planilha eletrônica? É um aplicativo que oferece recursos para manipular dados organizados em tabelas. A partir deles pode-se gerar gráficos facilitando a análise e interpretação dos dados

Leia mais

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

Desvendando Jogos 2D. Por Marcos Romero Setembro / 2008. Cyborg Arena - RHGames Desvendando Jogos 2D Por Marcos Romero Setembro / 2008 Cyborg Arena - RHGames Jogos Casuais Paciência Windows XP Paciência deve ser o jogo mais usado no PC. O mercado de jogos casuais tem um grande potencial,

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Análise de Dados do Financeiro

Análise de Dados do Financeiro Análise de Dados do Financeiro Introdução Para reunir em um só local as informações de contas a pagar e receber cadastradas e/ou geradas no sistema TTransp existe a interface de análise de dados do financeiro.

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 1 APRESENTANDO O C#

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 1 APRESENTANDO O C# LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 1 APRESENTANDO O C# 1.1 - Apresentação Quando fazemos nossas compras em um supermercado, é comum encontrarmos um código de barras impresso nos produtos expostos

Leia mais

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 A LEGO Education tem o prazer de trazer até você a edição para tablet do Software LEGO MINDSTORMS Education EV3 - um jeito divertido

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

PROJETO INFORMÁTICA NA ESCOLA

PROJETO INFORMÁTICA NA ESCOLA EE Odilon Leite Ferraz PROJETO INFORMÁTICA NA ESCOLA AULA 1 APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA Apresentação dos Estagiários Apresentação do Programa Acessa

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Manual do Usuário Android Neocontrol

Manual do Usuário Android Neocontrol Manual do Usuário Android Neocontrol Sumário 1.Licença e Direitos Autorais...3 2.Sobre o produto...4 3. Instalando, Atualizando e executando o Android Neocontrol em seu aparelho...5 3.1. Instalando o aplicativo...5

Leia mais

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

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo) APOSTILA DE EXEMPLO (Esta é só uma reprodução parcial do conteúdo) 1 Índice Aula 1 - Área de trabalho e personalizando o sistema... 3 A área de trabalho... 3 Partes da área de trabalho.... 4 O Menu Iniciar:...

Leia mais

CONSTRUÇÃO DE JOGOS: FERRAMENTA ELETRÔNICA PARA ENSINO DA RESOLUÇÃO DO CUBO DE RUBIK

CONSTRUÇÃO DE JOGOS: FERRAMENTA ELETRÔNICA PARA ENSINO DA RESOLUÇÃO DO CUBO DE RUBIK CONSTRUÇÃO DE JOGOS: FERRAMENTA ELETRÔNICA PARA ENSINO DA RESOLUÇÃO DO CUBO DE RUBIK Resumo: César Augusto Goulart Universidade Estadual do Centro-Oeste, bolsista de iniciação cientifica PIBIC/FA goulart.cesaraugusto@gmail.com

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente Conceito ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente O Sagres Diário é uma ferramenta que disponibiliza rotinas que facilitam a comunicação entre a comunidade Docente e Discente de uma instituição,

Leia mais

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

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 CURITIBA 2015 2 SUMÁRIO INTRODUÇÃO AO MICROSOFT POWERPOINT 2007... 3 JANELA PRINCIPAL... 3 1 - BOTÃO OFFICE... 4 2 - FERRAMENTAS DE ACESSO

Leia mais

SIMULADO Windows 7 Parte V

SIMULADO Windows 7 Parte V SIMULADO Windows 7 Parte V 1. O espaço reservado para a Lixeira do Windows pode ser aumentado ou diminuído clicando: a) Duplamente no ícone lixeira e selecionando Editar propriedades b) Duplamente no ícone

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO AGOSTO DE 2013 SUMÁRIO STI/UFF - Sistema de Gerenciamento de Projetos do PDI SUMÁRIO... 2 1 Introdução... 3 1.1 O que é e qual a finalidade

Leia mais

DESENVOLVIMENTO DE PROGRAMA MULTIMIDIA PARA O ENSINO DEDINÂMICA DE MÚLTIPLOS CORPOS

DESENVOLVIMENTO DE PROGRAMA MULTIMIDIA PARA O ENSINO DEDINÂMICA DE MÚLTIPLOS CORPOS DESENVOLVIMENTO DE PROGRAMA MULTIMIDIA PARA O ENSINO DEDINÂMICA DE MÚLTIPLOS CORPOS Ilmar Ferreira Santos Rodrigo Fernandes de Carvalho UNICAMP - Faculdade de Engenharia Mecânica Departamento de Projeto

Leia mais

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes 3 MÁQUINAS VIRTUAIS Em nossa aula anterior, fizemos uma breve introdução com uso de máquinas virtuais para emularmos um computador novo

Leia mais

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT Power Point Básico Santa Maria, julho de 2006 O Power Point é um aplicativo do Microsoft Office direcionado à criação de apresentações.

Leia mais

QualiQuantiSoft Versão 1.3c

QualiQuantiSoft Versão 1.3c QualiQuantiSoft Versão 1.3c Qualiquantisoft v1.3c Pág.: 1/15 Índice Apresentação do programa... 3 Funções operacionais do programa... 3 Itens de menu... 6 Teclas de atalho... 6 Instrumento de Análise de

Leia mais

Capítulo 2 Introdução à ferramenta Flash

Capítulo 2 Introdução à ferramenta Flash Capítulo 2 Introdução à ferramenta Flash Índice 1. O uso da ferramenta Flash no projeto RIVED.... 1 2. História do Flash... 4 1. O uso da ferramenta Flash no projeto RIVED. É importante, antes de iniciarmos

Leia mais

Anexo III Funcionamento detalhado do Sistema Montador de Autoria

Anexo III Funcionamento detalhado do Sistema Montador de Autoria 1 Sumário Anexo III Funcionamento detalhado do Sistema Montador de Autoria Anexo III Funcionamento detalhado do Sistema Montador de Autoria... 1 1 Sumário... 1 2 Lista de Figuras... 5 3 A Janela principal...

Leia mais

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

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4.

Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. 1 Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. Interface do sistema... 4 1.4.1. Janela Principal... 4 1.5.

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop 1 1 INICIANDO O APLICATIVO PELA PRIMEIRA VEZ... 3 2 PÁGINA PRINCIPAL DO APLICATIVO... 4 2.1 INTERFACE INICIAL... 4 3 INICIANDO PROCESSO DE LEITURA...

Leia mais

Santa Cruz do Sul, outubro de 2015.

Santa Cruz do Sul, outubro de 2015. MANUAL DO USUÁRIO Santa Cruz do Sul, outubro de 2015. Adilson Ben da Costa & Ederson Luis Posselt Programa de Pós-graduação em Sistemas e Processos Industriais, Universidade de Santa Cruz do Sul (UNISC),

Leia mais

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

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração. O software de tarifação é uma solução destinada a rateio de custos de insumos em sistemas prediais, tais como shopping centers. O manual do sistema é dividido em dois volumes: 1) MANUAL DO INTEGRADOR Este

Leia mais

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furbbr Resumo. Este artigo apresenta a especificação

Leia mais

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit Vitor Paulo Silva Se você é um projetista e sua principal ferramenta de trabalho é o AutoCAD ou o Revit, certamente você já se deparou com

Leia mais

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Introdução a listas - Windows SharePoint Services - Microsoft Office Online Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição

Leia mais

Treinamento GVcollege Módulo Acadêmico - Pedagógico

Treinamento GVcollege Módulo Acadêmico - Pedagógico Treinamento GVcollege Módulo Acadêmico - Pedagógico 2015 GVDASA Sistemas Pedagógico 2 AVISO O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Dicas para usar melhor o Word 2007

Dicas para usar melhor o Word 2007 Dicas para usar melhor o Word 2007 Quem está acostumado (ou não) a trabalhar com o Word, não costuma ter todo o tempo do mundo disponível para descobrir as funcionalidades de versões recentemente lançadas.

Leia mais

Iniciação à Informática

Iniciação à Informática Meu computador e Windows Explorer Justificativa Toda informação ou dado trabalhado no computador, quando armazenado em uma unidade de disco, transforma-se em um arquivo. Saber manipular os arquivos através

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Microsoft Access XP Módulo Um

Microsoft Access XP Módulo Um Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo

Leia mais

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC Tiago Menezes Xavier de Souza¹, Igor dos Passos Granado¹, Wyllian Fressatti¹ ¹Universidade Paranaense (UNIPAR) Paranavaí- PR- Brasil tiago_x666@hotmail.com,

Leia mais

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2 Estrutura de Repetição. Ex. 2 A ESTRUTURA Enquanto faça{} É MELHOR UTILIZADA PARA SITUAÇÕES ONDE O TESTE DE CONDIÇÃO (V OU F) PRECISA SER VERIFICADO NO INÍCIO DA ESTRUTURA DE REPETIÇÃO.

Leia mais

Guia de Início Rápido

Guia de Início Rápido Guia de Início Rápido O Microsoft Project 2013 apresenta uma aparência diferente das versões anteriores; desse modo, criamos este guia para ajudá-lo a minimizar a curva de aprendizado. Barra de Ferramentas

Leia mais

HCT Compatibilidade Manual do Usuário

HCT Compatibilidade Manual do Usuário HCT Compatibilidade Manual do Usuário Índice Introdução...3 HCT Compatibilidade...3 Librix...3 Execução do Programa...4 Seleção de Testes...4 Testes Manuais...6 Teste de Teclado...6 Teste de Vídeo...7

Leia mais

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

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

Cadastramento de Computadores. Manual do Usuário

Cadastramento de Computadores. Manual do Usuário Cadastramento de Computadores Manual do Usuário Setembro 2008 ÍNDICE 1. APRESENTAÇÃO 1.1 Conhecendo a solução...03 Segurança pela identificação da máquina...03 2. ADERINDO À SOLUÇÃO e CADASTRANDO COMPUTADORES

Leia mais

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

SUMÁRIO Acesso ao sistema... 2 Atendente... 3 SUMÁRIO Acesso ao sistema... 2 1. Login no sistema... 2 Atendente... 3 1. Abrindo uma nova Solicitação... 3 1. Consultando Solicitações... 5 2. Fazendo uma Consulta Avançada... 6 3. Alterando dados da

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

1. Apresentação. 1.1. Objetivos

1. Apresentação. 1.1. Objetivos 1.1. Objetivos 1. Apresentação Neste capítulo estão descritos os objetivos gerais do livro, os requisitos desejáveis do estudante para que possa utilizá-lo eficientemente, e os recursos necessários em

Leia mais

Passo 3: Posicionando a Câmera na Prova Didática Teórica ou na Prova de Defesa da Produção Intelectual

Passo 3: Posicionando a Câmera na Prova Didática Teórica ou na Prova de Defesa da Produção Intelectual Este manual descreve um procedimento para o registro de Concursos Públicos por meio de áudio e vídeo utilizando-se recursos tecnológicos básicos i. A gravação segue o disposto na Resolução 020/09 da UFSM

Leia mais

PASSO A PASSO MOVIE MAKER

PASSO A PASSO MOVIE MAKER PASSO A PASSO MOVIE MAKER Nesta etapa, você deverá apresentar o programa e ajudá-los a montarem o filme. Veja como é fácil. Siga as instruções do passo-a-passo: DICA O que é o Movie Maker? Com o Microsoft

Leia mais

ANIMAÇÕES WEB AULA 2. conhecendo a interface do Adobe Flash. professor Luciano Roberto Rocha. www.lrocha.com

ANIMAÇÕES WEB AULA 2. conhecendo a interface do Adobe Flash. professor Luciano Roberto Rocha. www.lrocha.com ANIMAÇÕES WEB AULA 2 conhecendo a interface do Adobe Flash professor Luciano Roberto Rocha www.lrocha.com O layout do programa A barra de ferramentas (tools) Contém as ferramentas necessárias para desenhar,

Leia mais

LEAS ONLINE: PROTÓTIPO DE UM JOGO DE MMORPG

LEAS ONLINE: PROTÓTIPO DE UM JOGO DE MMORPG LEAS ONLINE: PROTÓTIPO DE UM JOGO DE MMORPG Wesllen de Oliveira Delfino, Larissa Pavarini da Luz wesllendelfino@hotmail.com,larissa.luz01@fatec.sp.gov.br Projeto de Iniciação Científica Larissa Pavarini

Leia mais

Como instalar uma impressora?

Como instalar uma impressora? Como instalar uma impressora? Antes de utilizar uma impressora para imprimir seus documentos, arquivos, fotos, etc. é necessário instalá-la e configurá-la no computador. Na instalação o computador se prepara

Leia mais

O que é um Objeto Educacional? página 01. Objeto Educacional passo a passo página 05

O que é um Objeto Educacional? página 01. Objeto Educacional passo a passo página 05 O que é um Objeto Educacional? página 01 Objeto Educacional passo a passo página 05 O que é um Objeto Educacional A definição de Objeto Educacional, adotada pela equipe do projeto Arte com Ciência, é um

Leia mais

Guia de Início Rápido

Guia de Início Rápido Guia de Início Rápido O Microsoft Word 2013 parece diferente das versões anteriores, por isso criamos este guia para ajudar você a minimizar a curva de aprendizado. Barra de Ferramentas de Acesso Rápido

Leia mais

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

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com Gerenciamento de Arquivos e Pastas Professor: Jeferson Machado Cordini jmcordini@hotmail.com Arquivo Todo e qualquer software ou informação gravada em nosso computador será guardada em uma unidade de disco,

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

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

Manual do PolicyKit-kde. Daniel Nicoletti Tradução: Luiz Fernando Ranghetti Daniel Nicoletti Tradução: Luiz Fernando Ranghetti 2 Conteúdo 1 Resumo 5 2 Como funciona 6 2.1 Resumo............................................ 6 2.2 O problema.........................................

Leia mais

Sphinx Scanner Informações gerais V 5.1.0.8

Sphinx Scanner Informações gerais V 5.1.0.8 Sphinx Scanner Informações gerais V 5.1.0.8 Pré-requisitos: Possuir modalidade scanner no software Sphinx A SPHINX Brasil propõe uma solução de leitura automática de questionários por scanner. O Sphinx

Leia mais

Guia de Início Rápido

Guia de Início Rápido Guia de Início Rápido O Microsoft Project 2013 parece diferente das versões anteriores, por isso criamos este guia para ajudar você a minimizar a curva de aprendizado. Barra de Ferramentas de Acesso Rápido

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental Ajuda ao SciEn-Produção 1 Este texto de ajuda contém três partes: a parte 1 indica em linhas gerais o que deve ser esclarecido em cada uma das seções da estrutura de um artigo cientifico relatando uma

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Histórico da Revisão. Data Versão Descrição Autor

Histórico da Revisão. Data Versão Descrição Autor Sistema de Gerenciamento de Loja - SIGEL Documento de Visão Versão 1.0.0 Histórico da Revisão Data Versão Descrição Autor 13/01/2011 0.1 Versão preliminar do levantamento de requisitos funcionais e não

Leia mais

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel Tabela e Gráficos Dinâmicos Como estruturar! Para que serve a Tabela e o Gráfico Dinâmico?! Como criar uma Tabela Dinâmica?! Como criar um Gráfico Dinâmico?! Como podemos atualizar dos dados da Tabela

Leia mais

PROPOSTA DE UM MODELO DE SISTEMA HIPERMÍDIA PARA APRESENTAÇÃO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

PROPOSTA DE UM MODELO DE SISTEMA HIPERMÍDIA PARA APRESENTAÇÃO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROPOSTA DE UM MODELO DE SISTEMA HIPERMÍDIA PARA APRESENTAÇÃO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO Fabiana Pacheco Lopes 1 1 Universidade Presidente Antônio Carlos (UNIPAC) fabipl_21@yahoo.com.br Resumo.Este

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Tutorial do Iniciante. Excel Básico 2010

Tutorial do Iniciante. Excel Básico 2010 Tutorial do Iniciante Excel Básico 2010 O QUE HÁ DE NOVO O Microsoft Excel 2010 é um programa de edição de planilhas eletrônicas muito usado no mercado de trabalho para realizar diversas funções como;

Leia mais

ArcSoft MediaConverter

ArcSoft MediaConverter ArcSoft MediaConverter User Manual Português 1 201004 Índice Índice... 2 1. Índice... 3 1.1 Requisitos do sistema... 4 1.2 Extras... 4 2. Convertendo arquivos... 7 2.1 Passo1: Selecionar mídia... 7 2.1.1

Leia mais

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF Guilherme Macedo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil guilhermemacedo28@gmail.com, jaime@unipar.br Resumo.

Leia mais

Versão 2.2.0 PIMACO AUTOADESIVOS LTDA. Assistente Pimaco + 2.2.0. Ajuda ao Usuário

Versão 2.2.0 PIMACO AUTOADESIVOS LTDA. Assistente Pimaco + 2.2.0. Ajuda ao Usuário Versão 2.2.0 PIMACO AUTOADESIVOS LTDA. Assistente Pimaco + 2.2.0 Ajuda ao Usuário A S S I S T E N T E P I M A C O + 2.2.0 Ajuda ao usuário Índice 1. BÁSICO 1 1. INICIANDO O APLICATIVO 2 2. O AMBIENTE DE

Leia mais

Primeiros Passos para o Simulador de Ações do FinanceDesktop. Parte A INICIANDO E CONFIGURANDO (5 passos)

Primeiros Passos para o Simulador de Ações do FinanceDesktop. Parte A INICIANDO E CONFIGURANDO (5 passos) Primeiros Passos para o Simulador de Ações do FinanceDesktop. Seja bem-vindo(a) ao Simulador de Ações FinanceDesktop. Seu propósito é oferecer um ambiente completo e fácil de usar que permita o registro

Leia mais

15. OLHA QUEM ESTÁ NA WEB!

15. OLHA QUEM ESTÁ NA WEB! 7 a e 8 a SÉRIES / ENSINO MÉDIO 15. OLHA QUEM ESTÁ NA WEB! Sua home page para publicar na Internet SOFTWARES NECESSÁRIOS: MICROSOFT WORD 2000 MICROSOFT PUBLISHER 2000 SOFTWARE OPCIONAL: INTERNET EXPLORER

Leia mais

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA TREINAMENTO EM INFORMÁTICA MÓDULO V

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA TREINAMENTO EM INFORMÁTICA MÓDULO V UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA TREINAMENTO EM INFORMÁTICA MÓDULO V MACAPÁ-AP 2011 UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC

A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC O AMBIENTE OPERACIONAL QUE AGREGA A CONFIABILIDADE E O SUPORTE DA ITAUTEC À SEGURANÇA E À PERFORMANCE DO LINUX O LIBRIX É UMA DISTRIBUIÇÃO PROFISSIONAL LINUX

Leia mais

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

FCT Faculdade de Ciências e Tecnologia Serviço Técnico de Informática STI SGCD Sistema Gerenciador de Conteúdos Dinâmicos FCT Faculdade de Ciências e Tecnologia Serviço Técnico de Informática STI SGCD Sistema Gerenciador de Conteúdos Dinâmicos Manual do Usuário Presidente Prudente, outubro de 2010 Índice 1. Introdução e Instruções

Leia mais

Explorar os comandos no friso Cada friso tem grupos e cada grupo tem um conjunto de comandos relacionados.

Explorar os comandos no friso Cada friso tem grupos e cada grupo tem um conjunto de comandos relacionados. Guia de Introdução O Microsoft Project 2013 tem um aspeto diferente das versões anteriores, pelo que criámos este guia para o ajudar a minimizar a curva de aprendizagem. Barra de Ferramentas de Acesso

Leia mais

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Introdução ao Microsoft Windows 7 O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Visualmente o Windows 7 possui uma interface muito intuitiva, facilitando a experiência individual do

Leia mais

Table of Contents. PowerPoint XP

Table of Contents. PowerPoint XP Table of Contents Finalizando a apresentação...1 Usando anotações...1 Desfazer e repetir...1 Localizar e substituir...2 Substituir...2 Efeitos de transição...3 Esquema de animação...6 Controlando os tempos

Leia mais

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Mobile

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Mobile MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Mobile 1 1 INICIANDO O APLICATIVO PELA PRIMEIRA VEZ... 3 2 PÁGINA PRINCIPAL DO APLICATIVO... 4 2.1 INTERFACE INICIAL... 4 2.2 DISPOSITIVO NÃO REGISTRADO...

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

possível até impedir o funcionamento do Windows. Faz-scuidado redobrado ao ativar determinados recursos.

possível até impedir o funcionamento do Windows. Faz-scuidado redobrado ao ativar determinados recursos. AULA 4: DIRETIVAS DE GRUPO Objetivo: Conhecer e aplicar conceitos sobre restrições de acesso ao sistema operacional Windows através de diretivas de grupo. Diretivas de Grupo: Computadores com mais de um

Leia mais

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado. , ()! $ Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado. Uma estratégia muito utilizada para organizar visualmente informações numéricas

Leia mais

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

Pesquisa e organização de informação

Pesquisa e organização de informação Pesquisa e organização de informação Capítulo 3 A capacidade e a variedade de dispositivos de armazenamento que qualquer computador atual possui, tornam a pesquisa de informação um desafio cada vez maior

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

MANUAL DE UTILIZAÇÃO

MANUAL DE UTILIZAÇÃO MANUAL DE UTILIZAÇÃO Módulo de operação Ativo Bem vindo à Vorage CRM! Nas próximas paginas apresentaremos o funcionamento da plataforma e ensinaremos como iniciar uma operação básica através do nosso sistema,

Leia mais

Informática Aplicada

Informática Aplicada Informática Aplicada SO Windows Aula 3 Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2014 APRESENTAÇÃO Todo computador precisa de um sistema operacional. O Windows

Leia mais

Segundo Pré-teste. Data de realização. 18 de Novembro de 2007. Local.

Segundo Pré-teste. Data de realização. 18 de Novembro de 2007. Local. Segundo Pré-teste Data de realização. 18 de Novembro de 2007. Local. Duas salas de aula da Pós-graduação do Departamento de Arquitetura e Urbanismo da EESC/USP. Duração: 4 horas. Dos objetivos. Envolveu

Leia mais