Stefan Reinalter

Stefan Reinalter

@molecularmusing.bsky.social

Founder of Molecular Matters • C++ & low-level programming • Created Live++ (@liveplusplus.bsky.social) https://liveplusplus.tech

534 followers205 following456 posts

Stefan Reinalter reposted

Someone ran a poll on X, asking players if they would prefer "all games on Steam made by humans" or "all games on Epic made by AI". 139,568 people voted, with just 1.6% voting for AI and Epic. Faith in humanity restored!

Teaser why I wanted to get the time to show the initial loading screen down as far as possible! My game is set in a world of magic, so the portal you see takes you right into the game (not shown in the video). All assets (~2.5GB) are loaded during that screen. #gamedev #indiedev

Stefan Reinalter reposted

Live++ 2.11.5 out now! liveplusplus.tech/releases.html Added support for /libpath, fixed "main-file-name" for Clang and fixed a nasty bug that could result in the dreaded "Patch was loaded outside 2GB range" error. Thanks to everybody for reporting these issues. Enjoy! #cpp

Stefan Reinalter reposted

Radical Pie handles equations brilliantly but still needs Word for a document's main text. That comes with annoying problems that will never be fixed. For years, I've dreamt of writing the whole word processor with the same level of craftmanship, and now that is going to happen.

Had one more yak to shave. I don't believe it can be made any faster than that. The first loading screen of the game comes up in less than 8ms now. It feels truly instant when starting the game from Windows Explorer. #ScreenshotSaturday #indiedev

Stefan Reinalter reposted

Absolutely jawdropping to see Epic, once renowned for their engine prowess, literally opening a PR announcement with "Programming is hard. So, instead of doing that, we vibe coded a new Epic Games Launcher" Especially given the dearth of features in the EGS compared to Steam.

store.epicgames.comThe new Epic Games Launcher is finally here in PreviewThe new Epic Games Launcher that’s way faster and more responsive than the current one, and has a new look.

Stefan Reinalter reposted

absolutely disgusting to shamelessly gloat about vibecoding your product as you're charging ahead to devalue an entire industry and several art forms with copious amounts of AI confetti hyperslop, depriving real artists and developers of oxygen

Rock Paper Shotgun@rockpapershotgun.bsky.social

"We vibe coded a new Epic Games Launcher" because "programming is hard", announce company we're somehow supposed to see as a serious Steam competitor https://bit.ly/4hMHbi5

Stefan Reinalter reposted

So, this happened last week - I received the GCAP Legacy Award! I love the Aussie/NZ Gamedev industry and to be recognised for helping in my own small way was glorious. Thanks IGEA/GCAP for continuing to organise my favourite conference and to my peers for having beers and cheers with me after.

The winner of the 2026 AGDA for the GCAP Legacy award is... Tony Albrecht!

Stefan Reinalter reposted

the 2020s are full of grief eh. from genocide to climate emergency to entire professions imploding / at best transforming; and on and on! yet were also in the least empathetic culture i can remember. 'you so cooked bro'. sure, yes, we probably are, can you just, not be such a dick about it?

Stefan Reinalter reposted

ive said it before, i'll say it again: make your game/app/thing/toy boot up into *exactly* the state it was in when you last quit, by default. feel free to layer fun features like snapshots/replays on top of this, but start there. you can thank me later.

Stefan Reinalter reposted

"AI lets you focus on the higher level ideas!!" because we all grew up dreaming of becoming managers and CEOs we all know the real artists at the very highest level are the shareholders, famously full of amazing ideas

Stefan Reinalter reposted

Since a dev shared his game concept last month, Steam has been flooded with vibe-coded slop clones. This is what "democratising creativity" actually looks like. Even with AI, your ideas are worthless as long as they can be plagiarised at scale. Gen AI was designed for plagiarism, NOT creativity.

Absolutely not a good look, OpenAI. Imagine you're a trillion dollar valued company and can't afford to pay for NYTimes. Instead, it's "ah nice" when you're getting behind their paywall. Also great to read about the "fair use" argument.

Jason Kint@kint.bsky.social

Eye popping. Court just unsealed Summary Judgment motions in New York Times v OpenAI / Microsoft. Easy to see why the AI companies had so many redactions (pink). Their own people wrote the lede for NYT, the "largest theft of labor in human history"... "more and more substitutive..." /1

Rant time: the fact that std::initializer_list in C++ is a partial language construct with special syntax, a compiler-generated array with special lifetime, yet needs a header and an std::initializer_list to provide a type is BONKERS. Looks like any other std type, yet it's not.

Stefan Reinalter reposted

I did a somewhat deep dive into the recent OpenAI and Anthropic "hacks" for an upcoming interview. IMO, the AI companies are better off running with the "rogue AI" story because the real story is actually pretty embarrassing. Like making your Wi-Fi password "wifi" embarrassing. 🧵

I rewrote the PVS computation. It now works in quadrants, making use of the fact that all occluders are the same size and on a grid. Angles are now sorted using the wedge product, so there's no floating-point math or radix sort anywhere. This is much faster and bit exact now!

Stefan Reinalter@molecularmusing.bsky.social

This is what I'm talking about: Shows the PVS of a cell on hover in the map editor.

Revisited radix sort today for computing exact region-to-region visibility for a PVS. The PVS stores occluded cells, so an empty PVS simply does not cull anything. When computing the PVS in the background, you can "see" it working by draw calls going down and perf. going up :).

Imagine sitting on Ultima and WC. Great IPs.

GamesRadar+@gamesradarplus.bsky.social

EA could sell "dormant IPs" like Ultima and Wing Commander after Saudi acquisition, former manager says: "There are plenty of IPs like that at EA that nobody cares about at this moment" www.gamesradar.com/games/rpg/ea...

There's a pattern that keeps coming up and I don't know if it has a name, but I wanted to share: Nothing fancy really, just a way of shoving arbitrary funcs (including capturing lambdas) into ordinary func pointers without needing any inheritance or allocation. E.g. ThreadPool:

Stefan Reinalter reposted

Replying to @molecularmusing.bsky.social

it does! thankyou for taking the time to walk me through it. it sounds like a sequence of steps id probably cock up, but it hilights how you sort of look at code differently once you can incrementally live modify it. i remember having imgui finally click as 'not just cute' when i saw omar add a ...

Stefan Reinalter reposted

Replying to @mmalex.bsky.social

introspection of complex state. imgui + hot reload just blew my mind iow :) so yeah... mindset changes once you have these hot reload tools, as you know. cheers!

I was working on something today that made me realise just how profoundly different working with hot-reload for *everything* (assets & all code) is. I often hear people say "my compile times are short, I don't need it" and I think they're missing the point. Thread:

View full thread

All of that took me about 2 minutes. Changed the data layout, saved files in the new layout on disk, added new things to the editor, the backend, and to the shader code. I can do this all day without ever closing the game. It's profound, really.

I was working on something today that made me realise just how profoundly different working with hot-reload for *everything* (assets & all code) is. I often hear people say "my compile times are short, I don't need it" and I think they're missing the point. Thread:

View full thread

This is a change in a header file, but Live++ nicely supports that. It recompiles all affected files, I hit save in the editor, the data on disk is now in the new format. I then add a line to the property editor and save the .cpp, get's reloaded automatically:

Half a second later, the edit field appears live in the editor. I fill in the value that I had in the shader. Go over to the backend, add a new parameter to the function updating the material constants: Hit save, hot-reload. The compiler tells me all call sites which I fix.

I was working on something today that made me realise just how profoundly different working with hot-reload for *everything* (assets & all code) is. I often hear people say "my compile times are short, I don't need it" and I think they're missing the point. Thread:

View full thread

Note how I do not have any versioning code in my serialization. Why? Because I start the game, everything gets serialized into memory with layout A. I change to layout B via hot-reload, save all files in the editor, and it's now layout B on disk. Trivial, no supporting old stuff.

I was working on something today that made me realise just how profoundly different working with hot-reload for *everything* (assets & all code) is. I often hear people say "my compile times are short, I don't need it" and I think they're missing the point. Thread:

For the record: My full rebuild is <2s. Loading into the game takes a bit more than one second in a debug build from hitting F5 in Visual Studio. If you've never experienced what hot-reload brings to the table, you don't know what you're missing out on.

Stefan Reinalter reposted

In other news, Linux support is coming along nicely and the Closed Beta will most likely start in Q3 2026. Reach out if you are interested!

Of course I missed an edge case in the previous 2.11.3 update. It's really hard not to, there are so many variables to the equation.

Live++@liveplusplus.bsky.social

Live++ 2.11.4 out now! liveplusplus.tech/releases.html Added full support for network paths, improved sorting of compilands having an "N/A" entry, and fixed an edge case with "external vague" dynamic initializers in static libraries. Thanks to everybody for reporting issues! #cpp