About

About

Bio

I’m Severi Suominen, an experienced software engineer, startup founder, and relentless C++ enthusiast with a burning passion for making robust data-driven software that runs fast—especially for projects related to game engines, gameplay systems, game design, graphics programming, computational geometry, physics simulation, and low-level optimization.

For the past eight years, I’ve been working professionally in tech, primarily in the video game industry—whether developing games (or similar projects) directly or working with related technologies. Beyond that, I also have plenty of background in web development. Dating all the way back to 2005-2007, you could find me playing around with Flash, ActionScript, and RPG Maker XP/VX, working diligently on my overly ambitious video game concepts during the most perfect summer day of the year.

The most notable project I have worked on so far is the Unreal Engine 5 title Supermoves, a multiplayer 3D parkour platformer game for PC, where my biggest contribution was designing and developing the parkour movement system and core gameplay from the ground up. This involved significant iteration to fine-tune movement physics, responsiveness, and player experience. It was a demanding endeavor, but I’ve never had more fun in my professional career than playtesting late in the evening with a group of co-workers in various roles—sharing feedback and ideas, quickly tweaking the physics and controls, building a new version on the spot, and immediately testing our changes. Good times!

The side project I’m most proud of has to be my CSG system supporting concave manifold geometry targeted for 3D modelling/level editing/physics simulation/VFX. It’s by far the most challenging and rewarding project I’ve ever worked on—at times it made me question my own sanity. Now, after the proof-of-concept stage, I am developing this project as an integrated module of my game engine project. My techniques do not involve traditional BSP trees, and concave geometry is supported without any convex decomposition steps. I plan to write a long (probably multi-part) blog post detailing the process and my techniques. As a small spoiler, I can reveal that re-triangulation with y-monotone polygon decomposition plays a big role. Making a solid CSG system is no picnic!

On a peaceful Sunday afternoon, you might find me reading a fiction novel, taking a walk outside, or playing video games with my younger brothers. You might also find me writing IL opcodes with C# and Unity3D to achieve more flexible interoperability with native code development and Mono, or working on the rendering code of my game engine pet project, Alloy Engine.