Lars Thießen
banner
larstofus.bsky.social
Lars Thießen
@larstofus.bsky.social
Senior Gameplay Programmer and former gamedev professor.
he/him
Blog: https://larstofus.com/
DMs are open.
Pinned
Bio Time!
I work as a gameplay programmer, specializing in Unreal Engine 5. Sometimes I give lectures about game development and even worked as a game development professor for a while.
When I have too much free time, I also write about game programming on my blog: larstofus.com
Larst Of Us
larstofus.com
TIL that a advanced version of Spore (2008) was leaked this year, including the full debug symbols(!)
This means reverse-engineering the game should be much easier now and we have a (very small) chance to see an OpenSpore project somewhere in the future 🙏

hiddenpalace.org/Spore_(Feb_1...
Spore (Feb 19, 2008 prototype)
A build of Spore dated Feb 19, 2008, six months before the final build, with numerous differences to the final and many debug tools.
hiddenpalace.org
February 9, 2026 at 7:51 PM
When you import 56 KB of icons into Unreal to get 3.7 MB of uassets 😵‍💫
Obviously 3.7 MB of assets are not a problem worth investigating, but at the same time a size increase to 6600% seems too weird to not look into... 🧐
February 5, 2026 at 9:48 AM
Reposted by Lars Thießen
My Energy Saving Plugin for Unreal is now also on Fab:
www.fab.com/listings/05b...
Submission took slightly longer than I'd hoped for, because apparently I really suck at filling out forms😅.
#Unreal #Gamedev
Energy Saving Plugin
This plugin for Unreal helps you to reduce your game's power consumption by adjusting several settings if no input gets detected over some time.What does the plugin do?Every frame, the plugin checks h...
www.fab.com
February 4, 2026 at 7:40 AM
New blog post!
Game Development, no matter the engine was always a very windows-focused industry. But in recent years, things started to change, with more and more tools offering native Linux support, even Unreal.
So I finally decided to give it a try:
#ue5 #gamedev larstofus.com/2026/01/31/i...
I tried to use Unreal on Linux… it’s rough
Like most game developers, I am mainly a Windows user. Not so much by choice, but just because it is the default that most tools and basically all the games are developed for. That being said, I al…
larstofus.com
February 1, 2026 at 11:39 AM
Reposted by Lars Thießen
I already released the energy saving plugin for Unreal a few weeks ago, and really wanted to give some info on how it works and the motivation behind it, so here's a new blog post:
haukethiessen.com/introducing-...
#gamedev #Unreal
January 28, 2026 at 9:43 PM
I was todays years old that you can write 'and', 'or', and 'not' in C++ instead of &&, || and !.
I will probably never do it, since it looks extremly wrong to my eyes, but objectively this seems to be the more readable/clear option.
January 10, 2026 at 3:57 PM
Reposted by Lars Thießen
Started writing an Unreal plugin that helps to save some energy:
github.com/HaukeThiesse...
Inspired by Epic's whitepaper about energy saving in Fortnite, but with improvements and additional features as well.
Still early days, but I'm very happy with the progress so far. #Unreal #gamedev
GitHub - HaukeThiessen/EnergySavingPlugin: Unreal plugin to save energy by reducing max fps and screen percentage when no input is detected or the window loses focus. Based on https://cdn2.unrealengin...
Unreal plugin to save energy by reducing max fps and screen percentage when no input is detected or the window loses focus. Based on https://cdn2.unrealengine.com/reducing-fortnites-power-consumpti...
github.com
January 5, 2026 at 9:30 PM
I'm currently trying to use Unreal on Linux. It's a bumpy ride so far, in part because I am only using an older laptop for this test and 16 GB RAM is CLEARLY not enough anymore. My experience can be summarized in one single picture.
January 5, 2026 at 7:37 PM
Reposted by Lars Thießen
New year, new post! Jelle wrote an article about how we efficiently ingest gigabytes of unsorted data in sorted order. It's got fancy animations about our algorithm, so there's really no excuse not to take a peek.

Happy New Year!

superluminal.eu/efficiently-...
Efficiently sorting gigabytes: the Deferred Merge Sort - Superluminal %
The problem One of the biggest challenges in building Superluminal is scalability. No matter how large a capture file is, it shouldn’t affect framerate, memory usage, or lookup times. This constraint ...
superluminal.eu
January 5, 2026 at 1:08 PM
I'm currently trying some different git clients. Git Cola surely wins the award for most confusing login process (so far). This is how it asks for the username:
January 4, 2026 at 1:35 PM
Fun fact: Since 5.4, Unreal refuses to rename widgets in the UMG editor if the old and the new name only differ in case.
So renaming a "textLabel" to "TextLabel" is impossible. But renaming it via a third name works "textLabel" -> "SomeLabel" -> "TextLabel"
January 3, 2026 at 11:57 AM
There should be a law against binding a confirmation action to the escape key (Seen in Necromunda: Hired Gun)
January 1, 2026 at 11:33 AM
Ok, that's enough! Microsoft wants to REPLACE it's ENTIRE codebase over the next four(!) years... Even without using hallucinating AI this would be a stupid idea beyond comprehension!
Any suggestions for an easy-to-use Linux distribution I can switch to?
www.windowscentral.com/microsoft/wi...
Microsoft is using AI to purge C and C++ from its codebase by 2030
Microsoft is leveraging AI agents to automate the massive task of migrating its legacy codebases to the more secure Rust language.
www.windowscentral.com
December 23, 2025 at 8:49 PM
Reposted by Lars Thießen
Just submitted the latest update to the Mip Explorer🥳. It can now calculate the information density per axis. Very helpful to reduce the size of anisotropic textures without losing critical details!
github.com/HaukeThiesse... #gamedev
December 15, 2025 at 7:32 AM
Reposted by Lars Thießen
New article! What do you do when profiling your code shows the slowdown isn't in your code, but deep in the kernel? Why, you grab the kernel source and go spelunking.

How a routine profiling session turned into a Linux kernel patch: rovarma.com/articles/fro...
From profiling to kernel patch: the journey to an eBPF performance fix | Ritesh Oedayrajsingh Varma
A story about how an innocent profiling session led to a change to the Linux kernel that makes eBPF map-in-map updates much faster.
rovarma.com
December 11, 2025 at 1:39 PM
Reposted by Lars Thießen
Pixels don't have to be square. For anisotropic textures, it can make sense to use different resolutions for the x-axis and the y-axis.
With the next update, the Mip explorer will display the information density per axis, allowing to scale down textures along the axis with less information.
#gamedev
December 7, 2025 at 10:49 PM
Reposted by Lars Thießen
This has been a great year for the engine, but there are still a lot of things we would love to do.

If each person visiting our website donated €5, we could hire 5 more developers to work on Godot full-time.

👉 fund.godotengine.org
December 2, 2025 at 5:17 PM
Reposted by Lars Thießen
Ever wondered how to store millions of call stacks efficiently? So did we. Many times.

Check out this new article by Jelle about designing a data structure to efficiently compress and store large amounts of call stack data!

superluminal.eu/compressing-...
Compressing callstacks: a bitpacked DAG powered by a keyless hashmap - Superluminal %
In Superluminal we need to store potentially millions of callstacks very efficiently. This article describes how we went from naive storage taking up gigabytes of memory in the worst case, to a very c...
superluminal.eu
December 1, 2025 at 3:09 PM
That's an instant subscribe 🥳
December 1, 2025 at 4:40 PM
I wouldn't say that I'm opposed to new tech in general, but yesterday I had to update the firmware of all our light switches(!) one by one, because some of them stopped working out of nowhere and now the light in the bed room can't be turned off anymore 😤
November 29, 2025 at 3:29 PM
Reposted by Lars Thießen
Kinda funny to see Tim Sweeney claiming that AI is going to be part of 'nearly all' future games, while at the same time, AI-generated code is bad enough for Epic Games to have a strict No-AI stance when it comes to Unreal pull requests.
www.gamesindustry.biz/epics-sweene...
November 27, 2025 at 9:22 PM
Nice, my tooltip fix made it into an Unreal Fest talk!
youtu.be/M1J25jJ79U8?...
(Following 5.8 it won't be necessary anymore, luckily!)
#ue5 #gamedev
I Wish I Learned This Sooner! - Part 2 | Unreal Fest Stockholm 2025
YouTube video by Unreal Engine
youtu.be
November 26, 2025 at 6:55 AM
Good news! Epic submitted a fix for this issue!
The even better news is that they didn't just merge my proposed fix but wrote a better one, which can even handle arbitrary tooltip types, not just text-only ones.
Much better outcome than I could have hoped for 🥳
November 22, 2025 at 6:52 PM
Gave a lecture today using a windows PC that wasn't my own, so mostly using default settings.
Twice(!) during this lecture Windows decided to open a "news & weather" popup in front of my slides! It didn't even have a normal close button. Is this really the 'default windows' experience nowadays? 😵‍💫
November 21, 2025 at 12:26 PM
As a game developer spoiled by dozens of fast CPU cores I always find it amazing to see games running on decades old hardware. In my blog post I take a look at one of the optimizations to run the original SimCity on the CPUs of its time.
#gamedev #retrogaming
larstofus.com/2025/11/16/h...
How to run a city builder on 12.5 MHz
Do you feel spoiled by modern hardware? I know I do. Even the cheapest CPUs have at least 4 cores nowadays, running billions of operations per second. The idea that you could run any software on le…
larstofus.com
November 16, 2025 at 3:49 PM