Evgenij Lutz
banner
evgenij-lutz.bsky.social
Evgenij Lutz
@evgenij-lutz.bsky.social
Software Engineer. iOS, macOS, Swift, SwiftUI, UIKit, AppKit, Metal

https://linktr.ee/evgenij.lutz
August 27, 2025 at 4:20 PM
FreeType has low level access to font information and is cross platform, perfect for games. The framework will support other platforms like Windows as soon as including non-Apple binaries in Swift Packages will be possible. CoreText already uses FreeType afaik but is less low level and Apple only
July 26, 2025 at 6:10 AM
I also pack assets in a file that is optimised for fast loading now, as I planned earlier, and the results are insane - loading time is now 13-18 times faster! It takes only a fraction of a second, and it’s in debug mode, the game launching is almost instant
February 12, 2025 at 11:17 PM
In January I made a lot of sketches for some game objects in @procreate.com and @nomadsculpt.com and quickly made two of them out of primitives in @blender.org to see how they look in-game. They are of course by no means final versions, but I’m already content with their dimensions
February 12, 2025 at 11:17 PM
Now we are talking 😌
January 9, 2025 at 7:25 PM
This way, I’d only need to load all buffers and textures using Metal Fast Resource Loading. I started working on this yesterday and I’m already halfway there 💪
December 27, 2024 at 12:32 PM
I import meshes from OBJ files, which don’t include tangents, so I generate them every time. Importing the whole scene takes less than two seconds, which is great, but I can make it much more performant by storing all mesh resources and generated data in a single file with an efficient layout.
December 27, 2024 at 12:32 PM
I also accidentally fixed the tangent/bitangent space generation. It was previously calculated slightly incorrectly for some models, but now it works as it should. Look at the gladiator’s collarbones - they had a seam that wasn’t supposed to be there, and the normal map itself looked totally wrong.
December 27, 2024 at 12:32 PM
December 1, 2024 at 9:51 PM
The most low-level logic is wrapped in a convenient Swift interface and it works ✨fabulous✨

I've learned so much and made huge improvements in the past six months and it’s definitely the most complex thing I’ve ever developed. Now I’m bringing the game to live. Fingers crossed
December 1, 2024 at 9:50 PM
There is a custom task manager to parallelize tasks and the main engine logic is isolated to custom Swift global actor with an executor that schedules work on task managers primary queue. The entry point is available from both SwiftUI, UIKit and AppKit.
December 1, 2024 at 9:50 PM
The engine is written for iOS and macOS in C++ 20, Objective-C and Swift 6 including interoperability with C++; it uses Metal API to render graphics and soon the PHASE framework for audio backend.
December 1, 2024 at 9:50 PM
The vast majority of features are implemented, now I render skybox and instantiate meshes, use PBR without limitations to the number of lights, have a basic ECS system, process user input, cast rays from the camera, perform ray-box and box-box intersection tests and much more.
December 1, 2024 at 9:50 PM