About Me
Hello, I am Noah, and I am currently working as a software engineer at IT 24/7 Solutions GmbH. In my free time, I designed and programmed several smaller games, prototypes, tools and the beginnings of a custom game engine. More details about each project can be found below.
Creating games is my passion. Being part of the entire development process, from the initial spark of an idea to seeing people play the finished game is exhilarating to me. I love to experiment with new concepts and technologies to improve myself and the quality of the projects I work on.
Creating and developing games should never be a solo act. Games thrive from the creative ideas of each team member and the fact that everyone puts a little bit of themselves in every game they create.
These are the tools I used when making projects collaboratively:
- Jira, Trello
- Google Drive, Google Docs
- GitHub and a self-hosted git server with Gitea
I started programming in 2015 during high school and have never stopped since. I know that I am not perfect but I am constantly trying to improve wherever I can.
Through the projects, I have gained experience in:
- Languages: C#, C++, Java, MySQL
- Engines/ APIs: Unity, Unreal Engine 4, MonoGame, libGDX, DirectX 11
- Software: Visual Studio, Git, FMOD Studio
Life is just like one big video game and even though I will not get a 100% completed run, I am trying my best to grasp every opportunity I can. After finishing school, I went on a one year work and travel trip to Japan. Living in a completely different culture broadened my outlook in life and made me want to live in as many different countries to learn more about their culture and how I can improve myself.
Apart from playing video games, I love to self-study Japanese and go rollerblading from town to town.
Project Highlights
Virtupad
- Team size: 2
- Role: Sole Developer
- Development Time: 9 months
A tool for VTubers to create 3D videos or live streams in VR. This project was made for my bachelor’s thesis.
Biggest Challenge: First VR project and no prior experience in inverse kinematics.
- Responsible for the design, code, and integration with plugins
- Implemented procedural animations for the user’s avatar with inverse kinematics based on the user’s VR headset, controllers, and up to three tracking points
- Created an interaction and UI system for VR
- Produced a video with the software which gained an overall positive rating based on a survey with 100 respondents
Willow Tree
- Team size: 10
- Role: Lead Developer
- Development Time: 6 months
A puzzle adventure game in which the player must solve puzzles to uncover the backstory of an old, abandoned orphanage.
Biggest Challenge: No developer had any experience in developing for the unreal engine.
- Managed the communication between the design, programming, and sound department
- Responsible for the code infrastructure which led to the making of a tool in which the game flow and game events could be restructured in a node-based editor
- Additionally responsible for the implementation of the NPC ghost Christa, saving and loading, the UI, UI widgets, UI menus, animations, and animation controllers and everything related to sound and music
- Maintaining the git server and providing solutions for issues such as the occurrence of merge conflicts
- Analyzed and documented solutions to common problems team members had about the unreal engine, git or planning
Run and Gun
- Team size: 2
- Role: Developer
- Development Time: 12 months
A 2D multiplayer rogue-like dungeon crawler game with a focus on modularity.
Biggest Challenge: First-ever multiplayer project in Unity.
- Responsible for the infrastructure, netcode, base AI system, and sound
- Created a weapon system that functions as a pipeline to shoot bullets. Every aspect of the pipeline can be switched out which makes weapons highly modular and customizable
- Implemented smaller in-engine tools to optimize workflows and mitigate merge conflicts on custom assets
Rhygine
- Team size: 1
- Role: Sole Developer
- Development Time: 8 months
A custom-made C++ game engine using DirectX 11.
Biggest Challenge: No prior experience with the rendering pipeline and the first proper C++ project.
- CMake was used for the compilation process and to make certain parts of the engine modular
- The engine utilizes the Win32 API and DirectX11 to create and render to a window
- Implemented an entity-component system, 2D Sprite, and 3D model rendering system and UI-management system
- Additional features like the importing of 3D models and a physics engine were implemented via third-party libraries
Project Naga
- Team size: 6
- Role: Developer
- Development Time: 3 months
A puzzle-adventure game where the player must solve puzzles to progress from world to world.
Biggest Challenge: Very limited time frame for the required features and polish.
- Responsible for most C++ code and blueprints such as the infrastructure, the ring-puzzle mechanic, and everything related to sound
- Designed and fully implemented the ring-puzzle mechanic myself, where the player must rotate rings around to form a path that a ball takes to get from an input to an output. Alongside the paths, there are additional elements that further complicate the puzzle
- Responsible for maintaining the git server and providing support for any questions related to the unreal engine or git
Behaviour Tree Editor
- Team size: 1
- Role: Sole Developer
- Development Time: 3 months
A custom build Unity-Editor in which complex behaviors can be modelled via nodes.
Biggest Challenge: No previous experience in writing custom editors for Unity.
- Implemented a method for new nodes to be added via code which is automatically detected by the Behaviour Tree editor if Unity has recompiled
- Behaviour Tree objects are serialized via scriptable objects which can then be assigned to any number of game objects
- During play, the Behaviour Tree editor changes to a read-only mode in which the state of any game object can be observed in the Behaviour Tree editor and breakpoints can be set for debugging purposes
MonoNet
- Team size: 3
- Role: Lead Developer
- Development Time: 6 months
A custom networking solution built from the ground up for the game development framework MonoGame with a small test game.
Biggest Challenge: No prior experience in MonoGame and UDP networking.
- Responsible for the initial networking concept and most of the implementation
- Implemented an entity-component system for the management of game objects and implemented a method for importing and rendering maps made by the tiled program
- Managed the other developers on the project by assigning tasks and helping when issues or problems arose
Rhyth's Unitychan Brawler
- Team size: 1
- Role: Sole Developer
- Development Time: 6 months
A turn-based strategy game where a mix of 2-4 players or AIs fight to be the last standing team.
Biggest Challenge: First Unity project with no prior Unity experience.
- Responsible for the entire design and implementation of every aspect of the game
- The project won the SAE Semester Showreel for the best first-semester programming project
Java Twitter API
- Team size: 1
- Role: Sole Developer
- Development Time: 3 months
A Java-based webhook that receives Twitter events via the Twitter-API and saves them to a MySQL database.
Biggest Challenge: Understanding and working with the Twitter API.
- Responsible for designing and maintaining the MySQL database that was used to store all Twitter events
- Implemented custom tools that could generate reports based on the writer’s wishes to optimize Tweet engagement
- Responsibility of managing the Linux Server that was used to host the webhook
Contact Me
Most images are from Game-icons.net.