Quizzossauro é um jogo interativo no qual o jogador deve ajudar o dinossauro Eduardo Moacir a responder perguntas relacionadas a paleontologia, geografia e cultura local. O objetivo é explorar o cenário enquanto aprende e testa seus conhecimentos, avançando por meio de interações com objetos no ambiente.
Nome: Pedro Henrique G. Abreu
Curso: Sistemas de Informação - Universidade Federal de Santa Maria (UFSM)
O desenvolvimento do jogo começou com a ideia de criar um quiz associado com as demandas do trabalho. A escolha do dinossauro como personagem foi inspirada no Geoparque Quarta Colônia.
- Linguagem: Java
- Framework: LibGDX
- IDE: IntelliJ IDEA / VSCode
- Controle de Versão: Git e GitHub
- Centralização e Renderização de Textos:
Trabalhar com a renderização dinâmica de perguntas e opções foi um desafio. Soluções como o uso de
GlyphLayout
para medir o texto foram implementadas. - Interação com Objetos:
Foi necessário criar um sistema de colisão eficiente usando
Rectangle
para detectar interações. - Gerenciamento de Estados do Jogo: A transição entre o estado de exploração e o modo de quiz exigiu uma boa organização do código e foi onde mais encontrei dificuldade.
- Gerencia todas as telas (
MenuScreen
,GameScreen
,VictoryScreen
,GameOverScreen
). - Possui métodos de controle como:
startGame()
decrementLives()
incrementCorrectAnswers()
- Usa:
Dino
: Responsável pela movimentação e colisão.InteractiveObjectManager
: Gerencia os objetos interativos.QuizManager
: Gerencia os quizzes.GameRenderer
: Renderiza o estado atual do jogo.
- Interage com
Main
para:- Ajustar vidas.
- Controlar o progresso do jogo.
- Representa o personagem jogável.
- Responsabilidades:
- Movimentação.
- Verificação de colisões (usado por
GameScreen
eInteractiveObjectManager
).
- Cria e gerencia
InteractiveObject
. - Detecta colisões com
Dino
.
- Contém:
- Perguntas.
- Opções de resposta.
- Usado por:
InteractiveObjectManager
para criar objetos interativos.QuizManager
para exibir quizzes.
- Gerencia o estado do quiz:
- Perguntas.
- Respostas.
- Interage diretamente com
InteractiveObject
.
- Renderiza o estado visual do jogo, incluindo:
Dino
InteractiveObjectManager
-
Herdam de
Screen
. -
Usadas pelo
Main
.Jogo Rodando: https://youtu.be/OCFOK5X6tuo
- Material da disciplina: https://github.com/andreaInfUFSM/elc117-2024b)
- Documentação da LibGDX: https://libgdx.com/dev/
- Welsiton Ferreira - Desenvolvedor Indie: https://www.youtube.com/playlist?list=PLwlysxDPhB-9uWQBnjGenhONQXS6gzvOp
- ChatGpt (para consulta de alguns bugs relacionados a LibGDX)
- Terminal Root: https://www.youtube.com/watch?v=2bmvlwvnirk
- Brent Aureli Codes: https://www.youtube.com/playlist?list=PLZm85UZQLd2SXQzsF-a0-pPF6IWDDdrXt
- Sprites gerados por I.A. - https://chatgpt.com/g/g-pmuQfob8d-image-generator
- GeoParque Quarta Colônia: https://www.geoparquequartacolonia.com.br/home
- GeoParque Caçapava: https://geoparquecacapava.com.br/
- Distrito Criativo Centro-Gare: http://www.distritocentrogare.com.br/index.php/pt/
- Jardim Botânico da UFSM: https://www.ufsm.br/orgaos-suplementares/jardim-botanico