Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE PAULISTA – UNIP CIÊNCIA DA COMPUTAÇÃO Ana Beatriz Lima Cirino Camila Ribeiro de Oliveira Fernando Vieira Mendes da Costa Kayki Rafael Aparecido Mota JOGO UNITY APS – JOGO SOBRE SUSTENTABILIDADE SANTANA DE PARNAÍBA 2023 2 UNIVERSIDADE PAULISTA – UNIP CIÊNCIA DA COMPUTAÇÃO Ana Beatriz Lima Cirino Camila Ribeiro de Oliveira Fernando Vieira Mendes da Costa Kayki Rafael Aparecido Mota JOGO UNITY APS – JOGO SOBRE SUSTENTABILIDADE Trabalho apresentando a disciplina Atividades Práticas Supervisionadas, do curso Ciência da Computação, campus Alphaville, da Universidade Paulista – UNIP. Orientador: Profº Saulo, Henry e Elias. Santana de Parnaíba 2023 3 SUMÁRIO FOLHA DE ROSTO............................................................................. 2 SUMÁRIO............................................................................................ 3 1 INTRODUÇÃO................................................................................. 4 2 OBJETIVO........................................................................................ 6 3 REGRAS E FUNCIONAMENTO DO JOGO.................................. 7 3.1 Lixeira............................................................................................................... 7 3.2 Objeto Coletável............................................................................................... 7 3.3 Objeto Spawn.................................................................................................... 8 3.4 GameController................................................................................................. 8 4 DESENVOLVIMENTO/PROJETO DO JOGO.............................. 10 4.1 Unity................................................................................................................ 10 4.2 C#.................................................................................................................... 13 4.3 Jogo................................................................................................................. 14 5 RELATÓRIO: CÓDIGO................................................................. 16 6 APRESENTAÇÃO DO JOGO........................................................ 20 7 GAME DESIGN.............................................................................. 24 8 STORYBOARD.............................................................................. 25 REFERÊNCIAS BIBLIOGRÁFICAS............................................... 26 FICHA APS........................................................................................ 27 4 1 INTRODUÇÃO Há alguns séculos, mais precisamente durante o período definido como Revolução Industrial, que ocorreu entre os séculos XVIII e XIX, a população mundial não preocupava-se ativamente com assuntos relacionados a preservação do meio ambiente e a sustentabilidade, tendo em vista que os recursos naturais eram abundantes. Entretanto, a partir do momento em que a população mundial passou a ter uma crescimento descontrolado e as ações do homem no ambiente passaram a interferir diretamente na qualidade de vida da sociedade; a preocupação com a falta de recursos passou a se tornar pauta de discussões entre governantes e seu povo. O cenário mundial e nacional vem enfrentando uma crescente nos números de produção de lixo; segundo dados da Associação Brasileira de Empresas de Limpeza Pública e Resíduos Especiais (Abrelpe), na última década houve um aumento de quase 12,5 milhões de toneladas na geração de lixo no país. Segundo Magalhães et al. (2018), a educação ambiental é necessária em todos os níveis de aprendizagem, buscando sempre evidenciar questões locais, regionais, nacionais e mundiais, tendo em vista sempre a colaboração na criação de cidadãos mais conscientes e responsáveis, que tenham em mente a importância do meio ambiente para o seu próprio engrandecimento e o desenvolvimento de gerações futuras. Nos últimos anos, com o grande desenvolvimento da tecnologia, e melhor acessibilidade por parte das pessoas, especialmente crianças e adolescentes, os jogos, principalmente de simulações de situações do cotidiano, quebra cabeças, experimentais, entre tantos outros, vem sendo vistos como uma grande ferramenta que possibilita um melhor entendimento de situações reais por parte dos jogadores, sempre levando em consideração a segurança do jogador. Jogos digitais tornaram-se um grande atrativo para essa geração mais conectada, justamente pelo fato de gerar uma competitividade e interação entre jogadores, que são estimulados a desenvolver seus pensamentos cognitivos ao avançarem de fase, por exemplo, possibilitando assim uma maior desenvoltura das áreas cognitivas, sociais, linguísticas, motoras e afetivas, além de contribuir na evolução da criatividade. Proporcionar ambientes seguros para essas crianças e adolescentes, até mesmo indivíduos de diversas outras faixa etárias, concede a sociedade como um todo indivíduos mais desenvoltos, com sensos de criatividade e cooperação bem desenvolvidos, gerando ganhos favoráveis a todos. 5 Visto o cenário e a necessidade de maior elucidação da população e relação ao assunto, principalmente os mais jovens, a elaboração do trabalho foi pensando em diferentes maneiras de educar os cidadãos de uma maneira simples e divertida. Usando o Unity, programa usado na criação de videogames em diversas linguagens de programação, foi criado um jogo que tem por objetivo jogar o lixo no lugar correto. 6 2 OBJETIVO O trabalho tem como objetivo apresentar um jogo criado no Unity tendo como foco principal o tema meio ambiente. Também mostrar como foi o desenvolvimento de todo o projeto, incluindo o código usado para programar na linguagem C#. A criação do jogo, que possui como principal objetivo auxiliar na educação de jovens sobre a importância da preservação do meio ambiente, foi desenvolvido na linguagem C#; uma linguagem orientada a objetos – em que diversas classes possuem certas características que definem um objeto na vida real – e orientada a componentes, que possibilita a comunicação entre processos e uma criação mais dinâmica dos objetos em diversas linguagem. A utilização do C# foi definida, principalmente, pelas suas características completas, voltadas a orientação a objetos, conteúdos presentes em sala de aula, que proporcionaram um melhor entendimento dos recursos disponíveis, além de possibilitar um melhor desenvolvimento do projeto. 7 3 REGRAS E FUNCIONAMENTO DO JOGO O jogo tem como objetivo movimentar uma lata de lixo visando coletar o lixo que vai caindo. Com cada lixo coletado o jogador ganha 1 ponto, com isso a pontuação vai aumentando, até chegar ao placar necessário para passar de nível. O jogo é dividido em objetos: - Lixeira O objeto mais importante é a Lixeira, que funciona como o jogador, que se movimenta constantemente pelo eixo x, indo inicialmente para direita e quando colide no objeto "point_R", um objeto invisível que fica no canto direito da tela, ele muda de direção para a esquerda, até colidir no "point_L", outro objeto invisível que fica do lado esquerdo da tela, faz o mesmo, muda de direção para a direita. Quando o jogador dá um toque na tela do celular, ou um clique no mouse a lixeira inverte a direção na qual está indo. - Objeto coletável O objeto coletável permite o jogador coletar o lixo e ganhar pontos, em seu script seu funcionamento é simples, ele é iniciado em uma rotação aleatória entre (-120, -65), e adicionamos uma velocidade constante para a direita, que com a rotação que ele recebe quando instanciado, se moveria para baixo da tela.Também existe uma condicional na colisão, em que Imagem meramente ilustrativa – representação de uma lixeira 8 se o coletável colidir com a lixeira o coletável é destruído, e é adicionado 1 ponto ao placar atual do jogador. - Objeto Spawn Spawn é um objeto invisível, tendo como sua função o surgimento do objeto coletável durante o funcionamento do jogo. Em seu código foi instanciado o objeto antes visto coletável, e foi criado o atributo spawnTime, que é nada mais que o tempo de surgimento dos coletáveis, controlamos o spawnTime pelo próprio Unity. Com tudo feito o funcionamento do spawn é simples, a cada x segundos irá surgir o objeto coletável na mesma posição em que o objeto invisível, ou seja, o spawn está, porém como foi denominado no script do coletável, ele irá iniciar em uma rotação aleatória, fazendo o surgimentos dos coletáveis com direções diferentes. Foi incluído também no script do spawn o atributo timeCount, que fará a destruição do objeto após 5 segundos já denominados anteriormente. A razão da necessidade da autodestruição depois de 5 segundos é para não consumir muito processamento do jogo. - GameController O script do GameController têm sua função de adicionar um ponto ao coletar os coletáveis dentro do jogo, assim que o objeto coletável em questão colidir com a lixeira o Imagem meramente ilustrativa – representação de uma casca de banana 9 próprio coletável irá se destruir e adicionar um ponto ao "scoreText" ,componente que se refere à pontuação do jogador. Código do GameController 10 4 DESENVOLVIMENTO/PROJETO DO JOGO - Unity O jogo foi desenvolvido usando uma plataforma chamada Unity, é um sistema considerado mais fácil e rápido de usar para a criação de jogos em 2D ou, até mesmo em 3D. O Unity possui um editor visual onde é possível ver as mudanças realizadas em tempo real, sendo assim mais interativa. Na programação de um jogo o Unity tem a capacidade de fazer diversas coisas, tendo como exemplo a criação e implementação de efeitos sonoros, elemento que adiciona mais profundidade e complexidade para o jogo, sem complicar o processo para o programador. Imagem com o logotipo do Unity Representação de alteração de efeitos sonoros no Unity 11 Um projeto criado pelo Unity pode ser usado em múltiplos sistemas operacionais, desde o Unity Web Player, até o sistema Linux. Porém o foco desse projeto é fazer o jogo funcionar em um aparelho que contém o sistema operacional Android, que tem como função, gerenciar todos os processos dos aplicativos e hardware de um computador, visando um funcionamento perfeito. Imagem representando o que pode ser feito através do Unity Logo do Android 12 O principal componente usado na programação foi o Rigidbody 2D, é um componente que permite a implementação de efeitos da física, como por exemplo a gravidade. Usando as configurações do Rigidbody 2D o objeto coletável foi programado para cair verticalmente devido a gravidade. Imagem com a representação dos sistemas operacionais que o Unity roda Representação do componente Rigidbody 2D 13 - C# A linguagem escolhida para a criação do jogo foi a C#, uma linguagem orientada a objetos, apresentando conceitos estudados no período vigente nas disciplinas do curso e também de períodos passados. O C# foi criado pela Microsoft no final da década de 1990, pelo engenheiro de software Anders Hejlsberg, junto a uma equipe de programadores, sendo feita como parte da plataforma .NET – uma plataforma de código aberto que a possibilita a criação de aplicações para web, dispositivos móveis e desktop, podendo ser executada nativamente em qualquer sistema operacional. É uma linguagem com sintaxe parecida com o C++ e Java – linguagem estudada durante esse período estudantil, proporcionando melhor entendimento nos conceitos básicos do C#. A linguagem caracteriza-se também pelo seu gerenciamento, ou seja, sua execução depende de um gerenciador – conhecido como Runtime. Quem realiza esse gerenciamento no C# é o CLR (Common Language Runtime), que recebe o código gerenciado, compila para um código que a máquina entenda e execute. O Runtime provem uma melhor gestão de segurança e memória, garantindo um melhor desenvolvimento do código, com mais rapidez. Em códigos não gerenciados, ocorre a necessidade de cuidar melhor de pequenos detalhes, como a alocação de memória, gerando mais lentidão na programação do código como Logo do C# 14 um todo. A presença de um gerenciador é uma das grandes vantagens de utilização do C#, garantindo que, na maioria dos casos, não necessite a interação com código de máquina. - Jogo Como mencionado anteriormente o objetivo do jogo consiste em, o jogador controla o objeto principal, a lixeira, e deve movê-la para coletar os objetos que estão caindo de forma aleatória, as cascas de banana, para alcançar a pontuação máxima para subir de nível. Visando maior complexidade no desenvolvimento do jogo, foi estabelecida a inserção de diferentes objetos na mudança de fases. Ao pontuar mais de vinte pontos o jogador subiria de nível, e a imagem do objeto coletável mudaria sua forma. Assim como a velocidade em que o objeto cai aumentaria e o tempo de Spawn, que tem a função de surgimento do objeto coletável, diminuiria. Casca de banana Lixeira Lata de alumínio Saco de lixo 15 Lata de alumínio Folha de papel amassado 16 5 RELATÓRIO: CÓDIGO Imagem com representação de relatório de código 17 Imagem com representação de relatório de código 18 Imagem com representação de relatório de código 19 Imagem com representação de relatório de código 20 6 APRESENTAÇÃO DO JOGO EM FUNCIONAMENTO Apresentação da plataforma utilizada 21 Início do jogo 22 Jogador coletando o lixo e pontuando 23 Continuação do jogo 24 7 GAME DESIGN A preservação do meio ambiente é uma coisa difícil de se fazer no meio urbano, principalmente porque existem diversas formas de poluição, como por exemplo a poluição do ar que acontece essencialmente pela utilização constante de veículos por muitas pessoas no seu dia a dia. Com isso em mente o design do jogo foi pensado para mostrar que mesmo no centro urbano é possível cuidar do meio ambiente de uma maneira simples e eficaz, com um ato básico de jogar o lixo no lugar certo. A imagem da lixeira possui o símbolo de reciclagem para lembrar o jogador da importância da reciclagem. Também é fundamental lembrar o jogador a relevância dos 3 R’s reduzir, reutilizar e reciclar. As imagens do objeto coletável, sendo uma casca de banana, folha de papel amassada e até mesmo uma lata de alumínio, foram pensadas para representar o lixo simples do dia a dia do jogador. 25 8 STORYBOARD Visão do jogo 1 1 26 REFERÊNCIAS BIBLIOGRÁFICAS POINT, Tutorials. Unity: Rigidbodies and Physics. Tutorialspoint, 2023. Disponível em: https://www.tutorialspoint.com/unity/unity_rigidbodies_and_physics.htm#. Acesso em: 10 mar. 2023. BALTIERI, André . Por que utilizar C#?. balta.io. Disponível em: https://balta.io/blog/csharp. Acesso em: 10 mar. 2023. EMPRESAS, Estado De Minas . Saiba a importância dos jogos educativos on-line para as crianças: Jogos podem educar e divertir ao mesmo tempo; confira uma lista de diversos jogos educativos que são disponibilizados on-line. Estado de Minas, 2022. Disponívelem: https://www.em.com.br/app/noticia/empresas/2022/09/30/interna-empresas,1400532/saiba-a- importancia-dos-jogos-educativos-on-line-para-as-criancas.shtml. Acesso em: 17 mar. 2023. COFFEE, Rafael. Storyboard: por que ele é essencial para a sua estratégia de Marketing Digital?: O storyboard é uma sequência de desenhos quadro a quadro com o esboço das cenas pensadas para um conteúdo em vídeo, como: filmes e animações.. Rockcontent, 2018. Disponível em: https://rockcontent.com/br/blog/storyboard. Acesso em: 17 mar. 2023. 27 FICHAS APS 28 29 30
Compartilhar