KTG Engine
Originally created around 2011, the "Portable Operations Engine" was designed to make cross platform games. It was written in C and created a couple games for Windows, OSX, iOS, Linux, and Android.
Yes, all of those things.
No, none of the games published really took off, but we did publish a couple products on all of those platforms under a different company at the time.
The technology was solid, was highly performant, and quite amazing, but didn't age super well.
Eventually fancy things like shaders and Vulcan happened, big game engines advanced, and this company was created with more of a focus on B2B software contracting.
Decades passed and it was time to bring the old to new again.
Rewritten in C++20, the "POE" engine was remade as the KTG Engine with a focus mostly on 2d or 2.5d games.
We will eventually get to portability again, but the main focus is on Windows gaming for now as that still seems to be where most computer gaming happens.
However, we are ecstatic to see, as of 2026, gaming on Linux and even OSX is much more popular than "back in the day". Yes we have plans.
Yes those plans hopefully include console support someday, but one day at a time.
The first product using the KTG Engine is Ando Tale.
Why Custom Engine?!
It is always an excellent question and it has a long answer, these are the overall important points. For the most part, most people should NOT invest in making custom engines. We do it for technical merits and deep integration with game products.
A general list of things that are particularly enticing for us:
Much more control over everything. For better and worse.
Game engine code combined with game-specific code can work more harmoniously with each other to push performance over general algorithms. Anything short of 60 fps is a tragedy these days, even on "old" hardware.
Having deep understanding of the engine (we wrote it!) allows us to better use the engine to its maximum potential.
We know exactly what is, or isn't, in the engine. No unknown dependencies. No weird potential licensing issues.
We understand why a frame is skipped or why every byte is allocated.
If we want to actually make something strange, unique, or non-standard, we can. Yes it takes a long time.
We understand that the engine itself is a product and we are its explicit customer so we can design it accordingly.
We can do difficult things, like cross platform networking, in addition to split screen multiplayer -- or even multi monitor local coop... or a combination of all of that!
We can be explicit with the features we do, or do not want, in our deployed and published products.
We have complete control over complicated things like threading and rendering models along with timing and pacing algorithms.
Can design products for "data first" at the expense of flexibility - other engines are designed for adoptability for a general audience.
We can make incredibly small deployables where needed.
Lockstep determinism.
Cater to constrained environments.
Being limited in featureset forces us to be creative - and that is where gaming magic can happen.
We aren't aiming to have every feature ever, nor follow in the footsteps of the giants.
Various other reasons