Jonathan Hamling
Game Programmer
Mercy for Machines was my first foray into large-team design and development. I was asked to lead Tech alongside an amazing Art Director, Producer, and Design Lead, and we put our best foot forward to make a great game. Developing a game alongside artists adds complexity I wasn’t aware of, and led to many great lessons that I have used moving forward. My goals were: To work alongside artists and sound designers. To develop a unique UI that represents their artistic vision. To learn to delegate technical tasks and maintain workflow.
Learning to develop UI in Unreal was an interesting challenge. When I began, it was more of a time sink than anything; as I had finished – alongside our other programmers – developing the initial prototypes needed for artists to have a visual backbone for them to begin, I thought about our concept of a 20th century theocratic communist lab led by a machine god. I found that the premise didn’t make sense without computers. To test my understanding of Unreal Engine – I began to create an in universe terminal. I found examples online of simple message terminals but I wanted to see if I could design an actual prompt / response terminal.
What began as a testing ground for me quickly became something the team thought was cool. Soon I was tasked with developing it further into something interesting that could represent the game. As I was now the only member with UI experience I was also asked to develop the other UI requirements, such as the main menu and pause menu. There were a lot of niche rules when it came to UI, and I found the biggest one revolved around attempting diegetic UI.
When designing the UI for the main menu, in-game terminal, and pause menu, my team’s artists and designers felt that Diegetic UI would allow players to feel like they were a part of the world from start to finish. I developed it with that in mind. Diegetic UI in Unreal 5 however isn’t as well supported as UI in Unity and I found myself learning shader rolling, trying to bend the UI, etc to get the effect we were going for. Ideas like warping glass in front of the flat UI element and art made assets to offset how it is interpreted in 3d space could have well worked but with limited time, due to other classes, deadlines, etc. we kept it with minimal art budget. I am proud of the result, and I hold it as my first real gem in Game Development.
Game Development!
Networking!
About me!