Fast-pasted massively multiplayer online games have received a lot of recognition in recent years and have proven to be a successful and popular gaming concept, not least thanks to Fall Guys.
Considering this development, our goal was to create a fun multiplayer gaming experience that would easily be accessible to a large online community.
We chose an existing classic, Bubble Bobble, and modernized it with a multiplayer component:
We developed an enhanced game concept, remastered the existing design, developed a standalone artificial intelligence capable of playing the game on its own, and integrated a fast and robust network code.
Features
The objective of the game is to collect diamonds scattered on a randomly generated map.
The map features various obstacles and terrains, adding an extra layer of challenge to the gameplay.
Players are split evenly into two teams. If necessary, the remaining characters will be filled in with bots, up to a certain total number. Each bot is capable to play the game autonomously and has a unique set of objectives and strategies that are randomly assigned at the start of the game.
With a combination of teamwork, strategy, and quick thinking, players must outsmart and outmaneuver their opponents to collect the most diamonds and win the game.
Bubble Bobble reloaded features a robust network code, which was integrated into the game with the help of the Mirror library.
This allows for seamless multiplayer functionality, ensuring that players can enjoy the game together with minimal lag.
The game is characterized by several hand-crafted assets and performant frame-based animations, ensuring that the game runs smoothly and efficiently, even with a large number of players.
In addition, we have added intuitive UI elements to the game to enhance the player experience. Overall, our efforts have resulted in a polished and entertaining game that players can enjoy for hours.
Process
The development of our game was a collaborative process with the team of the Hungry Games project that involved brainstorming sessions with the entire team.
During these sessions, we came up with two different game approaches that were then developed individually.
To begin with, we developed a prototype with the most important features, which served as a foundation for the final product.
After that, we expanded the game with custom assets and more advanced features.
Extensive testing has been conducted on the performance of skeleton and frame-based animations to ensure a smooth animation experience even with large numbers of players.
With the addition of bots, we were able to ensure that there were always 30 players in the game, regardless of the number of human players that were currently online.
This ensured that players always had someone to play with and that the game remained active and engaging at all times.
The bots were programmed with AI algorithms, allowing them to mimic human behavior and make the game more challenging for players.
Additionally, the bots were equipped with individual strategies that were tracked and evaluated, which helped us continuously improve the game and make it more enjoyable for players.
debug mode of bots and their individual strategies
As initial user tests have shown, these efforts have helped create a high-quality game that offers players an intense and engaging experience. Detailed results will be presented at this year’s Showtime.
Tech Stack
Communication and Project Management
We used Github as our main source control management tool, where all the code was tracked, shared and reviewed.
The team also used the Github Canban Board to manage the development tasks and progress, which allowed us to easily visualize and prioritize the issues of the following sprint that needed to be done.
We used Discord as our primary communication platform, where developers could discuss and share updates, ideas, and troubleshoot any issues.
Zoom was also used for virtual meetings with our supervisor.
Additionally, we used Miro to model the bot behavior, this allowed us to simulate the game and test different bot strategies before we implemented them in the game.
Development
We chose the Unity Game Engine as our main development tool, since it is one of the most popular cross-platform game engines and most people in the project already had previous experience working with Unity.
A key element of our project was a joint network component with the Hungry Games project. For network communication, we looked at two network libraries: Mirror and Photon. After evaluating the two libraries, we decided to use Mirror, an open-source networking library for Unity, that best met our requirements.
All custom assets for our game including the player, cave and bubble assets were created using Adobe Photoshop in combination with a graphics tablet. Animations were then implemented frame-based with the help of Unity’s built-in Animation package.
Future
Potential enhancements of Bubble Bobble reloaded include additional features such as power-ups, more detailled animations and souds.
To ensure a reliable gaming experience as the number of players grows, the game could also be extended by a stable, scalable, and large cloud infrastructure.
This would enable the creation of user accounts, allowing players to save their ingame data and progress in a database.
A cloud infrastructure would also allow for better scalability, as well as the ability to handle even larger amounts of players.
Another way to improve the game would be to include cooperative goal-setting for the bots. By working together, the bots could achieve more than they could individually, and they could also compensate for each other’s weaknesses.
In addition, the use of multiple bots working together could also provide players with new strategies for defeating enemies.
Overall, enhancing the bots’ AI could lead to a more challenging and exciting gameplay.
Furthermore, our game could be turned into a mobile application.
This would allow players to enjoy the game on-the-go and expand the reach of the game to a wider audience.
Additionally, a mobile version of the game could be optimized for touch controls, which would provide a more immersive and interactive experience for players.
The Team
Our group is made up of six developers, each with their unique abilities which include game development, web development, network development, user experience and design.