Welcome to the repository for "Sandro Run", a 3D game developed as part of the Computer Graphics course at Politecnico di Milano. This project, which achieved a final evaluation of 30 cum laude, is written in C++ and utilizes Vulkan APIs.
This repository contains also the course assignments. Check the Assignments
folder for more information.
"Sandro Run" boasts a variety of features that contribute to an immersive gaming experience:
- Multiple Shaders & Pipelines: Enhance the visual appeal of the game.
- Splash Screens: Provide an engaging introduction to the game.
- Motorbike Main Character: The player navigates the game world on a motorbike.
- Dynamic Sky-Boxes: The game environment changes with three different sky-boxes based on the time of day.
- Periodic Scenery: The game world includes a terrain with hills, trees, a street, guard rails, and streetlights.
- Moving Cars: Cars move in both directions on the street, adding to the game's challenge.
- Motorbike Sounds: Enhance the realism of the motorbike.
- Two Cameras: The game can be viewed from a third-person camera or a first-person camera.
- Collision Detection: Collisions are detected between the motorbike and the cars, as well as between the motorbike and the guard rails.
- Score System: Players can track their progress and aim to improve their scores.
- HUD Display: A heads-up display (HUD) shows the player’s score and the velocity of the speedometer.
- Game Over Screen: Displays when the game ends.
- Presentation Mode: This mode deactivates collision detections and camera limits for a more relaxed gaming experience.
Before you can run "Sandro Run", you'll need to install some dependencies. For the basic dependencies, please refer to this website.
For the audio dependencies, you'll need to install libao
and libsndfile
. On Ubuntu distributions, you can do this with the following command:
sudo apt install libsndfile1-dev libao-dev
To build the project, run the following commands:
mkdir build
cd build
cmake ../
make
To run the project, navigate to the bin
directory in the build
folder and execute the Sandro_run
file:
cd build/bin
./Sandro_run
"Sandro Run" uses several 3D models and textures. You can find the sources for these assets below:
- 3D Models:
- Textures:
- Road
- Broken Glass
- Splash Screen
- Skybox:
- Speedometer:
We hope you enjoy playing "Sandro Run"! If you have any questions or feedback, feel free to open an issue or submit a pull request. Happy gaming! 🎮