Portfolio Details

Discover the projects and case studies that showcase my expertise and passion for software development, highlighting my commitment to innovative solutions and effective problem-solving.

Screenshot of Breakout Game
Screenshot of Breakout Game
Screenshot of Gameover screen

Project information

  • Category: Java
  • Client: Karlstad University
  • Project date: 02 March, 2021
  • Project URL: github.com

Breakout Game Development in Java

This project involved developing a Breakout-style game using Java, where the player controls a paddle to keep a ball in play and break bricks on the game board. The project focused on utilizing object-oriented principles, including inheritance, interfaces, polymorphism, and event handling to create a complete, functional game.

The game board features multiple bricks that the ball can hit. Some bricks break with one hit, while others require multiple hits. Certain bricks award double points, adding a strategic element to the gameplay. The player loses a life if the ball falls below the paddle, and the game ends when all lives are lost or all bricks are destroyed.

Key features include a scoring system, different types of bricks with varying durability and point values, and a paddle controlled by the player using either the mouse or keyboard. The game also supports potential future enhancements, such as power-ups that alter the paddle's size or speed, introduce multiball scenarios, or change the ball's behavior.

The development process involved creating a detailed class diagram to map out the relationships and responsibilities of each class, followed by the implementation using Java and a provided game engine for handling graphics. The game was built with an emphasis on iterative testing and refinement, ensuring a smooth and playable experience.

For those looking to extend the project, optional features include power-ups, indestructible bricks, laser balls, and sticky paddles. These enhancements add complexity and replayability to the game, offering additional challenges for more advanced development.