This is a 2D game implemented in Java, designed using various software development tools and frameworks.
The 2D game project is a Java-based game that offers an immersive gaming experience. It includes several features and functionalities to engage the players. The game utilizes applied design patterns such as Builder, Abstract Factory, and Singleton to ensure modularity and maintainability. The graphical user interface (GUI) of the game is designed using Swing and AWT frameworks, providing an intuitive and interactive experience. Installation
To run the game on your local machine, follow these steps:
Clone the repository using the following command:
git clone https://github.com/luan30092000/2D_Game.git
Inside 2D_Game folder, open Terminal and enter commands:
cd GalacticGreaseMonkey/target
java -jar GalacticGreaseMonkey-1.1-SNAPSHOT.jar
To view Java documentation reference by HTML, follow these steps:
Inside 2D_Game folder, open Terminal and enter commands:
cd JavaDoc_Eng
open .
Now open index.html file by browser
Feature 1: Game setting GUI
Feature 2: 3 levels of the game
Feature 3: Implemented pathfinder algorithm for bots
Feature 4: Instant restart
The project incorporates the following design patterns:
Builder Pattern: This pattern is used to create complex game objects step by step, allowing flexible object creation and avoiding constructors with numerous parameters.
Abstract Factory Pattern: It provides an interface for creating families of related objects without specifying their concrete classes. In the game project, this pattern is utilized to create different types of game objects with a common interface.
Singleton Pattern: This pattern ensures that only one instance of a class exists throughout the game and provides a global access point to that instance. It is used to manage game-wide settings and resources.
Luan Nguyen (@luan30092000)
Jason Gill (@xgill15x)
Micheal Chen (@xzh1106)
This project is licensed under the MIT License. Support and Contact
If you have any questions, issues, or suggestions regarding the game project, please feel free to contact me at luan_nguyen_3@sfu.ca