Thesis Topics

If you can not come up with your own topic, here is a list of topics from us.

 

BLASTRONAUT

BLASTRONAUT

Supervisor(s): Jaanus Jaggo
Contact: jaanus.jaggo@ut.ee
Degree: BSc or MSc
Tools: Godot or web based solutions
Type: Software

BLASTRONAUT is a 2D mining game in a procedurally generated world that will come to early access this fall. It is developed by Jaanus Jaggo (Perfoon company) who will be both the supervisor and the client for this project. Try the game demo in Itch.io

There are several possible topics for a thesis:

  • Player-made content distribution
  • Logistics system
  • Swarm of enemies
  • Game content analytics and balacing
  • Matchmaking architecture and host migration

The exact goal and topic should be discussed with the supervisor.

You are expected to start working during the fall semester (from October) and provide useful features for the launch of the game. As a benefit, you will get part of the launch of an indie game, get to learn from Jaanus who has years of experience in game development.

Keywords: Software development, Godot, game development, game design, game marketing.

 

Virtual Godot Expo

Supervisor(s): Jaanus Jaggo
Contact: jaanus.jaggo@ut.ee
Degree: BSc or MSc
Tools: Godot 4, Blender
Type: Software

Godot 4 is an in-development game engine that will hopefully be released early next year. However, there are already alpha builds that are usable but not production-ready. Godot 4 is Vulkan based and will bring a lot of cool 3D features, like volumetric fog and dynamic GI. The goal of this thesis is to make a virtual expo, that shows off these features and also helps to market various Godot video games (including BLASTRONAUT). The end product should be similar to the Devolverland Expo but with less content. Godot game developers whose games will be displayed are likely to help with content as well!

Keywords: Software development, Godot, game development, exhibit design, game marketing.

 

Godot engine development

Supervisor(s): Jaanus Jaggo
Contact: jaanus.jaggo@ut.ee
Degree: BSc or MSc
Tools: Godot 4, C++
Type: Software

Godot is an open-source game engine that is quite amazing but is still having some parts that need improvement.

  • Refactoring support for GDScript language server
  • Support for profiling really large projects
  • Node editing in VSCode integration

Improving the engine can be difficult but also rewarding.

Keywords: Software development, Godot development, Godot engine.

 

Delta TV Art Exhibit

Supervisor(s): Ulrich Norbisrath
Contact: ulrich.norbisrath@ut.ee
Degree: BSc or MSc
Type: Software

The Delta building has several big TV-s around. These TV-s will get a RealSense SR305 depth camera attached to them. In this topic you can design and implement an software solution, which uses the depth information to show something cool and artsy on the TV. It can be a game or an amazing visualization. This is quite an open-ended and creative topic.
The experience and skills you get from doing this topic depend largely on how you scope it. In any case you get the experience of working on a real exhibit. For inspiration here is a video of an existing exhibit in the Mektory Center that interacts based on the viewer’s movements.

Keywords: Software development, exhibit design, RealSense SR305, depth camera.

 

Multiple Sphere Collider Approximate Fill for Complex Meshes in Unity

Criffin

Supervisor(s): Ulrich Norbisrath, Ingmar Trump
Contact: ulrich.norbisrath@ut.ee, ingmar.trump@criffin.com
Degree: BSc
Type: Independent Study

Criffin is an Estonian company who develops virtual reality solutions using the Unity game engine.
Most objects in games need some sort of physics collider for the physics systems to work properly. Performant physics objects are sphere, capsule and cube colliders. Mesh colliders are considerably slower and also less functional. For example, it can be really difficult to figure out if one collider is inside of a mesh collider or not, especially if the mesh is non-convex. It is almost always better, if a complex mesh can be represented by primitive colliders.
An algorithm should be made that fills any given closed mesh with a minimal amount of sphere colliders to achieve a good enough approximation. Close mesh means that there are no holes in the mesh, each edge has exactly two polygons connected to it. This means that there is a clear inside and outside for the mesh, and volume could be calculated. The algorithm should be able to work on non-convex meshes too. Limiting parameters should be exposed to control what the algorithm focuses on. For example, how many sphere colliders are allowed to be used, how much the volume or surface height is allowed to deviate or how much time is allowed for the calculation.

Keywords: Collision detection, sphere colliders, mesh approximation, concave mesh, Unity.

 

Floating World Origin in Unity

Criffin

Supervisor(s): Ulrich Norbisrath, Ingmar Trump
Contact: ulrich.norbisrath@ut.ee, ingmar.trump@criffin.com
Degree: BSc
Type: Independent Study, Software

Criffin is an Estonian company who develops virtual reality solutions using the Unity game engine.
With large enough numbers, it gets increasingly more difficult to keep track of small changes. To keep track of these small changes, more memory and computational power are needed. Unity uses 32-bit floating point numbers for position data. This means that about 10km away from the world origin, small 1mm details start jittering around. Hundreds of km out, the jitter can make the game totally unplayable. At these distances, physics would start failing too. Converting everything in Unity to 64-bit floating point numbers seems near impossible, it is something Unity has to do themselves.
A convenient system to enable floating world origin for a game. It is a problem solved in some games and game engines, but there do not seem to be any good solutions for Unity. The obvious difficulties are with shifting all the objects around in the world and making sure the physics keeps working consistently. The less obvious problems are with level editing, as the floating origin system might have to work for the scene view too. The system should not rely on changes to every single prefab and scene object to enable the feature. That is too much extra work for anyone trying to integrate the system into their project.

Keywords: Floating-point precision, dynamic world origin, Unity.

 

Stylized 3D Motion Blur

Artineering

Supervisor(s): Ulrich Norbisrath, Santiago Montesdeoca
Contact: ulrich.norbisrath@ut.ee, santiago@artineering.io
Degree: BSc
Tools: Python, GLSL/HLSL, Flair, Maya
Type: Review, Software

Artineering is a company in Tallinn specialized in real-time stylized rendering of 3D animation. They want to incorporate new art-direction tools within their stylized engine, while nurturing talent to potentially expand their team.
Your task will be to survey state-of-the-art real-time motion blur algorithms and implement them in Flair. The review and implementation will give you the experience necessary to later expand your work creatively and develop your own stylized motion blur effect. You will be working mostly with shading languages such as GLSL/HLSL and will also need to modify some things with Python using Flair ether as a standalone or as a plugin for Autodesk Maya.
This project is ideal for Bachelor students looking into learning and expanding their knowledge about shader languages and image-processing. A positive outcome of your work will be integrated into the Flair shader library to be used in production worldwide.

Keywords: Computer graphics, post-processing effect, motion blur, art tool, Maya.

 

3D Stylization with Signed Distance Fields

Artineering

Supervisor(s): Ulrich Norbisrath, Santiago Montesdeoca
Contact: ulrich.norbisrath@ut.ee, santiago@artineering.io
Degree: MSc
Tools: C++, Python, GLSL/HLSL, Maya
Type: Independent Study, Software

Artineering is a company in Tallinn specialized in real-time stylized rendering of 3D animation. They want to incorporate new art-direction tools within their stylized engine, while nurturing talent to potentially expand their team.
Your task will be to ideate and develop an art-direction tool based on signed distance fields that will empower artists with the ability to stylize 3D renders using volumes in space. You will start with a primitive spherical volume, to later explore ways of expanding the work towards more complex representations that can be intuitively created by artists in real-time. You will be working with and learning C++, Python and shading languages (HLSL/GLSL) within the MNPRX plugin for Autodesk Maya.
With a strong reliance on mathematics, this project is ideal for an engineer with strong math foundations, that is interested in novel mathematical applications for user experience and interaction in 3D graphics.

Keywords: Computer graphics, stylized rendering, signed distance fields, art tool, Maya.

 

Making a Hyper-Casual Game (taken)

Joyixir

Supervisor(s): Daniel Nael
Contact: daniel@joyixir.com
Degree: BSc or MSc
Tools: Unity
Type: Software

Joyixir is a hyper-casual mobile video game development company located at the Delta Entrepreneurship building. Their main focus is on designing concentrated gameplay loops that everyone can enjoy. Joyixir values international development teams.
Hyper-casual is one of the main genres of mobile games. They are popular because they are lightweight, easy to play, and usually free-to-play. The goal of this thesis is to study the game design of hyper-casual games, implement a hyper-casual game and finally test the game with a publisher. The exact goal and topic should be discussed with the supervisor.
During this thesis you get the skills to develop and pitch to a publisher your own hyper-casual game in collaboration with an experienced game studio. This topic is suitable for several students who each develop their own hyper-casual game.

Keywords: Software development, Unity, game development, game design, hyper-casual.