hudsonhu / AsteroidsGameHu

Explore the cosmos in AsteroidsGameHu, a modern rendition of the classic arcade with a twist of OOP principles. Navigate through asteroid fields, collect power-ups, and combat strategic UFOs in this keyboard-controlled space adventure. Crafted with a focus on clean, object-oriented code and engaging gameplay mechanics.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AsteroidsGameHu

Welcome to AsteroidsGameHu, a modern take on the classic Asteroids arcade game, developed with a keen focus on object-oriented programming principles such as inheritance and polymorphism. This project is a testament to my dedication to crafting engaging gameplay experiences while adhering to clean code practices.

This project is made for COMP2011J course.

Game Overview

In AsteroidsGameHu, Players pilot a spaceship through a field of asteroids, engaging in dogfights with intelligent UFO enemies and collecting power-ups to enhance their ship's capabilities. The game features a variety of levels with increasing difficulty, providing a challenging and immersive experience.

Design & Features:

  • Dynamic Gameplay: Start with basic asteroid destruction and progress to engaging combat with advanced enemy UFOs.
  • Power-Ups: Destroying certain asteroids rewards players with bonuses like shields, double bullets, and enhanced thrusters.
  • Progressive Difficulty: Each level increases in difficulty, introducing more hazards and stronger enemies.
  • Intuitive Controls: Fully keyboard-driven controls for a seamless gaming experience.

Key Controls

  • Accelerate: UP arrow
  • Move Left: LEFT arrow
  • Move Right: RIGHT arrow
  • Fire: SPACE bar
  • Hyperspace Jump: L/R SHIFT
  • Play/Pause: p

Technical Highlights

  • Object-Oriented Design: Leveraged OOP principles to structure game entities and mechanics, promoting code reusability and scalability.
  • Minimalist Aesthetics: Despite the line-drawn graphics, meticulous attention to design elements like typography and UI ensures a futuristic ambiance and intuitive gameplay.
  • Optimized Performance: Ensured smooth frame rates and responsive controls, optimizing for an engaging user experience without lags or glitches.

Getting Started

To run AsteroidsGameFX, follow these steps:

  1. Ensure that Java 8 SDK is installed on your system.
  2. Clone the repository to your local machine.
  3. Open the project in IntelliJ IDEA.
  4. Navigate to the Run/Debug Configurations (as shown in the provided screenshot).
  5. Make sure that the main class is set to display.GameStart.
  6. Set the working directory to the root of the project directory.
  7. Run the GameStart configuration to start the game.

Project Structure

  • src: Contains all source files for the game.
    • data: Includes classes for managing game data persistence.
    • display: Contains all UI-related classes, such as screens and menu controls.
    • model: Holds the core game logic and object models, including the player, asteroids, bullets, and UFOs.
  • out: The output directory for compiled class files.
  • README.md: This file, providing documentation for the project.
  • scores.txt: A text file for persisting player scores.

Contributions

I welcome contributions and suggestions to enhance the game. Feel free to fork the project, make your changes, and submit a pull request!

About

Explore the cosmos in AsteroidsGameHu, a modern rendition of the classic arcade with a twist of OOP principles. Navigate through asteroid fields, collect power-ups, and combat strategic UFOs in this keyboard-controlled space adventure. Crafted with a focus on clean, object-oriented code and engaging gameplay mechanics.


Languages

Language:Java 100.0%