Skip to content

A 2D interactive multi-level game created using Java & School's Physics Engine.

License

Notifications You must be signed in to change notification settings

Sombrero-J/Go-Survival

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go-Survival

Welcome to Go-Survival, a 2D interactive multi-level game where you navigate a submarine through perilous waters, swerving away from dangerous enemies and collecting valuable items. Immerse yourself in this underwater adventure filled with sharks, octopuses, and hidden treasures, all brought to life with engaging music and challenging gameplay.

Screenshot 2023-11-04 at 09 59 01

Description

In Go-Survival, you pilot a submarine with the mission to avoid or shoot down enemies while collecting various items. Your submarine has health and fuel bars, which can be replenished by collecting mermaids and jellyfish, respectively. Each level presents unique objectives, ranging from crystal collection to enemy annihilation.

Characters

  • Submarine: Health 100, Fuel 100
  • Bullet: Damage 10
  • Shark (Enemy): Damage 20, Health 20
  • Octopus (Enemy): Damage 15, Health 10
  • Mermaid (Collectible): Health Restore 10
  • Jellyfish (Collectible): Fuel Restore 5
  • Crystal (Collectible): Collect to progress in levels

Levels

  • Level 1: One enemy - Octopus. Infinite fuel. Collect crystals & avoid octopus to win.
Screenshot 2023-11-04 at 11 08 16
  • Level 2: Two enemies – Octopus & Shark. Infinite fuel. Shoot Octopus and collect crystals to win.
Screenshot 2023-11-04 at 11 09 10
  • Level 3: Two enemies – Octopus & Shark. Finite fuel. Shoot enemies and collect crystals to progress.
Screenshot 2023-11-04 at 11 09 41

Mechanics

  • Movement: Use WASD keys.
  • Collecting Items: Click with the mouse.
  • Shooting: Aim with the cursor and shoot with the space bar.

Interface

  • Pause and resume gameplay at any time.
  • In-game kill feeds
  • Save progress feature.
  • Adjustable volume settings.
  • Level progression (no skipping levels).

Technical Details

The game leverages Java’s object-oriented programming capabilities, utilising interfaces, abstract classes, inheritance, and more. Key Java features include:

  • Interface classes
  • Abstract classes
  • Inheritance
  • Polymorphism
  • Encapsulation
  • Timer for object spawning

Physics Engine Features

The game utilises the physics engine provided by my university, incorporating:

  • Physical collisions
  • Event handling (Key Listeners, Mouse Listeners, Collision Listeners, Action Listeners, Step Listeners)
  • Dynamic & Static Bodies
  • Ghostly Fixtures
  • User View (for painting foreground & background)

Installation Requirements

To run Go-Survival, ensure you have a modern computer with a keyboard, mouse, and the Java Virtual Machine (JVM) installed. No additional dependencies are required, but a speaker system is recommended for the full experience.

Installation & Running the Game

  1. Clone the repository or download the ZIP file.
  2. Navigate to the directory containing the game files.
  3. Run the game using the following command: java -jar Go-Survival.jar

Reporting Issues & Contributions

Encountered a bug or have suggestions for improvements? Feel free to open an issue in the repository or submit a pull request with your proposed changes.

Acknowledgments

Special thanks to my university for providing access to the physics engine and to my professors, Radu and Charlie, for their invaluable guidance.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). You are free to download, play, and contribute to the project. However, any sale or commercial use of the original or modified code is strictly prohibited. If you run a modified version on a network server, you must also make the modified source code available under the same license.

About

A 2D interactive multi-level game created using Java & School's Physics Engine.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published