Game Programmer

Unannouched Project

Worked on an unannounced project with a team of 35+ as a C++ Gameplay Programmer Intern. I was responsible for implementing new gameplay systems and features within the in-house custom engine. I have worked closely together with designers and artists to implement their requested features.

Was a major contributor to porting and integrating gameplay interfaces using the Noesis GUI pipeline. Supported the engine development by extending the Noesis pipeline and writing small command-line programs. I have worked from the office and remotely due to the covid-19 situation.

Position:

C++ Gameplay Programmer Intern

Company:

Triumph Studios

Duration:

September 2020 - June 2021

Team Size:

40+

Technologies:

Platforms:

TBA

Extended and implemented new gameplay systems

During the duration of the internship, I have assisted with extending gameplay systems and implementing new gameplay systems. Part of this was fixing reported bugs, improving and refactoring legacy code, and using productivity tools such as Visual Assist X and FastFind.

Feature requests would originate from game designers, game test sessions, or internal feedback. The tasks I worked on were in collaboration with designers, artists, and QA testers.

All my contributions were done using the custom engine and tools pipeline the studios work with. My goal was always to intergrade my code to be indistinguishable from the other contributed code. And deliver code that is self explaning, and easy to read using the coding standards set.

Setup interfaces using the Noesis pipeline

I was a major contributor to the transition from the legacy interface pipeline to the Noesis pipeline. During the phase, I implemented around 40% of the existing interfaces to the new pipeline.

The process consisted of taking relevant code from the legacy codebases and refactoring the code following the new standard. New UI Element classes and windows were created by me to port the code and keep the functionality consistent.

After finishing porting an interface, I tested the functionality extensively, comparing the old legacy with the new integrated version. Ensuring the transition was successful and thoroughly done.

Assist the game architecture team

As I am interested in expanding my game programming knowledge, I requested to help out with implementing game architecture related tasks during my internship. These tasks were discussed with the stakeholders, producer(s), and my supervisor.

Example 1: Writing a C# Program to read localization data from XAML files and export the finding with file references to a file to be used directly within the C# codebase.

Example 2: Implement C# Sound Playback to be set up within XAML styling properties and triggered using the engine's sound system.

Doing the internship during the COVID-19 pandemic

After only one month of working in the office, everyone had to start working from home due to the pandemic, this was the case until the end of my internship. It was essential to keep up communicating well and to keep focused during this time.

While working at home, I set goals for myself to improve on these topics. At first, I had difficulty remembering what was said during meetings. I solved this by making detailed notes and sub-task breakdowns. This allowed me to ask important questions up front rather than later.

To keep my focus and mind healthy I started taking more consistent short breaks of 10 minutes after every two hours passed. During these breaks, I walked around and put my mind on something else. This helped to keep my focus throughout the day.

Keeping an overview of tasks requirements

At the start of my internship, I got feedback from colleagues that I often had to come back to gather information previously shared. At first, I expected myself to be able to take in and remember all relevant information about a task I received.

I set myself a goal to improve this as I wanted to become more reliable and independent while working. My solutions were simple yet effective, I started taking notes of information relevant to my task before and while working.

If the task consisted of many changes, I made a checkbox list of each sub-task with debug information to understand the context. These solutions helped me become independent, be more thorough, and most importantly be reliable when receiving information from others.

Contact me!

Website created by Jesse Roffel.