Baixe o app para aproveitar ainda mais
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/
Compartilhar