Rapid Roll Advanced is a game developed using C++ and SFML. It takes inspiration from the classic Nokia game from our childhood, providing a nostalgic experience that resonates with the players. The game stays true to the original concept while adding new dimensions that make it more challenging and engaging. The objective of the game is to control a ball that rolls down through a series of rising platforms while avoiding obstacles and collecting bonuses. The game ends if the ball falls off the bottom of the screen, hits the ceiling, or collides with an obstacle. With improved graphics, animation, and soundtrack, the game provides players with an entertaining gaming experience.
-
Realistic Physics: The physics of the game is implemented to provide players with a smooth and responsive gameplay experience, challenging their reflexes and providing an adrenaline rush that makes the game more immersive.
-
New Challenges
As your score increases, new challenges appear to make the game more difficult and interesting.
- Moving Platforms: These platforms move both horizontally and vertically.
- Spikes: These sharp and pointy hazards instantly destroy the ball. Players must plan their movements carefully to navigate around them and avoid losing the game.
- Bouncy Platforms: These platforms add a fun element to the game by bouncing the ball. However, there is a danger that you may collide with the ceiling.
-
Pickup Items
- Coin: This item gives a score bonus.
- Gem: This item grants an extra life to the player.
- Boost: This item accelerates the ball. Although it is difficult to control initially, with practice, skilled players can learn to take advantage of its increased velocity.
- Protection: This item grants temporary invincibility, allowing you to pass through spikes unharmed.
- Slowdown: This item slows down time, making it easier to navigate through obstacles and spikes. It's a game-changer in the later part of the game.
-
High Score System: The high-score system allows players to keep track of their personal best scores and compete with friends, making every playthrough a chance to set a new record.
Rapid Roll Advanced was developed using C++ and the SFML (Simple and Fast Multimedia Library) library. The project used various object-oriented programming concepts, including encapsulation, inheritance, polymorphism, function and operator overloading, templates, virtual and abstract functions, enumerations, and exceptions.
-
The game can be installed on Windows directly using the provided Setup file. After installation, the
Play.exefile can be found inside thebinfolder. -
Alternatively, the game can be manually compiled using the provided source code. To do this, the SFML library must be installed. The version used in our development process has been included to simplify the process for Windows users.
-
- Download or clone the project source code to a directory of your choice.
- Navigate to the project directory in PowerShell.
- Run the makeSFML.ps1 script.
-
- To compile the game on GNU/Linux, the SFML library must first be installed. This can typically be done through the package manager of the distribution being used. For example, on Arch Linux, the package is named sfml, while on Ubuntu/Debian and its derivatives, it is libsfml-dev.
- Once the SFML library has been installed, open a terminal in the project directory.
- Run the
makecommand.
Note: If you are using PowerShell on Windows and get an error message about script execution being disabled, you can enable script execution by opening a PowerShell session as an administrator and running the following command:
Set-ExecutionPolicy RemoteSignedThis will allow PowerShell to run scripts that are locally created, but not ones downloaded from the internet. If you want to allow scripts from the internet as well, you can use the Unrestricted option instead:Set-ExecutionPolicy Unrestricted -
If you have any feedback or suggestions for improvements, please feel free to contact us by sending an email to orkhasnat@iut-dhaka.edu. We are always looking for ways to make the game even better.