Student Projects

Here is a list of notable student projects from our different courses (incl additions to thesis works).

2020 – Spring

Models for Animal Evolution
Karl-Walter Sillaots
The Animal Evolution project is a simulation of animals that collect food and have different parameters like speed and size. Depending on the quality of food that the animals manage to eat, their parameters are propagated to the next generation. In this project Mr Sillaots created dinosaur models for the visual 3D representation of the simulation. The created models are nicely animated and exhibit properties related to the parameters of the animal. Among those properties are the different colors and the occurrence of spikes.

Project page.
Poster.
Video.

Models for Animal Evolution
Computer Graphics Project
Side Samurai
Markos-Erik Leemet
Side Samurai is a side-scroller fighting game, where a female ninja needs to avoid laser drones pursuing her. During this project all the game assets, the level and game logic were developed by Mr Leemet. The modelling of the main character uses useful modelling techniques like curved meshes and normal baking. The character is nicely animated and her swordfighting and movement animations match well. Other made assets include trees with sprite meshes for leaves and water bottles with realistic optical effects. The character follows a curved path along the level.

Project page.

Side Samurai
Computer Graphics Project
Procedural Hex Terrain
Madis Janno
Mr Janno has created a JavaScript application that generates a large hex terrain. The terrain is generated and loaded in chunks as the camera moves through the scene. All the hex heights can be changed by the user. Between some hexes there are cliff faces generated, these faces illustrate steep slopes. Of course the face normals are also correctly generated. Advanced meshing techniques are used and the algorithm handles several special cases that arise with this kind of procedural generation.

Project page.

Procedural Hex Terrain
Computer Graphics Project
Automata Sandbox Simulation
Carlos Ramos
Cellular automata are of great interest in computer science. This project uses automata rules to create a sandbox in which users can interactively change the simulated world. The project includes materials such as dirt, water and acid, which all interact with each other. In addition the game world can be rotated by 90 degrees. The solution is made using the Rust programming language and parallelized on the GPU. The invention of cellular automata is most notably contributed to John Conway (1937 – 2020).

Project page.

Automata Sandbox Simulation
Computer Graphics Project
Spulkan
Mathias Plans
This project is a port of the Space Generator project to the Rust programming language and uses the Vulkan graphics API. The latter is quite difficult to utilize and that is excellently achieved here. The gravitation interactions between the planets are accurately simulated. Addition to just generating a collection of random planets, the project includes a configuration for a stable 3-body simulation. The simulation is parallelized on the GPU using compute shaders.

Project page.

Spulkan
Computer Graphics Project

2019 – Fall

Space Generator
Mathias Plans, Karl Marti Toots, Jon Ander Sukia Herrador
This Three.js web application generates different planets and planetary systems. There are lava planets, Earth-like planets, rocky planets are more. Planets can have orbiting moons. The landscape on each of the planets is also procedurally generated and in case of some of them, the larger mountains or craters are also visible from space. Furthermore the planets themselves have bioms like deserts and ice glaciers. Those change according to the distance from the star and seasons.
This game also won the public’s choice award in the course and was shown during the Delta Opening Expo.

Project page.
Live

Space Generator
Computer Graphics course project
Momentum Racing
Lauri Kongas, Semjon Kravtšenko, Märt Mäemees
Racing has never been more fun than in this high octane futuristic racing game. As it is the future, trivial things like inertia no longer apply. Meaning that if you turn, you turn with all your speed. This creates a cool and visceral game mechanic, where trying to keep the car from driving off the track is quite challenging. The game includes several tracks to tackle and all have pretty Tron-like look.

Project page.

Momentum Racing
Computer Graphics course project
Procedural Earthbending
Juan Carlos Ramos Martinez, Mykhailo Nitsenko
Earthbending from the animated TV series Avatar: The Last Airbender is about using dance moves to make the ground shape to your will. In this Oculus Quest game you can do just that to survive the local wildlife consisting of rats, snakes, spiders, frogs and bees. The authors have designed a level of floating islands to explore and made the game look nicely stylized. Just remember that this is Earthbending, not Bridge- or Floorbending.

Project page.

Procedural Earthbending
Computer Graphics course project
Slingshot
Mattias Aksli, Rebekka Breedis, Tanel Marran
The main mechanic in this platformer game is throwing an orb and then slingshotting the character towards it to get a jump boost. This creates some quite unique and very challenging puzzles for the player to master. The created pixel art visuals are very nice and the game includes many puzzles with a good checkpoint mechanic.
This game also won the public’s choice award in the course and was shown during the Delta Opening Expo.

Project page.

Slingshot
Computer Game Development and Design course project
Hestia
Vladislav Kupriienko, Stanisalv Deviatykh, Kiryl Lashkevich
Hestia is a role-playing card game, where the player battles space monsters. The battles play out as card games, where the player chooses among different damage and healing cards. Throughout the adventures you also get different equipment to use. The equipped items add a another layer of game mechanics on top of the core card game. Overall visuals look pretty and the aesthetic is consistent.

Project page.

Hestia
Computer Game Development and Design course project
Afraid of the Dark
Oliver-Erik Suik, Marcus Murumäe, Karl Marten Mägi
In this plaformer Metroidvania game your main goal is to keep your torch lit while you explore a dark cave system in search of precious gems. Each gem you find gives you a new ability related to the torch. For example one ability allows you to throw the torch and teleport to the torch’s location instantly. To hinder your exploration there are underwater lakes and slimes that really do not like fire. The game is pretty and fun, but can be a bit too challenging at times.

Project page.

Afraid of the Dark
Computer Game Development and Design course project
Moving On
Jon Ander Sukia Herrador, Kerstin Äkke, Tasio Aguirre Blanco
Moving On is a puzzle platformer game, where all the puzzles resolve around the mechanic of only being able to move right. The game is very nicely designed to aid the player in mastering that mechanic. There are many levels with increasing difficulty and when the player loses too much, one of the previous levels will reset. This helps the player to go back and re-learn the simpler puzzles. The visuals are nicely polished and the game is quite suitable to different age groups looking to challenge their minds.

Project page.

Moving On
Computer Game Development and Design course project
Graviform
Aap Vare, Marc David, Raul Erik Kattai
In Graviform you can rotate the entire world by 90 degree increments. This allows for a variety of different puzzles, where you have to rotate the world and use the regular platforming mechanics wisely to avoid spikes, fireballs and huge boxes. The game includes many neat puzzles and has a clean visual aesthetic.

Project page.

Graviform
Computer Game Development and Design course project

2019 – Spring

Procedural Planets
Erik Martin Vetemaa
This is a web application made with JavaScript and Three.js to generate different planets. The planet’s surface is tesselated into more detail when the camera gets closer to it. There are controls for creating the planet of your choosing and to actually land on the planet’s surface for a closer look.

Project page.
Live

Procedural Planets
Computer Graphics Project
Procedural Maze
Meelis Perli
The wave function collapse algorithm can be used to generate infinite world based on a given finite tileset. In this project that algorithm is used to generate a maze-like world where the player has a task of collecting boxes and avoiding killer robots with lasers. The procedurally generated game world includes rivers, bridges, roads and tunnels.

Project page.
Poster

Procedural Maze
Computer Graphics Project
Stealth Game v2
Einar Linde
Continuing a Computer Graphics course project from the previous semester, this game now includes many improvements. The illumination of different rooms works better, the light switches are visible in the dark, the game also features a flashlight. Environmental objects like windows, doors and computer monitors can be broken. Drinking coffee now has a visible screen space effect resembling a blackout, which can be cured by taking some Ibuprofenum. Escaping from an MMS cult has never been more exciting!

Project page.

Stealth Game v2
Computer Graphics Project
Pompeii IX – XIV
Kristo Männa
In this update to Pompeii the focus has been on different secondary menu systems. The game now features a more complex crafting systems that allows the player to combine many different parts to craft a complete object. Using objects from the inventory as crafting components or trading resources has also been improved. Another new feature is the map creation system, which now allows players to combine different map pieces and draw their own maps of the game world.

Project page.
Poster

Pompeii
Computer Graphics Project

2018 – Fall

Slingventure
Daniel Nael
In this mobile game the player uses slingshot mechanics to propel the main character forward in the level. A lot of work was put into tweaking this gameplay to feel good and meaningful. Different takes on the mechanic, varying levels and visual designs were tried out. In the end the game has a good flow and is enjoyable to play.

Project page.
Google Play store page

Slingventure
Computer Graphics Project
Pompeii V-VIII
Kristo Männa
This is a nearly feature-complete fantasy role playing game. The mechanics are instantly recognizable for anyone who has played a role playing game on a computer before. During this project several systems of the game were changed and improved, for example the questing system. Lot of work was also put into UI and UX design and new playable content was added. This game was also expoed in Robotex 2018.

Project page.

Pompeii V-VIII
Computer Graphics Project
Paabel VR v2
Madis Vasser, Salme Ussanov, Markos Leemet
The CGVR Lab has a virtual reality replica of the lab rooms which is usually shown to the visitors to demonstrate different VR capabilities. During this project that demo application was improved both visually and functionally. For example a model of a realistic human was added to the scene, users can manipulate gravity and user-created balloons can bounce off the walls. There were also tries to get an even more accurate representation using photogrammetry.

Project page.

Paabel VR v2
Computer Graphics course project
Generative Art / Shader Gallery
Mateus Reis, Rando Tõnso
During this project students created a number of visual effects using only shader programming. The resulting visual effects are really nice and illustrate that even seemingly complex results can be achieved with just simple and fast fragment shaders.

Project page.

Generative Art / Shader Gallery
Computer Graphics course project
Short Low-Poly Animation
Joonas Järve, Zanis Ali Khan, Allan Mitt
Follow a story of fast cars, beautiful art, materialism and life choices in this short animation. The students created several scenes, animated characters and objects to put together a 2 minute fully contained story. Many computer graphics techniques were used here from the initial 3D model creation up to the final rendering.

Project page.
Watch

Short Low-Poly Animation
Computer Graphics course project
Space Game
Daniel Nael, Raigo Kõvask, Paul Liibert
In this game the player controls a space ship and has to defend a planet from waves of enemy ships and asteroids. The game controls feel visceral and intuitive. The visuals are great with several smart algorithms underneath the layers of post-processing effects. Examples include the procedural generation of the planet, Voronoi noise based force fields, finely configured particle systems etc.

Project page.

Space Game
Computer Graphics course project
Plane and Simple
Andri Soone, Jorgen Juurik, Erik Martin Vetemaa
Players can fly a propeller plane over a procedurally generated landscape in this project. The amazing thing is that this is all done via JavaScript using just the Three.js and Cannon.js libraries. The game settings have different parameters to tweak and it also has controller support.

Project page.
Live

Plane and Simple
Computer Graphics course project
Vara de Mara
Helen Õunapuu, Rain Eric Haamer, Ott Adermann
Vara de Mara is very reminiscent of the combat in early Heroes of Might and Magic games. Combined with the card-based randomness of available moves for each unit the game provides an enjoyable and exiting gameplay loop for the player. The units are also each very distinctive with varying different skills and they represent the well known fantasy tropes.

This project was shown in the Teaduslinn 2019 expo.

Project page.

Vara de Mara
Computer Game Development and Design course project
Reality Shift
Kirill Grjaznov, Aleksandr Titov, Aleksei Beljajev
This 2D platform puzzle game is like Trine, but instead of changing the characters the player changes the environment. To solve a level one must utilize the different rules of distinct environments in the game that the player can change at will. For example if there is a flow of water blocking a path, switching to the fire reality will evaporate it. Of course the player needs to be good at platforming as well.

This project was shown in the Teaduslinn 2019 expo.

Project page.

Reality Shift
Computer Game Development and Design course project
Shield Former
Eleriin Rein, Taavi Reisenbuk, Karl Erik Karindi
The main character has a shield to block incoming lasers with. Successfully blocking a laser fills a power meter and the player can use the stored energy to shoot back at hostile robots. This mechanic together with a good level design makes ShieldFormer a fun action-packed game where you want to see what is behind the next corner.

This project was shown in an expo during Robotex 2019.

Project page.

Reality Shift
Computer Game Development and Design course project

2018 – Spring

Creating new UV Maps after Edge Chamfering
Diana Algma
The challenging problem of creating an automatic chamfering algorithm was what Diana created a solution for in her Master thesis. During the Computer Graphics Project course she tackled a secondary problem of keeping the texture mapping correct after the geometry is chamfered. Different algorithms were devised for creating the UV mapping of chamfered objects. The final result successfully works on the test objects.

Project page.

UV Maps for Edge Chamfering
Computer Graphics Project
Cave Destruction Simulator
Marko Täht
For his Master thesis Marko created an algorithm for dynamically destroying parts of a solid volume using Voronoi diagrams. In this project he created a first-person environment, where the player can experience his algorithm. The cave the player character is in can be dynamically expanded by destroying the cave walls with a green mining laser.

Project page.

Cave Destruction Simulator
Computer Graphics Project
Ball Tale
Siim Raudsepp
Ball Tale is a platformer game where the player character is a ball. A unique mechanic in this game is that the character can charge a directional secondary jump mid-air. This gives more verticality to the gameplay. The game also includes a shooting mechanic, a shop of upgrades and several enemy types, including a boss fight. Ball Tale was among the games expoed at Robotex 2018.

Project page.

Ball Tale
Computer Graphics Project
VR Fractals
Joosep Jääger
Fractals have always captivated people because of their mathematical and visual elegance. In this project fractal rendering was implemented for the purpose of experiencing fractals in virtual reality. The result can be viewed with standard headsets like Oculus Rift and HTC Vive. Movement is solved by intuitive gestures of the controllers, so a room-scale area is not necessary.

Project page.

VR Fractals
Computer Graphics Project

2017 – Fall

Procedural and Dynamic Meshes
Ott Adermann, Jaagup Kirme, Ergo Nigola
In this project the landscape is not only procedurally generated, but generates visibly and logically through time. You can watch how mountains emerge, trees and other plantlife grows and rivers flow from the mountains to form lakes. On grassy areas the trees will be lush, but in rocky mountainous areas the trees will be stunted and scraggy. In addition the project includes demos for several sculpting methods used in computer graphics.

Project page.

procedural-dynamic-meshes
Computer Graphics course project
Audio Visualizer with GPU Particles
Andres Nirk, Madis Janno, Heiti Ehrpais
Audio visualization is a very interesting application of computer graphics. In this project millions of GPU particles are used to visualize different shapes based on frequency analysis of audio. You can pick a song to visualize or use your microphone for audio input. There are 6 different visualization created. This beautiful project is implemented with JavaScript and runs in your browser.

Project page.
Live.

audio-visualization-with-gpu-particles
Computer Graphics course project
Minecraft Rip-Off
Sander Pärn, Markus Saarniit, Ott Saar
Procedural Minecraft-like world generation is a popular topic. What makes this project stand out is its use of low-level C++ and OpenGL programming. Different biomes are generated based on one layer of Perlin noise. The project also features a day-night cycle. Furthermore one can actually edit the voxel terrain and the changes are saved in a file. So you can build your own house in this project, just like in real Minecraft.

Project page.

minecraft-rip-off
Computer Graphics course project
Crazy Doom Dungeon
Marko Täht, Diana Algma
Mr. Täht and Ms. Algma created the Crazy Doom Dungeon game in the course of two semesters. First they created procedurally generated levels for their dungeon crawler game. In parallel they implemented basic gameplay mechanics for melee and ranged attacks. In the second semester they ported the game for mobile platforms, included an inventory with health potions and added gamepad support for the PC version.

Project page v2.
Project page v1.
Poster.

crazy-doom-dungeon
Computer Graphics Project
VR Stealth
Andreas Sepp
This project brings the stealth mechanics from the popular Hitman series into VR. Mr. Sepp has implemented several different weapons and stealth AI mechanics to give players a proper feel. You can teleport around and ambush guards in a high-security mansion. The game makes use of room-scale VR with Oculus Rift.

Project page.

vr-stealth
Computer Graphics Project

2017 – Spring

Reality: B
Kalle Ever
This awesome first-person puzzle games offers you not just one, but five different realities to explore. While portals have famously been used to travel between different locations in games, here Mr. Ever has created an interesting mechanic by having the portals be between the same location in different realities. There is about 1.5 hours of gameplay here to solve many different puzzles by using the rules and peculiarities in each reality: traps, missing walls, 0 gravity, slow time, moving platforms etc. The project was part of Kalle Ever’s BSc thesis and was improved in the Computer Graphics Project course.

Project page.
Poster.

reality-b
Computer Graphics Project
Vrena (Project Y)
Jens-Stefan Mikson
While Mr. Mikson started this project with an aim to create a spectacular looking star to be viewed in virtual reality, the project quickly grew into a multiplayer shooter game. The game features unique locomotion by ninja ropes and rocket jumps. It brings old Quake Arena style gameplay and aesthetics into the new VR platform. The working title Project Y was soon changed into Vrena, which nicely represents this action-packed multiplayer shooter game.

Project page.

vrena
Computer Graphics Project
Tribocalypse VR
Jens-Stefan Mikson
Mr. Mikson’s BSc thesis was about the design choices of the Tribocalypse VR game, which grew out of the Totem Games project. During about 1 year of development this project focused on research and implementation of game interaction mechanics in VR. In that time Mr. Mikson was the lead programmer and team manager for about 11 other game developers from APT GG who all contributed to this game. In the end the game included 3 distinct levels, 4 usable weapons and around 5 different types of enemies. The game is available on Steam since then. From the design analysis in Mr. Mikson’s BSc thesis, we also created the VR Game Development Guide for all VR game developers.

Thesis.
Steam page.

tribocalypse-vr
BSc thesis
sprv Raimond Tunnel

Tic Tac Toe Logic
Andreas Sepp
Mr. Sepp had previously created a very successful mobile puzzle game Logic Puzzle Kingdom. In this project he took one type of a logic puzzle based on Tic-Tac-Toe and created a new application solely around that. The project dealt with puzzle generation and different UI design choices suitable for a mobile game. A key aspect here was also to figure out how to keep players engaged in ever more complicated puzzles and provide a correct feeling of achievement upon completion of levels. The game is now available on Google Play.

Project page.
Google Play page.

tic-tac-toe-logic
Computer Graphics Project

2016 – Fall

Procedural Planetary Systems
Kalle Ever, Madis Kariler, Joosep Tenn
This simulation allows you to procedurally generate different planetary systems. The orbits and speeds are created to be physically correct, but you can scale them up via UI controls. There are different types of stars and celestial bodies, which all have their bases from actual astronomy. For example the planets with liquid water only appear in the generated star’s Goldilocks zone. Furthermore, this is all done in your web browser via JavaScript.

Project page.
Live.

procedural-planetary-systems
Computer Graphics course project
Post-Processing Filters with Gear VR
Lembit Valgma, Egils Avots, Rain Eric Haamer
Have you ever wondered how do color-blind people actually see the world? If you have a GearVR or Google Cardboard then this project allows you to experience just that. Students have implemented many different post-processing filters on a video feed from a Samsung smartphone’s camera. This result can then be experienced first-hand in VR with the corresponding device. In addition to color-blindness there are also your regular photo-manipulation filters like blur and edge detection. If you are looking for something really funky then try the custom filters created in this project like SinCity, Negative or Kaleidoscope.

Project page.

post-processing-filters
Computer Graphics course project
Complex Procedural Terrains
Jan Aare van Gent, Kerstin Äkke
Many procedural terrain generation algorithms just create a heightmap and then triangulate it. In this project a 3D function is created and the marching cubes algorithm is used to convert it into polygons. This allows for the creation of more complex shapes than just using 2D noise for a heightmap. For example in this project different caves, caverns and overhangs are procedurally generated. The project was made in Unreal Engine 4 with C++ programming.

Project page.
Poster.

complex-procedural-terrain
Computer Graphics course project
3D Dribbling Simulator
Anton Tšugunov, Richardas Keršis
Do you think dribbling a basketball is hard in real life? Wait until you try this game! The students created a neat new mechanic of dribbling a ball on a tight procedurally generated road. The whole game is built using directly the OpenGL API, the LWJGL library and the Java programming language.

Project page.

dribbling-simulator
Computer Graphics course project
Errors, Errors Everywhere!
Madis Vasser
In this VR project the environment changes when you move. Every action you take, makes the walls change color and location. The aim is to find out how people can solve tasks in an environment, which does not act like you would expect. So the players are given a goal to find 5 different objects inside an ever-changing maze and deliver them to a fixed location. This is all achieved without any teleportation and only uses the player’s own movement inside a room-scale VR area.

Project page.

dribbling-simulator
Computer Graphics Project
Ultimate Discgolf in Hyperspace
Tõnis Koppel, Aadam Kaivo
In this VR game you play discgolf. In space. The students researched and implemented different virtual reality mechanics for this sports game. The goal is to throw the disc to neighboring platforms in order to advance. You can only teleport to the disc itself. There is also a possibility to control the disc mid-flight. There are several different levels and a high-score. The students also create a level-editor, which they could use directly in VR and that made level creation a breeze.

Project page.
Poster.

ultimate-discgolf-in-hyperspace
Computer Game Development and Design course project

2016 – Spring

Procedural Land Generation
Andreas Sepp
During the Computer Graphics Project course, Mr Sepp created a part of his BSc thesis work on the topic of Procedural Land Generation. In this project an infinite Minecraft-like voxel terrain is generated and visualized. The landscape includes several biomes with different flora. The biomes are created via 2 layers of noise for rainfall and temperature. In addition to the biomes there are also water bodies in the landscape.

Project page.
Poster.

procedural-terrain-generation
Computer Graphics Project
Procedural City Generation
Kristjan Perli
During the Computer Graphics Project course, Mr Perli created a part of his BSc thesis work on the topic of Procedural City Generation. This project uses a relatively flat terrain to create a procedural city on. The first step is the generation of a road network, which includes primary and secondary roads. Next cycles from the road network are found and the area covered by them is divided into lots. Buildings are then generated and placed on the found lots. Depending on the distance from the city center, the buildings have a different type and size.

Project page.
Poster.

procedural-city-generation
Computer Graphics Project
Totem Games
Jaanus Jaggo
In this project Mr Jaggo created several different visual effects and features for the game project Totem Games. This project was made by a 9 to 11 member interdisciplinary team from APT GG. In the version Mr Jaggo was working on the idea was to create a multiplayer PC shooter game. In the end the game developed into a VR wave-shooter game called Tribocalypse VR, but that was another project lead by another student in the future. The visual effects and aesthetic style developed here by Jaanus Jaggo for Totem Games were a hallmark in the overall development process.

Project page.
Poster.

totem-games
Computer Graphics Project

2015

CGLearn
Raimond Tunnel, Jaanus Jaggo, Margus Luik
The learning environment CGLearn was initially created to incorporate the learning materials and support the course structure of a computer graphics course. The material is structured into modules, which include individual topics. Under each topic there are interactive JavaScript examples of computer graphics algorithms. The environment supports multiple submissions of homework tasks. It also collects students’ difficulty and time estimates and visualizes them for all the tasks. Each module also supports any number of flashcards for the students to learn the covered terms. Now the environment also holds materials for several other computer graphics and game development related courses.

Live for UT students.
Public live.
Poster.

cglearn
MSc thesis
sprv Konstantin Tretyakov, Anne Villems

2014

Kernel Density Estimation
Raimond Tunnel, Lauri Hämarik
Kernel density estimation is an algorithm for estimating a distribution based on a given data set. The estimation is done by summing together a number of smaller functions (called kernels) for each data point. The choice of a kernel and its width gives somewhat different looking distribution functions. There is also the Silverman’s approach for automatically finding the optimal width for a kernel. This application allows users pick one of 9 implemented kernel functions to show an estimated distribution of their data set.

Live.
Poster.

kernel-density-estimation
Data Mining course project
2D Nearest Neighbor Search
Raimond Tunnel, Anastassia Soikonen, Jordan Valdma
This interactive application visualizes spatial 2D nearest neighbor search algorithms. Users can add, modify, delete or generate a number of existing data points. Then the user can perform a search query and the application shows how many distance comparisons are done to find the nearest point to the query. There are 5 different algorithms used and visualized: a linear search, quadtree, K-D tree, RP tree and locality sensitive hashing.

Live.
Poster.

nearest-neighbour-search
Advanced Algorithmics course project