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.
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.