This is a remake of the classic game Bubble Bobble (NES version), built entirely in Java without any external libraries.
This project was developed as part of the "Metodologie di Programmazione" (Programming Methodologies) course at the University of Sapienza, during my first year of studies in Computer Science. The objective was to recreate the Bubble Bobble game using Java and respecting the following constraints:
- No external libraries
- Appropriate use of MVC, Observer Observable and other design patterns
- Effective use of Streams
- Use of JavaSwing or JavaFX for the GUI
- Profile Management (nickname, avatar, score, score board)
- Game Play (8 levels, 3 enemies, 10 power-ups, 2 special bubbles,
- Presence of audio and special effects
The assignment also consisted in the creation of a UML diagram, Project Thesis (it's in italian) and Java Doc.
This project marked a significant milestone for me, as it is the largest and most complex project I have undertaken so far. Notably, it was my first experience managing a project composed by multiple classes and packages, and implementing the MVC pattern was a new concept for me.
Also, this was the first time I had to work on a project with predefined guidelines and constraints, rather than having the freedom to choose my own approach. However, I learned a lot from this experience and I am really proud of how it turned out.
Note
To see the original version submitted for the exam, check the uni-project-version branch. I have made some changes to the game after the exam, including a significant restructuring of the project to use Maven for building the JAR file.
There are 3 ways to run the game:
1. Using the JAR file
Download the JAR file from the releases page and simply run it by double-clicking on it. Make sure you have Java installed on your computer.
2. Run from IDE:
Clone the repository and open it in your favorite IDE. Run the
Mainclass located in thesrc/main/java/com/rima/Appfile.
3. Building from Source
Clone the repository and run the following command in the root directory of the project:
mvn clean packageThis will create a JAR file in the
targetdirectory. You can run the JAR file by double-clicking on it or using the following command:java -jar target/The-Bolla-Bolla-1.1.jar
⚠️ You need to have Maven installed. Try to use your package manager to install it.
The game is a 2D platformer where the player controls a dragon that can shoot bubbles to trap enemies. The objective is to clear the level of all enemies by trapping them in bubbles and popping them.
This game is played using only the keyboard. The controls are:
- To move the player use the
arrow keys,WASD keys, orHJKL keys. - To jump, press the
space baror theX key. - To shoot bubbles, press the
enter keyorZ key. - The game can be paused by pressing the
esc key.
The menus can be navigated using the arrow keys, WASD keys, or HJKL keys. Use the enter key to select.
gameplay.mp4
- Audio: Sound-Resource
- Sprites: Spriters-resource by Jermungandr and Black Squirrel
- Fonts: Nes Font by Goatmeal
I also want to thank Karin Gaming for their incredible tutorial on how to create a platform game in Java. They have been a great help in laying the foundation for this project.