I've been dreaming of this C++ profiler for my game for over a year. It's now here. It shows me the slowest code logic that runs over my game components in real time. Each one is a lambda that I can find at the file name and line number. An hour after I made this, I already optimized my game significantly by actually seeing what was slow and then optimizing it. For example, I optimized a C++ lambda from 750us down to 50us (cost per frame). This level of introspection into my game is god-like vision. Not seeing any perf impact of having this on either, so it's on by default.
35
76
1,295
112,148
Replying to @ArturSmiarowski
Another one: you can’t afford to work an indie game that you don’t care about.
1
1
197
4,780
Why do I write my own game tech? It's an investment to save time in the long run. My game launches on my computer in 2 seconds. I measure it on each start and present it in ImGui to keep an eye on it. P.S. It's the time from entering int main() to starting to execute the first frame.
12
3
200
16,956
"You should use libraries to help you make a game." 1. I add Game Input (Windows API) as an option to support gamepad rumble. 2. I call the function that checks if Game Input is available and attempts to initialize as per the docs. (GameInputCreate). 3. I receive crash logs where GameInputCreate crashes my game on start. Thank you, external libraries...
14
4
177
32,985
I hate building game engines, even though I’m making my game from “scratch.” What I love is building tools and an environment that give me the speed boost to make my specific game. Today I added a feature to hot-reload a specific UI fragment shader without restarting the game. A traditional engine would need a whole system to track which shaders you care about, where the sources live, where the shader cache lives, detect changes in the right folder, etc. But I’m not making an engine, I’m making a game. So I built only what I needed today. A quick ImGui button, a few lines of code, and I can now reload the shader within a second. It’s not just minutes or hours saved - it’s focus preserved. Instead of losing momentum to restarts and debugging cycles, I see my changes within in a second. A dozen tweaks can happen in a minute, keeping the artistic flow alive. All this without slowing down for flexibility or abstractions that someone might need someday if this were an engine. No abstractions, no “what if someone needs this later.” Just building what I need now, quickly.
5
4
140
9,553
You can just build things. On my second day of using XAudio2 I have build an in-game ImGui clip editor where I can specify what portion of the WAV file I wish to be played in the game, test it live and apply it. I enjoyed such features when I used Wwise but it turns out I can do it quickly myself. This can be done in a stand-alone audio editor but a quick range clip inside the game is a faster iteration loop. It's non-destructive since XAUDIO2_BUFFER has PlayBegin/PlayLength fields.
3
9
137
10,036
Replying to @LocalThunk
Wrong. This is why philosophy matters. When even successful devs think that “success is a matter of luck, that it is subjective and who knows, and nobody knows, and there is no objective path to success” then you know there is a philosophical error somewhere.
7
1
111
62,508
After spending a few months of building out my own game tech from almost nothing, it is so mentally easy to add another feature. Knowing 100% of a large capable code base is a massive multiplier. #indiegame #arpg
4
5
105
16,165
Average programmers are ones that decided that memory issues were a huge obstacle and that C/C++ are unsafe, and that we should uproot everything in favor of solving memory safety by what average programmers judge as a solution. And all of that is wrong.
3
5
98
32,582
Having worked on my C++ game for almost 2 years, my language priorities are: 1. compile/link times (maybe try Jai for the next game?) 2. debugging (therefore I hate Linux, unless RADDBG comes there?) 3. hot reloading (at the level of @liveplusplus quality) On hot reloading I've not see any solution out there that even approaches the quality of Live++ for C++ hot reloading. So maybe I am stuck with C++ for a while.
20
1
97
11,580
I hate modern C++. It makes debug builds useless. I just optimized (4ms -> 0.5ms) my hottest game code path by switching math from GLM to CGLM for debug builds.
13
2
92
14,274
5 days ago I added a tracker that counts how many times I have hot-reloaded my C++ game code. I am already at 500+ hot-reloads. That is at 100+ per day (varies depending on the kind of coding I do). 100 times 15-30 seconds (to compile, link, launch and get into the same state) is half an hour to an hour a day saved, not even accounting for breaking the metal flow, etc.
This thread has inspired me to add ImGui integration for Live++. For years I have watched the system tray icon. But now my main menu bar in ImGui shows me the progress, errors if any, and the number of times I've reloaded. I might even save the total count across sessions!
2
4
92
31,730
Replying to @BASEDPLAYER0
It is an attack on femininity with a lame excuse to hide behind.
1
80
6,723
How many triangles should I aim for in my game? That is a question I am starting to think about as I add yet another profiling tool that measures how many triangles I have in the scene per type. Now I'll be able to measure the performance on the GPUs available to me.
6
1
71
5,341
My #ImGui battlestation while working on my game.
1
1
69
3,024
Translation of Godot stance: “We don’t know you but we assume you are evil. If you grovel before us, we will unblock you from an account of a game engine you don’t even use.” The power trip must be exhilarating.
2
1
58
1,475
Another con for having a game publisher. Your publisher might get banned on Steam and so will your #indiegame.
8
14
58
10,668
This eye of Sauron glanced at the CPU cost of writing GPU commands and let me cut it down by half: 1.5ms -> 0.7ms.
1
62
6,917
Replying to @Mangalawyer
Those changes are evil. Female beauty is not allowed by them.
2
2
51
1,616
I have been thinking about making a YouTube video of how I designed and optimized my Entity Component System. In preparation for that I found a tool that lets me create helpful animations using my coding abilities. Here are my first steps in learning the tool.
4
2
54
3,206
Physics Day 2: friction, sweep & prune
Today's side-project: new physics engine from scratch, Day 1 (using the method of Extended Position Based Dynamics - XPBD). Maybe on a different day I'll add friction. :P For now, I'm just happy with this much progress.
2
50
3,821
Replying to @MugenLord
Nothing wrong with that quote. Stories should be about heroes.
1
46
5,017
Replying to @tekbog
Choose one: 1) develop skills to get hired to be an obedient dev or 2) carefully guide your engineering path by learning what actually matters to become a capable engineer.
45
7,087
The dev was too nice. I would have responded with “Hell, no.”
2
1
39
5,162
My first time using a compiler intrinsic to get a faster more precise time measurements, by switching from QueryPerformanceCounter to __rdtsc. Proved in disassembly.
5
2
44
3,434
Today's side-project: new physics engine from scratch, Day 1 (using the method of Extended Position Based Dynamics - XPBD). Maybe on a different day I'll add friction. :P For now, I'm just happy with this much progress.
3
1
43
5,529
Replying to @AdamRackis
“To sell your soul is the easiest thing in the world. That’s what everybody does every hour of his life. If I asked you to keep your soul – would you understand why that’s much harder?” #AynRand
3
2
39
23,684
Replying to @valigo
Large companies are hiring based on engineers who are already there. Like attracts like. Once the internal pool has been polluted it perpetuates itself with more of the same kind of engineers. It would be surprising if such conditions led to good software.
1
38
4,973
Replying to @ArturSmiarowski
If you give them an inch they will take everything.
30
2,602
I don't use scripting for game. It's all C++. Scripting languages are harder to debug, analyze, break the logical chain of a call stack, and much more. With hot reloading C++ is faster to work with than game scripting. Live long and prosper, @liveplusplus!
Reloading Lua scripts now generates an API reference file, which means autocomplete and highlighting support. I just couldn't imagine having to remember every function and variable!
5
2
40
3,858
Replying to @ArturSmiarowski
This is some evil stuff. The literal meaning is "We paid for something, so therefore we are going to make demands on what your game should be. We are funding you, we own you."
2
38
1,326
Visually debugging my convex shape calculation from a set of points (using QuickHull algorithm). Context: my game uses convex shapes for destruction debris. I pre-compute convex shapes at build time, this way physics can work with a simpler model than the visual mesh. Currently, this is done by PhysX tooling for PhysX. With my own physics implementation, I can see that 7-8 steps are enough to cover 90% of the shape, which should be enough for my game.
1
2
38
3,456
Replying to @meesedev
When you are stuck with a game engine you don't understand and can't fix, then you are limited to party tricks and making yourself feel good about it.
37
3,747
900 hours of dev time under Steam already on my own playtest.
3
33
3,038
Replying to @santaragione
When devs fail they blame anything for it except themselves.
1
30
4,694
This is why I added Simplified Chinese localization to my game from the very start.
Knightica sales per country for the first week (8 days) 😍 #indiegame #gamedev #indiegamedev
3
1
30
3,773
Replying to @zack_overflow
If you are not using insane modern C++ features and STL, it's fine.
32
2,365
Today I was converting my project to use C++20 modules so that it compiles faster. At 25% conversion, the project compiles 50% slower. Numbers on my machine: Before: 20 seconds After: 30 seconds Should I have faith that at 100% conversion the build times will magically improve and become faster? I doubt. I don't believe it. Into the git archives this effort goes. Switching back to the main branch. I wonder if people who are seeing improvements with C++ modules use of a lot STL, and that is the reason for them? I don't use STL at all except for some template work. Or is it simply that forcing dependencies between files creates unnecessary delays whereas code with headers just gets built in parallel and is faster despite doing more work? Oh, well, a disappointing state of C++. Also intellisense in Visual Studio works rather poorly with C++ modules. Even my favorite plugin Resharper C++ struggles with them.
9
29
3,112
Bro is flexing by presenting his slides from his own file manager. I love it.
30
1,536
Replying to @SwordsSlippers
From my own game in development.
2
1
26
3,881
Replying to @void_zero2
CTO's skillset isn't about knowing specific languages.
4
29
7,578
A new devlog: "One Year of Game Development Without a Game Engine: Destructible Physics"
1
1
28
3,672
I have unlocked Signed Distance Field and other effects for my custom UI for my ARPG. UI built from scratch on top of Vulkan gives me so much freedom! (No textures were used for this UI element.)
3
1
28
2,118
Replying to @ArturSmiarowski
Since philosophy today teaches that nothing is just black and white, they don’t believe that the good exists. But pure evil? They love to show that, such as Breaking Bad, etc.
3
26
1,769
They just keep adding more reasons not to use their tech.
2
23
367
Replying to @TrisH0x2A
I wish there a stock market of languages so that folks can put money where their predictions are. That would solve all the easy proclamations.
2
27
3,037
What is the fps of your game in Debug? Would you believe that my C++ game is hitting 400 fps in a Debug build? On a 4k resolution? With each pixel raytraced (2 rays per pixel)? (4080 is a beast!) A few weeks ago, my frame time was over 3ms in my Debug builds on a simple scene. In complex scene, the fps would drop below my 144hz monitor rate in complex scenes on the massive PC machine. Unacceptable. I love working in Debug builds to speed up my workflow, which is mostly living in a debugger. So I wrote my own ECS from scratch (and threw out a decent open source one that was on par with all other ECS according to benchmarks online) and now the same scene simulation went from 3.5ms -> 0.6ms in Debug builds. I am blown away by how much one can achieve by writing simple systems even in modern C++ (with very careful selection of features) and getting insane performance. I didn't even do anything amazing in my ECS. Just bare bone basic stuff for what I need. I just avoided implementing crazy complex stuff. I used only linear arrays, I didn't use any maps or sets. I either look up things by index or linearly search through an array, not even a binary search over an ordered array! Here is a screenshot of a simple scene in Debug.
4
1
28
2,849
Replying to @Avinashabroy
There is no good C++ debugger on Linux that scales beyond tiny projects.
4
24
1,466
Even if true, micro benchmarking is wrong until proven otherwise. Story time: when I was working on my own ECS library I had a few micro benchmarks that I was comparing my ECS against an open source library I was using. At some point, my code finally matched the speed of the other library in those tests. Guess what happened when I applied my ECS to the whole game and the measured the difference in the total game frame time with my ECS? (Hint: micro benchmarking showed equal speed.) 2x-3x faster overall game frame (measured in seconds). Welcome to reality and the wider context that can change everything.
Replying to @neogoose_btw
these ragebait tf out of me lol. Just looking at this - rust would 100% generate array bounds check code that C++ probably doesn't have. I'm not even gonna look into benchmark code because I know it's gonna be shit.
1
26
4,138
Replying to @TylerGlaiel
No, this isn't about the money. In general with games, the problem is bad higher ups who hire bad middle managers who hire bad devs. That leads to good devs avoiding the project and going to other games. Good games are made by good devs with good managers not getting in their way.
2
26
1,173
Replying to @thomasbrushdev
Translation: “put your head in the sand during the hurricane and wait for it to blow over.” Good luck with that.
3
21
1,441
Replying to @cmuratori
Linux is amazing at making me appreciate Windows dev environment.
4
1
22
3,274
Would you like to know a secret code in native Windows API? Here is one. :) Why? Because Visual Studio debugger doesn't clear the console which would leave some previous log and confuse me at times.
4
1
24
3,457
Replying to @SINHERGame
Steam page when? I want to see this game start collecting the wishlists!
2
6
159
Replying to @SGS__Games
Why do some devs get so triggered by a minor comment? Even if it's a bad comment, it doesn't matter. Focus on your work. Bad feelings of others don't matter.
4
2
21
3,425
Replying to @wookash_podcast
"Might result" is such a weasel language where you strongly claim one thing that meekly support it in the next sentence.
1
20
1,055
Replying to @CollaborationG7
Mac sells way fewer games. And Mac dev tools are a pain.
3
22
868
Replying to @Lucrecious_
Yep, purely in the game.
2
20
1,518
Working on a bug for hours late at night. Can't fix it. Go to sleep and fix it in the morning in 15 minutes. Many such cases.
2
22
741
Replying to @BenjDicken
These new modern day engineers are so cute. Zero desire for technical knowledge but pretty lights? Oh, they love them.
2
19
2,198
“Why are you not using a game engine, bro?”
This is why I made a custom game engine.
1
16
929
Before starting to write my game from scratch, I went on Udemy and went through 100+ hours of UE5 training, and then spent 3 months of my free after work time prototyping my game on UE5. It was very pretty but I did not enjoy the process. I saw that I had to do it my own #indie #gamedev way.
3
1
17
2,645
Fun fact: this is a debug build (C++).
2
19
2,284
Replying to @GameCharacterAI
Or one can start their own game companies. Problem solved.
4
17
1,472
Replying to @Phantom_TheGame
A benefit of not using a game engine. I don't have access to such a button.
2
18
561
Replying to @lemire
I hate Linux debugging. VS is far superior, especially at scale of video games.
2
19
871
Replying to @TylerGlaiel
I thought everyone knew Diablo. But as I work on a Diablo-like I discover new players on my YouTube streams who have never played a Diablo-like. That is another kind of non-gamer for a specific genre.
2
17
1,177
Replying to @StirringDragon
That is too pessimistic. There are two errors here. The first is the malevolent universe premise. In reality, happiness and success is achievable. The world isn’t doomed. The values are out there to gain and keep. The second error is to place importance on friendship of people who don’t care about your values above your productive work. That is a recipe for self-guilt and long term suffering. “Have you felt it too? Have you seen how your best friends love everything about you- except the things that count? And your most important is nothing to them; nothing, not even a sound they can recognize.” ― Ayn Rand, The Fountainhead And for this we should feel self-guilt? Hell, no.
1
17
587
A daily reminder to myself to normalize quaternions. I was hunting an animation bug today where a bone was in the wrong rotation for a single frame. The issue was that I assumed that glm_quat_slerp would return a normalized quaternion but it doesn't always. Proven by adding a new ImGui tool that shows the blended bone position/rotation/scale on each frame. (Video pauses on the wrong frame.)
1
19
1,420
This thread has inspired me to add ImGui integration for Live++. For years I have watched the system tray icon. But now my main menu bar in ImGui shows me the progress, errors if any, and the number of times I've reloaded. I might even save the total count across sessions!
2
18
16,355
Replying to @SaiKate108
Are people allergic to using reason and actually reading the study? It's not supporting what irrational luddites are angry about. "Compared with the unvaccinated, those receiving ≥1 dose showed a significantly lower likelihood of all-cause death ..." Oh, geez, the study results are showing that vaccines saves lives. "... and a slightly higher likelihood of hospitalization for cancer (HR: 1.23; 95% CI: 1.11-1.37)." Okay, that is something to look at. But wait! "The latter association was significant only among the subjects with no previous SARS-CoV-2 infection, and was reversed when the minimum time between vaccination and cancer hospitalization was set to 12 months." So the connection reverses! Meaning the cancer likelihood was less for vaccinated than unvaccinated past 12 months. pmc.ncbi.nlm.nih.gov/article…
1
1
17
1,972
"Since your first game will probably flob, get it over quick." This is a huge philosophical error. There is nothing special about your second, third, fourth game that makes it magically succeed. You might as well believe in numerology.
2
15
404
Replying to @ArturSmiarowski
Yep! NSFW content is the first victim of abusive government that is after taking away all of your rights.
1
14
569
A solo game dev wins with his primary skill and other skills being brought up enough to make a good game. Some dev's primary skill is art while learning enough coding to make a great game. What is my primary skill? Definitely coding!
3
1
17
1,907
Replying to @LocalThunk
I am glad to hear it! It is a great injustice to themselves when successful devs reign in their own pride in their own successes by thinking that they cannot be certain of why they succeeded. The reward of great work and success should be Pride not more Self-Doubt. The only power that can do that to successful people is philosophy. I blame today's culture of subjectivism.
4
14
14,366
Replying to @AllFenom
Try to pivot the head and the body separately from the legs.
3
29
This is why I avoid using game engines. I don't want to beg for help online while staring at a mountain of code I don't know. My game is built with custom tech. If something breaks I know where to fix it without spending weeks digging through random code of others.
🆘Help!🆘 Taverna is a mess right now in terms of project structure. We’d like to reorganize the folders and files, but Godot isn't happy about it... Every time we try, the project seems to break, even when we do it from within the editor. We're reaching out to the #GodotEngine community for help we're still beginners in a way and really need your advice🥺 @KriGameDev
3
14
1,506
Using libraries has a cost. I'm so glad someone else is writing on this! cgamedev.substack.com/p/the-…
I interacted with a troll here the other day who heavily critized the fact I wrote my own code for cmd line parsing. So it inspired me to write my first Substack article about the Hidden Cost of Using Libraries Link in the replies 👇
14
1,409
Microsoft folks are getting mad at the facts cuz VS 2026 is taking 8x longer to open a tiny project versus VS 2008. I love it. piped.video/watch?v=rOZ7cMe-…
3
1
16
1,660
Replying to @antoniosarosi
Rust for game dev? No, thanks.
1
15
813
Replying to @supahvee1234
I hate modern C++ with a passion of Jesus Christ. The poor perf and compile are awful.
2
14
1,131
Replying to @nother_pleb
*Laughs in modern-c++-hater-laughter*
1
15
1,754
Replying to @_asadmemon
I use Tracy all the time but it doesn't aggregate calls and easily presents it the way I want it for this specific case.
13
3,018
Some days I am too lazy to work on important game features, so I add minor details instead. Today's was a minor arm animation in tight spaces.
1
15
1,343
Replying to @valigo
Are you implying serializing raw binary data? In practice, you want to serialize your data into something easily viewable and editable. For that memory allocation is not as important as registering and tracking different types and how they are reflected. In my game, every component is registered and reflected to ImGui and something human readable and editable, such as json.
6
15
1,447
I love being an engineer. It is never my fault. It is hardware or it is something else. Definitely never the engineers.
1
12
1,052
WASD controls are here in my #indie #ARPG. No longer shall you need to suffer wrist ache while gaming with a mouse.
2
14
1,594
As a solo dev C++ with hot reloading beats scripting for gameplay too. More perf - more gameplay options and freedom.
4
14
813
Optimized my most expensive attack ability (that spawns a lot of GPU particles). Previously fps would drop to 140fps, now stays above 210fps in similar scenarios.
13
1,164
"Bro, why wouldn't you just use a library to help you out, like GLFW/SDL3/etc?" Meanwhile, they sometimes stall polling events for over a millisecond. glfwPollEvents 0.62 ms glfwPollEvents 1.92 ms glfwPollEvents 0.66 ms "Oh, 1ms isn't a big deal, right?" 144fps means you got 7 ms.
2
13
1,038
Replying to @ArturSmiarowski
Putting this in perspective: if one has and uses the rare power of a creator to create their own image into a video game, of what consequences is anyone else opinion of it? We don't spend the insane hours and effort it takes to create a video game for some social points.
3
11
1,668
I wrote my own Entity Component System for my game and now just enjoying analyzing entity table sizes, and how many of them are barely have any data. (My ECS is blazing fast, btw, in comparison to a few open source options I've tried.)
2
13
1,124
A common mistaken advice: "work on a lot of small games, release 2 games a year and your game number X will succeed." Meanwhile Team Cherry working on their sequel for 7 years.
3
12
1,598
Replying to @winterpixelco
It builds acceleration structures for my raytracing renderer. docs.vulkan.org/spec/latest/…
13
3,851
My play time on Steam in my own game (in development.) My most played game that isn't my own is around 1100 hours on Steam, so soon my own game will be my most played game in my library!
12
493
Replying to @bgolus
It is sad how many game devs are Communists who don’t have respect for property rights. We should get down on our knees and thank Valve for all the work has done for over a decade making it easy to sell and market games. Don’t blame Steam for your game not being good enough.
3
10
7,417