Who am I? 😱
Hi, I'm Patrick, a creative and professional programmer with over 7 years of experience. My primary focus is on network and tool development, where I find the perfect blend of challenge and reward.
more about me!
☝🏼HighLight💡 Projects
"Over the years i built plenty projects for learning as well in companies!"
Here are some of my highlights!👀
🎮Game Dev Tools🔨
"I also find my passion in creating some tools ⚙️So I started to sell some of them!" 💵
Because Tools can take your development process to the next level! 📈
Other Stuff🧐
"Next to my Projects, Game Jams are very welcome for me.
And there is so much more off side of game development what i am doing" 💪🏼
🎮Game Dev Wiki📄
"I wanna build up a simple wiki what i learned over the past years in the games Industrie. Take a look at!"
Start your own Journey! 👈🏼
Get in Touch and say Hi!👋🏼
Highlight Projects
Top Down Horde Shooter
Disco Gunner (WIP)
Multiplayer First Person Horde Shooter
Project CP
Professional Projects
Online Meet together for Gamescom 2020
Indie Arena Booth Online
Small Projects
SAE Game Jam - 2024
Wake Up
Global Game Jam - 2024
Bouncy Kingdom
SAE Game Jam - 2023
Travel Through Time
SAE Game Jam - 2022
MARkus Movers
Global Game Jam - 2019
Catch your memories
Game Dev Tools
Dynamic Difficulty Adjustment Tool
Balance It (WIP)
Debug Logging Graphical Tool
Graph It (WIP)
Pooling Tool for Unity
Pool It
About me
Skillset
over the years i learned alot and there is still so much to learn. But here are some skills, that i built up in the past:Languages:
C#, C++, Python, LUAVersion Control Software:
Unity Version Control (Plastic SCM), Github, SVNProject Management Tools:
Trello, Jira, YouTrackSoftware:
Jetbrains Rider, Visual Studio, FMOD Studio, TeamCityEngine:
Unity, Unreal Engine 5
Badge
Working Experience
SAE Institute Frankfurt
Head Instructor Games Programming
Aug 2021 - todaySupervisior Games Programming
Nov. 2020 - Juli 2021As Head Instructor for the Games Programming area, I lead the department, which is largely composed of organization, management, development of the program, teaching and technical support. A detailed list of duties is available below.Personal Highlights:
My first course, which I supervised from the beginning, won the first SAE Student Award in Frankfurt in 2022, for the best games programming project from all SAE sites.Subject-related assignments with the student:
- Main lecturer for the practical classes at the Frankfurt campus.
- Lecturer for theoretical lessons GSA* wide
- Technical support for students
- Support on student projects
- Technical support for bachelor topics
- Performance evaluations of students
- Conducting workshops and seminars
- Technical support of project work
- Contact person for interested visitors at the Open CampusOrganization
- Planning of the course development of the department GSA* far
- Planning the schedule and content of practical classes
- Planning and organization of local events (Game Jam etc.)Management
- Assignment of tasks to the departmental assistants
- Contact person for academic and subject-related questionsAdministrative tasks
- Maintenance of student data
- Planning and expansion of social media activities* (Germany, Switzerland, Austria)
SUPER CROWD ENTERTAINMENT GMBH
Unity Developer
Oct. 2020 - Sept. 2020Products Working on:
Indie Arena Booth Online 2020Course before the realease of the Indie Arena Booth 2020 for Gamescom, Supercrowd has been looking for support to get the project ready in time for Gamescom.
Responsibilies include:- Bug Fixing and Troubleshooting: Identified and resolved issues on the platform to ensure smooth event operations.- Functionality Testing: Conducted tests to verify that all features were functioning as intended.- Documentation: Provided detailed documentation of identified bugs, tests performed, and solutions implemented.
Schenker Deutschland AG
Unity Developer
Oct. 2019 - Sept. 2020Products Working on:
- VR Kleinpack
- VR Großpack
- VR Casino
Responsibilies include:- Developing New Game Features: Implement and integrate new features into the game to enhance the overall player experience.- Collaborating with Game Artists: Work closely with Game Artists to ensure a seamless integration of visual and gameplay elements.- Expanding Internal Editor Tools (Kite): Enhance and optimize internal editor tools, particularly "Kite," to improve game flow and development efficiency.- Debugging and Problem Solving: Independently debug and fix issues to ensure smooth gameplay.- Creating and Documenting Bug Tickets: Identify bugs, create detailed bug tickets, and document the issues and their resolutions.- Level Content Creation: Design and populate game levels with engaging content to provide diverse and exciting player experiences.
Project CP
Project Type: Private
Role: Project Manager | Programmer
Teamsize: 2 Programmer | 1 Artist | 2 Audio
Duration: 6 month
Tools: FMOD, Jira
About
Project CP was developed in the third semester at SAE Institute. As the Project Manager, I was responsible for organizational tasks such as meetings, sprint planning, and maintaining tools like Jira. Additionally, I developed the core functionalities of the project, handled AI development, and managed network functionality. The project began with two programmers, and later, an audio creator and an artist for level design joined the team. Through this project, I gained extensive knowledge in network programming and cross-disciplinary communication.
Project Management
Ueber das Projekt habe ich mich um Projektmanagement und auch DevOps gekuemmert. Prozesse in der Spieleenteicklung sind mit Tools wie Jira oder auch Teamcity deutlich einfacher geworden. Wir haben automatisierungen und auch Unittests, die automatisch ausgefuehrt werden, um eine Basis QA zu besitzen. Besonders in kleineren Teams kann das zu beginn bewaeltigend sein, jedoch ist der benefint im Anschluss deutlich groesser.
01.
Gameplay
The game starts in a lobby, where you can assemble your equipment. When you're ready to start a round, you can either create your own lobby or join a random lobby via Quickplay.Once the game begins, your goal is to protect the Hangar Console. Enemies will spawn in waves and attempt to capture the console.If you are defeated by an enemy, your teammate can revive you. If your teammate defeats the wave, you will be automatically revived.There are two types of enemies: Soldiers and Drone Bombs. When you defeat these enemies, they drop their weapons, which you can pick up. They may also drop Healthpacks that you can collect.The game is won when all waves are defeated!
02.
AI Behaviour
In unserem Spiel haben wir Test
03.
Networking
Das Speil sollte natuerlich auch ein netzwerkfunktionalitaet besitzen. Besonders zum lernen sind solche Projekte wirklich hilfreich. Ich hatte zwar in der Vergangenheit, bereits mit Sockets selbst eine kleine Netzwerk Chat geschrieben und bereits ein kleiner Multiplayer Shooter (Authoritive) mit Photon Bolt umgesetzt. Jedoch war dies ein Coop Shooter. Um mich weiter einzubringen habe wir uns dann mit Photon Pun 2 auseinandergesetzt. Die Struktur besteht aus einer Non Authoritve Setup, was fuer einen kleinen Coop Shooter vollkommen in Ordnung geht.Inventory/Item Display
weapon Shot Detection
AI Simulated on Master Client
Inventory System
Für die Synchronisation des Inventars sind folgende Bedingungen wichtig:- Es muss nur die ID des Items aktualisiert werden, das sich gerade in der Hand befindet.
- Beim Aufheben und beim Wechseln der Waffe muss die neue ID synchronisiert werden.
- Es muss lediglich die Waffe für das 3rd-Person-Modell aktualisiert werden.
- Sobald ein neuer Spieler dem Spiel beitritt, muss die ID initial einmal an diesen Spieler gesendet werden.
04.
Recoil Pattern Tool
For our weapons, I developed a Recoil Pattern. To make this pattern more comprehensible, I created a tool that allows for precise visualization of how the weapons behave in a recoil pattern. I intentionally chose not to use a procedural spray pattern for this project, enabling quick and easy adjustments to the recoil pattern.UsageWith my tool, I can easily add new points, adjust tangents, or delete points. Each point can be moved afterward, except for the "Root" point. However, the tangents of each point can be individually adjusted.Technical DetailsThe tool is built on a custom spline system that allows me to move points via drag-and-drop. Tangents can be displayed to fine-tune the curve. The spline curve is then used to generate points necessary for the recoil during runtime.A key feature is the proper placement of tangent points when creating new points. To ensure consistent results, I align the tangent in the direction of the second tangent of the previous point.
05.