Skip to content

Assignments and final project for the computer graphics course of Politecnico di Milano - 2022/23

Notifications You must be signed in to change notification settings

Buba98/computer_graphics_project

Repository files navigation

Sandro Run: A 3D Game Project

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.

Game Features

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

Installation & Running

Prerequisites

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

Building the Project

To build the project, run the following commands:

mkdir build
cd build
cmake ../
make

Running the Project

To run the project, navigate to the bin directory in the build folder and execute the Sandro_run file:

cd build/bin
./Sandro_run

Licenses

"Sandro Run" uses several 3D models and textures. You can find the sources for these assets below:

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! 🎮

About

Assignments and final project for the computer graphics course of Politecnico di Milano - 2022/23

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published