Arvutiteaduse instituut
Courses.cs.ut.ee Arvutiteaduse instituut Tartu Ülikool
  1. Kursused
  2. 2025/26 sügis
  3. Arvutigraafika (MTAT.03.015)
EN
Logi sisse

Arvutigraafika 2025/26 sügis

  • Main
  • Lectures
  • Practices
  • Projects
  • Test
  • Results
  • Links

Casino Escape

Repo link: https://github.com/Batku/computerGraphics
Video: https://drive.google.com/file/d/1xEGtByrk2oiHSRDtn56BbEywEMSGTjh2/view?usp=sharing
Made by Hendrik Aarma, Kevin Näälik, Kert-Kristofer Kljutšnik

Description

The game is a horror like game, where you are chased by loan sharks while stuck in a casino.
Only way out is to win enough money to pay off the sharks before they feast on you.


Computer Graphics

- Models made in blender
- Screen shader for the horror vibes
- Procedurally generated world


How was it made?


Procedural generation

It works by first generating a 2d grid with random non colliding rooms and
then starts connecting them with a chance of a extra connection.
Then it populates the rooms by populating the empty grids in the rooms with casino props
After the 2d grid is fully generated and populated we start rendering it in 3D following the grid.
Sections of corridors that pass through rooms or go next to them will be without walls,
this expands the rooms and gives them a more open vibe and makes the rooms less boxy.


Shader

We implemented a screen shader inspired by Buckshot Roullete.
To feed into the horror and underground industrial vibe.
It has random flickering, chromatic aberration and distortions with
some retro effects like vigenette, tint, scan lines and film grain.


Casino Models

Casino props were relatively straightforward to make based off reference images, but most of the time
was spent on creating a Human like model as it was the first time doing so.


Human Model


1. Modelling

Since this was my first time modelling a human-like object, I had to research different approaches.
I found that the method that worked best for me was using reference images aligned on the X, Y, and Z
axes and mirroring the mesh, starting from a cube. Although the topology of the model is far from
anatomically accurate, I am satisfied with the result I achieved for a first attempt.

2. Clothing

While researching how to apply clothing to a model, I found several different methods.
The first approach I tried was shrinkwrapping the clothing directly onto the model;
however, I was not satisfied with the result. Although some angles looked fine,
there were always other angles where z-fighting occurred. I then experimented with cloth simulation,
but I abandoned this approach because it relied heavily on physics and would be difficult to export
for use in a game engine. Eventually, I decided on a simpler solution: extruding the relevant faces of the model and
assigning a different material to represent the clothing.

3. Rigging and Animating

Rigging was introduced during the course, but I had to research animation techniques independently.
Although there was an easier option available using the Rigify add-on,
I chose not to use it because it generated a large amount of data that was difficult to understand.
Instead, I created my own rig manually. Animating the model was relatively straightforward,
as I followed a YouTube tutorial that explained how a human-like character is supposed to walk.
Using this guidance, I achieved a reasonably convincing walking animation.
Afterward, I created an idle animation on my own.

Screenies

How to compile

1. Install latest version of Godot (4.5.1 as of writing)
2. Clone the project from github
3. Import it to Godot and run it

How to run (windows)

1. Install from https://drive.google.com/file/d/1oxCbTmg9P-qVmri_Edn-R_4yP2rpFjEE/view?usp=sharing
2. run

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused