Giter VIP home page Giter VIP logo

rollingball's Introduction

Rolling Ball —— Final version

A sensor game

Demo

Figure 1: Dodge Mode

Figure 2: Maze Mode

GamePlay and Help

Dodge Mode (see Dodge Mode.mp4)

Player pic Player: You need to rotates the phone to control the ball to move and dodge bullets.

Turret pic Turret: The turret will appear in a random location and shoot a bullet.

DamageBullet pic Damage-type bullet: Once the player is hit by this type bullet, he will be killed.

SlowBullet pic Slow-type bullet: This kind of bullet will bring the player a debuff of about 5s, namely, slow down. In addition, this bullet is faster than the damage-type bullet.

PlyaerSlow pic Player with "slow down" debuff.

Pause pic When game is being played, pause the game is acceptable. The player can touch this button or Virtual Back Key

Level up pic Level up: Pay attention to this prompt. The game is going to become much more difficult (Maybe the number of turret increases, or the bullets speed up ), as soon as this prompt appears. Whatever, its appearance means that this game is no longer as simple as you think.

Dodge Mode (see Maze Mode.mp4)

Player pic Player: Rotating, flipping, and tilting the pitch, yaw, and roll axis of your mobile phone to control the ball to move and arrive at the destination.

Destination picDestination: Please, spare no effort to get here.

Alpha version Done

The player and bullet can move on the screen freely. The collision detections between player and bullets, and between the collision bodies (include player and bullets) and screen boundaries have been finished as well. Moreover, I realized the function that the bullet will move towards the direction of the player initially through the algorithm.
However, due to time constraints, the menu shown at the end of the game is only drawn, while the finger touch event response is not implemented (TODO). Also, the current score of each game will be displayed, while the highest score is not recorded in local (TODO).

Beta version Done

  • The Main Menu UI. This user interface is composited by a textview and surfaceview. The function of textview is to show the title with a rainbow style (Dynamic style), while the surfaceview is responsible for the response events of the buttons.
  • The Connection of Main Menu UI and Game View.
  • Store the highest score in local file.
  • The difficulty of the game increases with the score. This is implemented by increasing the number of turrets (Increase in the order of top, bottom, left and right). Currently, Difficulty increases every ten scores (I call it LEVEL_THRESHOLD). You can change the difficulty of the game by setting this constant in the class GameData.
  • Adding some new buttons and prompts (like the "level up") in Game View to make the game more accessible to players.

Final Version Done

  • Learn Tile Map and develop a tile map maker by myself.
  • Design the maze and generate the map.
  • Develop the algorithms for detecting collision of obstacles on the map.

Limitations

  • This is a final version for my COMP3011J Mobile Computing project, but not a final version for my rolling ball game. More interesting epic maze will be developed later, although there is only one maze map currently.
  • To simplify, I consider the player ball as a 2D bounding box, which means that the collision is only detected by the four corners of the box. As a result of this, players who are moving on the boundary feel the wall is very rough and hard to move.

Reference

My Github

More details are available at: Rolling Ball at Github 18372324

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.