Here are some of my skills I am interested in using in projects.
Here is a list of projects I have been working on
This is a hobby project I started to study C, C++, modern OpenGL, and various rendering techniques like for example: Deferred shading, Physically Based Rendering, Tiled Forward rendering, post processing effects and more.
Technologies: C++, Lua, OpenGL 4.0, ImGui, Nuklear, Qt 5+
A little throwback to old CRT monitors and good old snake.
The broken tv effect gets stronger the more apples the snake eats.
Play by pressing the arrow keys
This is a game I developed at Gamewheel for Burger King Germany, when they decided to promote the addtion of hot dogs to their menu. The game concept builds on top of the catcher game, where you have to collect certain objects and avoid obstacles. You are playing a hot dog saussage and have to collect Burger King coins and avoid various obstacles.
If you play the game on desktop you can control the player with the arrow keys on the keyboard or alternatively with the mouse. On mobile phones the player is controlled with the gyroscope by tilting your phone in the desired direction.
Working in the feature team developing new game features like blockers among other,
meta game level features.
GL Process is an open source tool which enables image processing on the GPU via OpenGL pixel shaders. It allows the user to write own customized shaders in GLSL and use them to process images. With this ability users can extend the feature set of the application to their needs.
Technologies: Java, OpenGL, GLSL
Gamma is a 2D “Jump ‘n’ Run”-Game with a reduced graphics style. It features a dynamic physics engine, which is based on the „separating axis theorem“. The player has to navigate the character through various levels and make use of the physics engine to his advantage to reach the end of each level.
This project was made in the context of the „Computer Science 1“-Module. My tasks consisted of implementing the physics engine, gameplay mechanics and a way to create levels.
Technologies: Java, OpenGL
This is a campaign I have been working on at Gamewheel for Hugendubel. It consists of three games, a quiz game, a memory game and a crosswords game, which are linked together by a common highscore list.
MF Breadcrumbs is a 2.5D “Jump ‘n’ Run”-Game, which allows the user to create custom levels through the import of photographed or scanned drawings. It features a 3D environment, deferred shading model, post processing effects, and the usage of Ruby as a scripting language.
The project was part of the „Visual Computing 1“-Module, which is based on the contents of computer graphics and image processing lectures. I worked on the following aspects of the project: Engine, shaders, deferred shading pipeline, and level editor.
Technologies: Java, OpenGL, GLSL, Matlab, Ruby
The creation of this software system was the topic of my bachelor thesis. The program is an all in one solution for execution, debugging and recompilation of shader source code in real time. It allows the users to manage the input of shader parameters via a dynamically generated graphical user interface.
The goal of the application is to teach students how lighting and shading changes, if certain parameters in the source code are modified. The GUI is created from the shader source code itself, without the need of using a different syntax other than GLSL.
The program enables the user to write shaders in GLSL and view the source code and variable changes live in the corresponding viewport. Source code changes are automatically detected by the system and recompiled, so that there are no further actions required by the user to rebuild the GUI or reload the shader. Variable values of primitive data types like float, vec2, vec3, etc., can be read out from the running program on a per pixel basis. To do this the user can switch into a separate GUI subwindow and view the results.
Technologies: C++, OpenGL 4+, GLSL, Qt 5+
mathgasm is a compiled WebAssembly module written in C++ focusing on fast floating point math for game development.
It does not use SIMD, because when I was writing it mainstream versions of browsers did not support it.
Down below you find my cv.
It is separated into two sections: Work expierence and education.