Mathieu Ropert
matropert.bsky.social
Mathieu Ropert
@matropert.bsky.social
C++ Consultant and Trainer. Game developer and lead.
Ex Paris C++ User Group organizer. Avid roleplayer, amateur photographer and occasional winetaster.
Pinned
I'm officially available for consulting!
Need C++ expertise for games or software? Could use some profiling and optimization? Want training your employees?
Feel free to reach out!
And remember, if it's not made in the Champagne region of France, it's only ✨Sparkling Code AB✨!
My Vulkan renderer may only have 2 features but those are bindless draw and background shader code hot-reload so I think it's pretty cool.
December 12, 2025 at 3:12 PM
My guys, not everything has to be Spotify wrapped...
December 12, 2025 at 11:43 AM
We are finally back on What Makes a Game Tick?
Today is part 8: basic implementation of data-driven task parallelism.
mropert.github.io/2025/12/11/m...
What makes a game tick? Part 8 - Data Driven Multi-Threading Implementation · Mathieu Ropert
Let’s talk about game simulations. Today we dive into the nitty-gritty bits of implementing data driven multi-threading.
mropert.github.io
December 11, 2025 at 2:59 PM
Fun C++ fact: you can list/aggregate init a struct with a parent struct just fine.
That is unless it uses virtual. Then sorry you're back to writing pointless constructor glue code.
godbolt.org/z/ec48r79n7
Compiler Explorer - C++
struct A { int i; }; struct V { virtual ~V() = default; }; struct B final : V { int i; }; void foo() { A a{ 42 }; B b{ 42 }; }
godbolt.org
December 9, 2025 at 3:17 PM
My timeline on Twitter today was full of weirdos with blue ticks I never heard of before, all suggesting we rise up and dismantle the EU, doing a poor job of pretending to be a grassroot movement.
Now I understand why the algorithm "randomly" pushed those...
www.lemonde.fr/en/economy/a...
www.lemonde.fr
December 9, 2025 at 1:51 AM
Sea of Thieves is an extraction shooter with extra steps.
I will not elaborate. 🐁🐁🐁
December 8, 2025 at 10:17 PM
In light of recent news I'm considering starting a new streaming service.
I'd call it Mia Max.
December 6, 2025 at 6:42 PM
I wonder what they'll think of next to move the goalpost again now that their last "no but you haven't tried [buzzword]" failed yet again to materialize real world benefits.
arstechnica.com/ai/2025/12/m...
Microsoft drops AI sales targets in half after salespeople miss their quotas
Report: Microsoft declared “the era of AI agents” in May, but enterprise customers aren’t buying.
arstechnica.com
December 4, 2025 at 5:07 PM
My most listened artist of 2025 is Linkin Park?!
We're so back!
December 4, 2025 at 9:16 AM
Part 3 (final) of my discussion on error codes and error handling is out!
mropert.github.io/2025/12/03/e...
C++ Enum Class and Error Codes, part 3 · Mathieu Ropert
Last time we explored some commonly found alternatives to using enums for error codes such as asserts, contracts and std::expected. Finally today we consider some unthinkable options.
mropert.github.io
December 3, 2025 at 4:47 PM
Stranger Things S5 opening scene is a retcon.
That doesn't bode well.
November 27, 2025 at 11:11 PM
I got sent a consultant job ad that basically reads like "I need a guy who can do C++ but really wish he wasn't".
That's not very enticing 🤣
November 27, 2025 at 3:56 PM
I organized a french vs swedish potato dish contest and the neighbours blew the house's fuses rather than face the french dish.
I think that tells me everything I need to know...
November 23, 2025 at 7:28 PM
I give Arc Raiders another month to change the playerbase trajectory, after that it's gonna be Rat Simulator : 2025 and then you might as well go back to Tarkov 🫤
November 21, 2025 at 7:15 PM
Bonus post: I tried to play with C++26 std::executor with my graphics project.
mropert.github.io/2025/11/21/t...
Trying out C++26 executors · Mathieu Ropert
I wanted my program to boot up faster so I tried to multithread it with both executors and the more classic TBB.
mropert.github.io
November 21, 2025 at 4:40 PM
I went back to TBB.
Trying to understand why C++26 `stdexec::bulk` does not in fact do parallel execution seem to require trying to play detective with 2000 character long template types.
Don't run in serial if I request `par_unseq`, compile error with a reason, else this thing is dead on arrival.
November 20, 2025 at 5:55 PM
Trying to understand why C++26 `stdexec::bulk` does not in fact do parallel execution seem to require trying to play detective with 2000 character long template types.
Don't run in serial if I request `par_unseq`, compile error with a reason, else this thing is dead on arrival.
November 20, 2025 at 3:21 PM
I left a review on CDON complaining (among other things) about the lack of localization/translation and they wrote back to me telling me they can't publish it unless I write it in Swedish.
You can't make that stuff up.
November 20, 2025 at 12:09 PM
Friends suggested I try Tarkov 1.0 despite Arc Raiders being out.
November 18, 2025 at 9:53 PM
"Never meet your heroes" vindicated again
C++ is for little worms
November 18, 2025 at 2:13 PM
The best way to check if Cloudfare is down is to try one of these "is this thing down for everyone or just me" websites.
They're all on Cloudfare so none of them will reply.
November 18, 2025 at 11:45 AM
The Game Awards nominations make as much sense as Eurovision jury voting.
I will not elaborate.
November 17, 2025 at 10:58 PM
I wrote a follow up to last week's post on enum class and error codes.
Spoiler warning: there will be a part 3!
mropert.github.io/2025/11/17/e...
C++ Enum Class and Error Codes, part 2 · Mathieu Ropert
In our previous article we talked about the limits of using enum class for API error reporting. Today we look at alternatives.
mropert.github.io
November 17, 2025 at 4:56 PM
Buffy S3:E01 is about a system of demons that grinds people's individuality and makes them work until their bodies give up at which point they are discarded.
Then she shows up, grabs a hammer, a sickle and beats up everyone.
Somehow I'm thinking there's some symbolism involved.
November 15, 2025 at 11:35 PM
Narrator's voice: "vcpkg install vulkan" does _not_ install the validation layers.
And VkBootstrap silently does nothing if you request them and they aren't found.
Yes I have validation layers on and no they don't seem to ever catch anything.
November 14, 2025 at 5:20 PM