Hot Patching Running C++ Code
Sebastian Szuszkiewicz, MSc
The typical workflow of making changes to the code of a program is throttling the developers productivity as closing the application, rewriting code parts, rebuilding and restarting it consumes an unnecessary amount of time. The ability of patching code changes into the running process would alter the workflow and reduce it to simply rewriting code and saving the changes. This masters thesis shows one possible way of achieving code hot patching and describes every detail necessary in order to understand the whole process. Furthermore a thorough theoretical background chapter is given, which provides essential knowledge for the reader to fully understand all aspects of the implementation.
Real-time Dynamic Tessellation of a physically simulated Cloth Mesh in collision cases
Josua Kucher, MSc
Great strides have been made in the field of cloth simulation. From simulating cloth down to its fibers to accurate collisions with complex and detailed meshes. However, most of these techniques are very expensive to compute and can not be used in real-time three dimensional applications like video games. This thesis focuses on determining, if it is possible to achieve real-time capable cloth simulation including detailed collision with the help of the graphics hardware present in nearly every personal computer. By using tessellation supported by most modern graphics hardware, cloth should be dynamically tessellated on impact to provide increased detail.
Occlusion Culling Algorithmen
Martin Kernjak, MSc
Occlusion culling is an important technique to improve the rendering performance of complex 3D scenes. It works by not rendering models that are fully occluded by other models within the scene. This thesis examined two algorithms to perform occlusion culling. The first one being Software Occlusion Culling, which renders a separate depth buffer on the CPU. This buffer is then used to perform the occlusion checks. This algorithms was also heavily optimized using multi-threading and vectorization with SSE.
The second algorithm is Coherent Hierarchical Culling (CHC++). CHC++ utilizes the GPU's occlusion queries in tandem with the depth buffer from the previous frame to perform the occlusion checks. Issuing to many queries can have a severe impact on the framerate, because the results have to be copied from the GPU to the CPU. This necessitates some synchronization between the CPU and GPU which can cause low framerates, even on very powerful GPUs. CHC++ therefore, tries to reduce the amount of queries, that have to be issued to check every model in the scene, using spatial and temporal coherence.
A test scene was constructed to compare these algorithms. It contains 25000 models with 40000000 triangles in total. Every model is also used as an occluder.
The algorithms were compared based on their memory consumption and performance.
The test consists of a fly-through of the scene where certain parts have many occluded objects and some have almost none.
Multitasking using a job system with fibers
David Portisch, MSc
Job systems are used in game engines and games to utilize the CPU cores as well as possible through multi-threading. A new approach of implementing job systems with fibers was introduced by Christian Gyrling. Fibers, which can briefly be described as some kind of programmerscheduled threads, offer a new way to schedule dependent and waiting jobs in a job system. In comparison to a thread-based approach, waiting jobs can be resumed quicker in the fiber-based job system. Therefore, in this thesis a thread-based and fiber-based job system were implemented for the Windows and the PS4 platform. The performance of both job systems is compared in different scenarios and it is shown in which scenarios the fiber-based job system can offer performance improvements over the thread-based approach. Implementation details of both job systems are covered and it is illustrated how scheduling of the jobs in the two implementations differs. Furthermore, this thesis gives an overview over how fibers are used and what possible problems need to be taken into account when using fibers.
A Deep Learning Approach to Deep Language Understanding
Ivan Lazarov, MSc
Deep language understanding is a big problem for machines which, once solved, would lead to a massive qualitative increase in human computer interaction. Deep learning is a relatively new type of machine learning which might be well suited for this task. Once this problem is solved, it will lead to automatization of white collar tasks, thereby freeing human potential for new endeavours.
As a step in that direction, I built a deep learning system which tries to understand common sense structures and is able to predict upcoming plot points. I test this system with the new Story Cloze Test (Mostafazadeh et al., 2016). The system was able to beat 9/10 other systems, most of which did not use machine learning. This confirms that deep learning has the potential to solve deep language understanding and makes a case for future work.
Holography in Gaming
Martin Staudinger, MSc
Holography is one the most exciting ways to display digital content.
Unfortunately, it will take a number of years until the first truly holographic displays are available. However, since the gaming industry could most likely profit from these devices it makes sense to explore them even now. In this thesis, the Holoscope was constructed. The Holoscope is a projector that can display images that appear to be free-floating using a glass pyramid and it's reflections. All four sides of the pyramid can display individual images so it is possible to display up to 4 different viewpoints of a scene simultaneously.
Additionally, a framework for the Unreal Engine was developed which handles the realtime generation displayed images. This allows any content that is feasible within the Unreal Engine to be displayed with the Holoscope.
Beyond Good and Evil: Morality and Ethics in Video Games
Jöller Ajun Simorg, MSc
Ethics respectively morality is, consciously or unconsciously, a constant companion of human beings and a present factor in all of our lives. Moral issues subliminally influence our everyday actions and decisions, but are inadequately represented in video games.This work shows how morality can function as an instrument of game design and what principles and aspects have to be taken into consideration. To classify the different types of moral systems in video games and to show their different possibilities and peculiarities, a new framework is postulated and its suitability is ensured by an exemplary video game implementation. This video game is available online as "the fall of man".
Skin Segmentation using Color and Texture for Augmented Reality Games
Maria Schimkowitsch, MSc
Augmented reality games hold great potential for the gaming industry. Nevertheless, some technological obstacles have to be overcome before a convincing blend between reality and virtual content can be achieved. As recognizing objects reliably in real time is an important aspect, robust skin detection is an essential step. Unfortunately, skin and similar appearing materials like hair are difficult to differentiate. This thesis compares classifiers and combinations of classifiers with respect to their ability to recognize skin regions in images. Three colorbased classifiers are trained, tested and evaluated by their true positive to false positive rates. To check whether their detection performance improves, they are combined, in group as well as individually, with a texture-based classifier and re-evaluated. The classification methods include Bayes classifier, Support Vector Machine and Multilayer Perceptron. Four different color spaces provide color information, while four selected Haralick features quantify texture. Training sets are generated from a benchmark developed within the underlying research project. The experiments show that using the texture-based classifier improves the detection performance significantly since the false positive rate is reduced considerably, for instance from 28.30% to 14.32% for a Support Vector Machine. The best result is achieved by a combination of classifiers using a majority voting system, with an average true positive to false positive rate of 88.75% to 8.79%.
Challenges of a Game-Based Rehabilitation System at Home
Andreas Unterbrunner, MSc
In the last years the games sector produced many innovative low-cost technology devices in order to increase the level of immersion and thereby improve the game experience. These devices are, however, more and more used in other areas such as healthcare or education. This master thesis presents the development of a rehabilitation system, which uses Microsoft’s low-cost motion capture sensor Kinect v2, for supervised rehabilitation at home.
Therapy of injured people can take a long period of time. It is important to promote sustained motivation during long rehabilitation phases. A prototype was created that combines a playful approach with a proper gamification concept to ensure a constant high level of motivation for patients of all ages. It was designed to be used from patients as well as from therapists, as it uses a new method of verifying the correct execution of exercises with a two-step-procedure. In contrast to Kinect training systems on the market, this prototype considers the individuality of each patient, due to the fact that they have individual injuries and complaints. This rehabilitation system focuses on providing playful exercises with personalized feedback and an immersive game experience. In addition, an application framework was implemented in order to provide the possibility to add further exercises easily.
Life’s a Game – Applying Game Mechanics to real-world Activities through MR Apps in the Field of Travelling
Martin Teufner, MSc
With the rise of smartphones the whole digital world is always in one's bag. In recent years app developers try to use real world data to revolutionize already existing gameplay concepts or even to spark interest for everyday's life activities by using motivating game mechanics.
This thesis will take a look at the different forms and terms of Mixed Reality and how they are defined in common literature. After that the different types of real world data available on modern smartphones and possible as well as already existing gameplay concepts are discussed.
Finally a qualitative analysis of some well-known Mixed Reality apps and games will be performed with the research goal of finding suitable mechanics for Mixed Reality apps in the field of travelling. The conclusions will then be used to create a new concept for such an app.
Persuasive Games - a Tool to increase IT-Security Awareness
Lukas Branigan, MSc
Videogames are an expressive medium but still struggle for acceptance and are often perceived as a medium for children. Even though persuasive games is a relatively new field it already provides a very effective way of making learning based games persuasive. In order to create learning based games different models exist to support the game design process.
Moreover, to be able to raise security awareness it is very important for employees to participate in ongoing awareness trainings. These trainings need to rely on pre-defined information security policies (ISPs) which emerge as a key resource as employees are often the weakest link regarding information security.
This thesis provides a practical approach by means of creating a persuasive game which supports the process of information security awareness training.
Furthermore, results from an online survey highlight possible advantages of a game as an additional learning tool.
Implementation of Lossless Geometry Clipmaps Using File Streaming in Unity
Michael Brunner, MSc
Real-time terrain rendering has many applications, ranging from cartography and landscape planning to flight simulators and computer games. These terrains are often backed with huge datasets that are too big to get rendered with a brute force approach in real-time. They may not even fit into a computer's main memory as a whole. Classic level of detail methods that simplify separate object's geometry are not applicable to terrains as single large continuous surfaces.
Geometry clipmaps are a technique that was first introduced in 2004 by Losasso and Hoppe, and it gives a solution to both the storage and the rendering efficiency problem. It renders the terrain as a set of nested rectangular grids of different resolutions, which are centered about the viewer. These differently detailed levels morph into each other in order to achieve spatial continuity. Furthermore, it uses an advanced lossy compression scheme in order to fit otherwise too large terrains into main memory. In 2005, Asirvatham and Hoppe further improved on that technique by intensively utilizing modern graphics hardware in order to achieve even better performance.
This thesis presents an implementation of geometry clipmaps that builds up on these previous implementations. However, instead of lossy compression, it reads data directly from disk into main memory as needed during runtime, as it was already done before for texture clipmaps.This way, an as accurate as possible representation of the data is achieved and terrains of any size may be rendered, as long as they fit into disk space. In addition to this, a ray casting method for the terrain was developed, which is assisted by the data structure for rendering that contains different levels of detail. Finally, this technique was implemented in the game engine Unity in order to benefit from its features and so it can be easily incorporated in other Unity applications.
It has been shown, that streaming the terrain data from disk is a viable alternative to lossy compression. The implementation is visually incorporated in Unity as it interacts with the dynamic lighting and shadowing of a scene that may also comprise other rendered content.