Computer Graphics Theses 2016

In the University of Tartu’s Institute of Computer Science we had several computer graphics related theses this June. Some students were inspired by the Computer Graphics course and some did parts of their work during the Computer Graphics Project course.

Here are short descriptions on few of them.

Procedural Land Generation by Andreas Sepp

Andreas has created a very amazing Minecraft-like land generation algorithm. He researched different noise generation algorithms (MDA, value, gradient, Perlin, simplex) in order to find the best one for the heightmap of his land. Ultimately he used Simplex noise for the initial heightmap, rainfall and temperature. Based on the last two he created different biomes in a Voronoi diagram. Based on the biom type the actual height of the land is then modified. Heights on the edges of biomes are blended together smoothly.  Lastly the vegetation is also placed using noise and biome type.
Procedural Land Generation by Andreas Sepp

Procedural Generation of Cities by Kristjan Perli

Kristjan researched 3 different procedural city generation algorithms described in his thesis. Then he decided to take the good parts from each of those and design his own city generation algorithm. Roadmap generation is done in two steps: First the main roads are generated by connecting population dense regions, creating also bridges if necessary. Secondly, streets are generated aside the main roads also based on the population density. Then loop finding algorithms are applied to create plots for buildings. The buildings themselves have a varying height and structure based on the population density. Shape is determined by the plot’s shape. Finally different textures are mapped and applied on the buildings. This entire thing works in a web browser in JavaScript with the Three.js library.
Procedural City Generation by Kristjan Perli

Tutorial for Making a Game in Unreal Engine 4 by Thomas-Bairam Toodo

Thomas was keen on advancing the game development industry in Estonia. Because of that he created a learning tutorial for one of the most popular game engines: Unreal Engine 4. The tutorial itself is in Estonian because it is meant for students and learners who might not understand English enough to follow many other already existing tutorials on the web. In the tutorial there are many components of Unreal Engine 4 covered, mainly: Level Editor, Material Editor, Blueprint, Matinee Editor, UMG UI. Thesis also provides a number of Estonian translations for UE4 specific keywords. During the tutorial the learner creates a small 3D TPS platformer game.
Unreal Engine 4 Tutorial by Thomas-Bairam Toodoo

Programming Patterns in Computer Games Course by Margus Luik

As games are usually quite code-wise large software projects, programming them neatly is very important. Margus created an entire 3 ECTS credits course do teach just that. In that course many programming / design patterns are covered and students learn how to use them to solve programming problems in a good fashion. Most of the work in the course devised by Margus is done on the same Unity project and in the end students implement several cool features in that game project: movement, command recording and replaying, Snake-game-like following, teleportation, procedural level generation etc. So if you have ever felt like you are not skilled enough in programming to actually develop a larger game, then the course developed during this thesis work might just be for you.
Programming Patterns in Computer Games by Margus Luik