Ferri de Lange on building a custom engine and tackling rendering challenges

Ferri de Lange on building a custom engine and tackling rendering challenges

02/19/2025 - 15:53

Ferri de Lange, a third-year student in the Creative Media and Game Technologies (CMGT) programme with a focus on graphics programming, is working on an ambitious year-long project. As the lead programmer, he and his team are developing a first-person shooter from scratch using a custom-built engine in C++. In this interview, Ferri shares insights into the project, the challenges faced, and his aspirations for the future.
Games
  • Stories
  • Student work

What was the assignment for this project? 

Ferri: ‘In our third year, we work on a year-long project. One of the options we can choose is a custom tech project, specifically designed for programmers. The goal is to create a custom game engine optimised to run on the Steam Deck at 60 FPS. This requires careful optimisation, making efficient use of resources and algorithms.’ 

‘We are developing a first-person shooter set in an 1800s gothic-style environment. Our focus is on a small gameplay loop where the player eliminates waves of enemies to increase their score. Throughout development, we use the game Voidborn as a reference to help guide our direction.’ 

How has the development process unfolded so far? 

Ferri: ‘In Block A, we focused on setting up the custom engine, development pipelines, and researching technology we wanted to use. By the end of that phase, we had a basic engine with a solid graphics foundation. This included a simple deferred rendering pipeline, GPU-driven rendering, 3D model loading, UI, shadows, PBR lighting model, and more.’ 

‘In Block B, we worked on core engine features to support gameplay mechanics. To achieve this, we implemented a scripting language, making it easier for designers (and ourselves) to implement gameplay features. We also extended the engine with features such as physics, integrated profiling, particle systems, animations, and more. All to prepare for creating gameplay in the next block.’ 

‘Now, in Block C, we are implementing gameplay features while maintaining and improving the engine. We collaborate closely with our designer, who created the design document and level block-outs. As a team, we are working closely with our engine and tools to develop the gameplay features. Our goal for this block is to create a demo for Steam.’ 

Tell us about the game 

Ferri: ‘As we are still in pre-production, the narrative is evolving. The main idea is that the player takes on the role of an 1800s plague doctor battling gothic creatures like demons and rats inside a cathedral.’ 

‘Gameplay-wise, it is a first-person shooter where you use a revolver to eliminate enemies. The more enemies you defeat, the higher your score, ultimately unlocking a powerful ultimate shotgun.’  

‘A key focus in this project is our particle system, which allows us to render numerous visual effects efficiently—something that is often difficult in existing game engines. Our aim is to make these custom engine features stand out in the final game.’ 

What was your role in this project? 

Ferri: ‘I am particularly passionate about graphics programming, so I worked on the rendering system. Given our performance requirements, I explored modern rendering techniques, specifically GPU-driven rendering. This project allowed me to implement my own version of scene rendering, optimising both performance and visuals. I was also assigned the role of Programming Lead, working alongside a producer.’ 

How did you like working on this project? 

Ferri: ‘It has been a great opportunity to explore various technologies. Compared to last year, I have significantly improved my knowledge, for example with Vulkan graphics. I initially found it challenging, but through personal development, I have gained a much better understanding and successfully implemented key features.’ 

What challenges did you face, and how did you overcome them? 

Ferri: ‘One of the biggest challenges was managing a team of ten programmers while also handling design and visuals. While we have access to resources like staff and peers, it can be tough to take the initiative and seek help when needed. However, overcoming these challenges has been rewarding, and we have grown as a team. I'm proud that, even after working on this project for half a year, we still have a clear vision and motivation to keep improving it.' 

What are your future plans? 

Ferri: ‘I want to become a graphics programmer and do an internship in my fourth year, ideally at Nixxes, as they specialise in graphics technology. This project allows me to showcase my abilities, particularly in custom engine development, which is valuable for my portfolio.’ 

 

Find out more about Ferri de Lange via his LinkedIn profile or portfolio website