Skip to content

project-amrit-abhishek-nathan-simrat-greg created by GitHub Classroom

Notifications You must be signed in to change notification settings

COMP2522/project-ruby

Repository files navigation

Project Ruby

img1

img2

img3

Screen Shot 2023-04-09 at 8 55 28 PM

Project Pitch

Ruby Rush is a open world game where players find themselves running from slimes and avoiding elements as they search for rubies.

Instructions

  1. Run Main.java
  2. Follow the Menu interface, using mouse and keyboard inputs, to set a username that will be used to get your saved game, and begin.
  3. Collect Rubies and don't get hit by monsters by using the WASD keys.
  4. Game elements will teleport at random every couple of seconds.
  5. Survive as long as you can.

Requirements

Requirement 1: We used Java Graphics to draw all of our user interfaces, which has similar methods to Processing.org. Then it will be drawn in a JPanel.

Requirement 2: We used asynchronous processing to save the game each time each time the player encounters a ruby.

Requirement 3: The gamestate is stored as a JSON file, containing two key value pairs of gamePanelData and playerData. The value for gamePanelData is another JSONObject consisting of 3 arrays.

Requirement 4: We created a custom data structure based on a network of nodes to utilize instead of the int-map array in the PathFinder class. This structure stores references to all adjacent nodes (up, down, left, and right) of the current node, making it more efficient for accessing adjacent nodes. The focus of this structure is on efficiency, and at present is only being utilized in Pathfinder where it serves its purpose quite good.

Requirement 5: We have added javadoc, comments and provided a UML diagram.

Contributions

Abhishek

  • Player, Entity, UI, KeyHandler, UI, Life and Miscellaneous

Amrit

  • Villager, Monster, Node, Pathfinder, ElementHandler and testing

Nathan

  • GamePanel, TileManager, Tile classes, refactoring, design

Simrat

  • Objects package, CollisionDetector, Element, ElementHandler, sound and testing

Greg Song

  • GameLauncher, SaveState, SaveStateHandler, Menu package

About

project-amrit-abhishek-nathan-simrat-greg created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages