Skip to content

Red Bull Air race android game based on flappy bird!

Notifications You must be signed in to change notification settings

TiagoR98/RedBullAirRace

Repository files navigation

RedBullAirRace

Autores

Entrega Final

Diagramas UML

Classes

Classes Classes Classes Classes

Casos de utilização

casos

Diagrama de estados

estados

Padrões de jogo:

  • Keep 'em Separated - Baseado na estrutura do jogo Asteroids fornecido. Permite separar os componentes do jogo e implementar uma arquitetura MVC.
  • One to rule them All - Presente na classe RedBullGame, Game Controller,Game Model e Game View, de modo a numa instância juntar todos os objetos de cada componente do jogo.
  • Observer - Implementado entre o avião e o pylon. Permite ao pylon notificar o avião que ocorreu uma colisão, desencadeando uma ação em ambos os objetos.
  • Reuse, restore, recycle - Os pylons serão gerados com recurso à classe pool fornecida pelo LibGDX, evitando assim a constante alocação e destruição de objetos em memória à medida que se avança no nível de jogo, aumentando a eficiência e performance.
  • Be Different - Utilizado em definir diversos tipos para os aviães, pylons e posições de voo. Permite que estes tipos sejam totalmente dinâmicos, podendo adicionar-se novos sem a necessidade de modificar o código existente.

Mockups

Menu Principal HighScores Regras do Jogo
menu_principal highscores Regras
Escolher Avião Jogo Game Over
choose_plane game game_over
Submeter HighScore
submit_highscore
u

Manual de Instruções

Como_Jogar

Screenshots

Screenshots

Base de Dados (Highscores)

  • Para armazenar as Highscores foi criada uma base de dados MySQL num servidor remoto, sendo que a comunicação com a aplicação é feita usando ficheiros PHP, acedidos através da classe HTTPRequest do Java.

Instalação

Instalar no dispositivo Android a APK fornceida na raíz do repositório.

Dificuldades

  • Conseguir carregar todos os assets do jogo apenas no início, em vez de os ir carregando repetidamente, o que causava loading screens e eventualmente um crash por falta de memória.

  • Conseguir construir o jugo numa arquitetura MVC, baseada na que foi fornecida, tendo sido necessário algum tempo para entender como esta funciona e como as classes lá estão organizadas.

  • Programar as físicas do avião, visto que o box2d trabalha em metros foi necessário estabelecer as dimensões físicas da arena e efetuar a sua conversão para o respetivo ecrã de modo a que a velocidade linear do avião pudesse ser a correta. Além disso, conseguir implementar o impulso correto no avião de modo ao jogo ficar com um grau de dificuldade adequado e a este ser equilibrado com a gravidade.

  • Do mesmo modo, conseguir que a colisão com o pylon fosse avaliada usando medidas absolutas (metros).

-Por fim, perceber como construir um jogo em libgdx em android, lidando assim pela primeira vez com interfaces, resoluções, toques, gestos,partículas, fontes e assets.

Tempo dispendido e distribuição

  • O trabalho foi realizado durante as aulas laboratorias dedicadas ao projeto e durante as últimas duas semanas antes da data de entrega.
  • Durante as aulas o grupo trabalhou em conjunto nas mesmas tarefas. Na última fase do trabalho, o elemento Tiago Ribeiro liderou o processo de desenvolvimento, contanto com a colaboração do Bruno Oliveira.

About

Red Bull Air race android game based on flappy bird!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published