Buscar

Relatorio Final - Jogo - Algoritmos

Prévia do material em texto

UNIVERSIDADE FEDERAL DE SANTA MARIA 
 CURSO DE ENGENHARIA AEROESPACIAL 
 ALGORITMOS E PROGRAMAÇÃO – ELC 1022 
 RELATÓRIO DE CRIAÇÃO DO JOGO BACK HOME 
 Docente: Prof Dr. Marcelo Serrano Zanetti 
 Discentes: Allana Anniele Barros da Silva, Alvaro Augusto Lago Silva, Bruno Moterani 
 Meri(Turma VII) 
 1 - INTRODUÇÃO 
 A partir da introdução inicial daquilo que viria a ser conhecida como 
 Linguagem de programação em “C” - cuja criação ocorreu no AT&T Bell Labs entre 
 1969 e 1973, por Dennis Ritchie - cujo nome se deu em virtude de suas 
 características, obtidas a partir de uma linguagem anteriormente chamada de "B" - 
 criada por Ken Thompson como a versão reduzida da linguagem de programação 
 conhecida como BCPL - permitiu a popularização cada vez maior da programação 
 de forma geral, onde veio a se tornar influência para inúmeras linguagens 
 posteriores (como Java, por exemplo) . 
 Dessa forma, inúmeros foram os avanços obtidos em relação à área da 
 programação, onde a Linguagem “C” possibilitou desde a portabilidade e praticidade 
 de sistemas até a criação de diferentes meios de entretenimento. Dentre eles, 
 destacam-se os jogos, um dos meios de entretenimento mais difusos na atualidade. 
 Em vista disso, reforça-se o caráter do uso da Linguagem “C” como ferramenta de 
 construção e programação na elaboração de programas e jogos variados. 
 Analogamente, dentro da elaboração de jogos, destaca-se a criação de 
 bibliotecas voltadas sobretudo à inserção de comandos, meios de interação, 
 estímulos audiovisuais e gráficos no âmbito da codificação de jogos a partir de uma 
 dada linguagem de programação. Destaca-se, dentre elas, a biblioteca Allegro - 
 neste trabalho, destacar-se-á a versão 5.0 desta -, que é uma biblioteca livre de 
 código fonte aberto lançada em 1990, utilizada principalmente para programação de 
 jogos, cuja interface de acesso é escrita em Linguagem “C”, com algumas versões 
 (não-oficiais) em outras linguagem de programação. 
 Dessa forma, o enfoque deste relatório será voltado à utilização da 
 Linguagem em “C” como mecanismo de codificação e transcrição de informações, 
 aliada à biblioteca Allegro como diretório de informações e comandos voltados à 
 implementação de recursos áudio-visuais para a elaboração do jogo, como meio de 
 criação de um jogo em um ambiente de desenvolvimento integrado de código aberto 
 e multiplataforma criado em 2005 chamado “CodeBlocks” - neste relatório, 
 destacar-se-á a utilização da versão 17.12 - no qual será explorada a elaboração, 
 formatação e organização do código em Linguagem “C”, responsável por dar “vida” 
 ao jogo e ao conjunto de comandos e estruturas que o compõem. 
 2 - OBJETIVO 
 Nesse sentido, o principal objetivo deste trabalho é aplicar o conhecimento 
 adquirido, ao longo do semestre de Algoritmos e Programação, para o 
 desenvolvimento de um jogo. A partir do pressuposto desse desafio, os discentes 
 possuem a oportunidade de aprofundar seus conhecimentos na matéria e 
 desenvolver suas habilidades intrapessoais, tais como a criatividade, raciocínio 
 lógico e a resiliência, bem como as habilidades interpessoais, como comunicação e 
 trabalho em equipe. 
 3 - AMBIENTE DE DESENVOLVIMENTO E MÉTODO 
 O trabalho foi desenvolvido em ambiente Windows (Windows 10), com 
 recurso à ferramenta Code Blocks (versão 17.12) de desenvolvimento integrado de 
 código aberto e multiplataforma, a biblioteca livre Allegro 5, de código fonte aberto 
 para o desenvolvimento de jogos, e o aplicativo Pinterest, no qual utilizou-se 
 imagens sem problemas de licença e/ou violação de direitos autorais. Além disso, a 
 linguagem de programação C foi utilizada como um requisito do trabalho. 
 Para o desenvolvimento do jogo, foi utilizado como base o exemplo 
 disponibilizado pelo professor, chamado Pong, onde se empregou ele como ponto 
 de partida para a construção do trabalho. Além disso, serviu principalmente para 
 análise e compreensão sobre o uso da biblioteca e dos recursos da mesma. 
 Assim, utilizou-se os livros bases da disciplina sobre a programação e 
 Linguagem em “C”. Ademais, foram consultados fóruns e o Manual Allegro, que 
 foram usados com a finalidade de tirar dúvidas e aprender mais sobre o uso das 
 ferramentas do Allegro 5, além de tutoriais do Youtube e postagens de blogs com 
 ênfase em Allegro 5 com programação em C/C++. 
 Já no âmbito audiovisual foram utilizados conversores de arquivos para 
 transmutar, para OGG, os áudios baixados da internet, além de programas de 
 edição de imagens, como o Paint e o Paint 3D, para construir a identidade gráfica 
 do jogo a partir de imagens de domínio público da internet. 
 4 - DISCUSSÃO E RESULTADOS 
 O jogo em si é o retorno da sonda espacial Voyager 1 de volta para a Terra. 
 Ao total, são 20 fases que a sonda irá percorrer. Iniciando no conceito mais amplo 
 do universo conhecido, “Universo Observável”, o jogador irá pilotar a Voyager 1 
 através do espaço, passando por galáxias próximas e adentrando na Via Láctea em 
 direção à Terra, vislumbrando e aprendendo mais sobre o universo. Assim, para 
 tornar o jogo um pouco mais emocionante e desafiador, foi adicionado naves 
 alienígenas e obstáculos que dificultem o sucesso da missão, de maneira que se o 
 jogador for pego pelas naves ou encostar na radiação, ele perde o jogo e a tela 
 retorna para o menu, tendo que começar tudo novamente para obter sucesso. 
 Optou-se por um jogo visualmente chamativo e bonito para representar de 
 maneira fidedigna a vastidão do universo, e uma trilha sonora marcante que 
 representa a viagem de um ser no espaço em direção à Terra (em Naruto 
 Shippuden, a Deusa coelho Kaguya viaja através do universo para chegar a Terra, 
 trilha sonora dedicada a ela no desenho). No entanto, para não elevar demais a 
 complexidade do jogo, foi mantido um padrão onde, de maneira simplificada, todas 
 as fases possuem o mesmo objetivo: chegar até o portal sem destruir a Voyager 1. 
 O código possui várias partes principais, como a construção do menu, a 
 construção das fases, a tela de pause, o som e o encerramento do jogo. 
 4.1 Estrutura do Som 
 O som foi utilizado de maneira que, assim que o “while” principal inicia-se, ele 
 tocaria o tema principal em looping até a tela do jogo fechar. 
 Caso o jogador perca tocará um som de explosão, e se ele ganhar tocará 
 4.2 Menu 
 O menu é a primeira tela a aparecer para o jogador. Controlado através do mouse, 
 ele possui 4 entradas de redirecionamento, sendo uma para iniciar o jogo, uma para 
 as instruções, uma para os créditos e a última para sair do jogo. 
 4.3 Instruções 
 Após clicar em instruções no menu, a tela das instruções irá tomar lugar na tela. Ela 
 é o local onde está a explicação do jogo e como funciona a jogabilidade. Também é 
 controlada pelo mouse, tendo duas entradas para redirecionamento: uma para voltar 
 para o menu e a outra para iniciar o jogo. 
 4.4 Créditos 
 É a tela onde mostra as informações dos desenvolvedores do jogo. Possui somente 
 uma entrada de redirecionamento, que retorna ao menu após ser pressionada pelo 
 mouse. 
 4.5 Início do jogo 
 Iniciando-se o jogo, o mouse deixade controlar a fase e passa a servir para pausar 
 as fases. Agora, o que controla o movimento do jogador são as setinhas do teclado. 
 As naves são programadas para seguir o movimento do jogador e, se houver 
 colisão, o jogo acaba. Porém, caso seja detectado que o jogador encostou no 
 buraco de minhoca, ele passa para a próxima fase. 
 4.6 Tela de pause 
 Quando ocorre um click no mouse com o jogo rodando, ele vai para um estado de 
 “pause”, onde para voltar o jogo ao normal precisa-se de mais um click. A tela de 
 pause remete às telas de modo de espera de aparelhos de DVD, onde o logo do 
 jogo fica rodando na tela. 
 4.7 Vitória e derrota 
 As telas de derrota ou vitória dependem do jogador: se ele fracassar ao longo das 
 fases, aparecerá: 
 e tocará o som da derrota. 
 E, caso ele consiga sobreviver a todas elas irá tocar o som da vitória e aparecerá: 
 A derrota depende da variável booleana “perdeu”, e a vitória depende da variável 
 inteira “win”. 
 5 - CONCLUSÃO 
 Com base no desenvolvimento deste relatório, constatou -se a importância 
 que o domínio das linguagens de programação e suas ferramentas oferecem ao 
 usuário. Nesse contexto, o conhecimento conjunto de ambas permite a elaboração 
 de diferentes meios de interação do usuário com o sistema, tais como aplicativos e 
 jogos. Em vista disso, destaca-se o papel fundamental da Linguagem em “C”, 
 utilizada neste trabalho como meio de transcrição de informações e comandos, de 
 modo similar a um “idioma”, bem como o papel do CodeBlocks - aliado à Biblioteca 
 Allegro - como plataforma de formatação e elaboração de códigos e comandos 
 vinculados ao funcionamento e criação da interface do jogo. 
 Assim o objetivo do trabalho foi alcançado com sucesso com a 
 implementação do jogo Back Home para apenas um jogador. Dessa forma, o 
 enfoque do jogo é que o jogador mova seu personagem da entrada até a saída de 
 cada fase, onde se apresenta uma espécie de labirinto para cada nível, vencendo 
 as barreiras e obstáculos enquanto foge dos inimigos, até o último nível, no qual o 
 personagem consegue completar sua missão e voltar para casa. 
 6 - REFERÊNCIAS 
 ❖ Playlist com Tutoriais: 
 https://www.youtube.com/watch?v=IZ2krJ8Ls2A&list=PL6B459AAE1642C8B4 
 ❖ Blog com Tutoriais: 
 https://rafaeltoledonet.wordpress.com/2011/11/01/tutorial-allegro-5-criando-u 
 ma-janela/ 
 ❖ Manual Allegro 5: 
 https://github.com/liballeg/allegro_wiki/wiki/Allegro-Vivace%3A-Gameplay#ho 
 w-well-do-this 
 ❖ Fonte para uso das imagens e gráficos (sem violação de direitos autorais): 
 https://br.pinterest.com/

Continue navegando

Outros materiais