I recently purchased the game-hacking course on GuidedHacking. Having spent all of my time on Linux and the FOSS community, the windows gamehacking scene is a rather big cultural shock, and not in a good way. While the course targets teenagers with no-little technical background, it's not really the pacing that is the problem.
I should mention that I also have two friends who have been making windows game cheats for years. They know a lot and I often come to them with questions. In preparation of eventually getting into game hacking, I spent some time on Linux writing a process exploitation library from scratch in C (pattern scanning, shellcode injection, starting new threads, etc). It used ptrace, but I had a pretty good(?) idea of how that worked under the hood. While implementation may not have been necessary, this felt like the natural way to learn something like this.
This is not at all the appraoch of pretty much anyone involved in game hacking on windows. There is this unbearable over-reliance on overly complicated tools with seemingly little reflection on whether dependence on them is good, what would happen if they were not available, and a myriad of other problems I'd be happy to get into later. One amazing example of this is Cheat Engine. Absolutely everyone and everything seems to rely on Cheat Engine. Kernel modules are even compiled for integration with Cheat Engine to bypass kernel anticheats.
To a limited extent it is understandable: Cheat Engine has its sophisticated VEH debugger that is more difficult to detect, it automates many nuances like space allocation and jumps for when the assembly you're writing is longer than the original instructions. But the fact that this is all done inside Cheat Engine is so sad. There is almost no integration with the consequently non-existent outside utilities. The lack of a shell culture means the commandline is not used. Consequently all work is performed inside of one program, rather than spread across numerous little utilities that are easily extendable, like on Linux.
Myself I have used radare2 a bit in the past so naturally I wanted to continue using its debugger on windows. I was observing memory region maps to make sense of Cheat Engine pointer chains. When I asked one of my two game hacking friends to tell me what I'm doing wrong, he told me that radare2 isn't good and I should focus my efforts on learning Cheat Engine. What happened to being tool agnostic because you *know* the theory behind how all these tools work anyway? Yes ofcourse cheat engine is better suited for this, but for places where its on par with radare2 why wouldn't I use radare2?
After cheat engine, everyone is using either Ida or Ghidra, although mostly Ida. Everyone pirates it from god knows where and is practically Hex Ray's slave should they choose to changethe UI or start charging you for features even more. Yet there is 0 discussion about alternatives. There is zero discussion about the toolsets in general. Everyone just uses the exact same bloated, awful setup and has no problem with it. The only discussion I've seen so far was regarding which fork/binary of cheat engine should be used to bypass anticheat. Dozens of tiny edits of the same software, no ports of features to other debuggers. Kill me.
And then finally there is the actual course:
"Just use Cheat Engine to do X".
"Don't worry, we will cover how X works in 256 hours, for now just take it on faith and use Cheat Engine".
"You're going to write your first trainer. But first, copy this code, it automates what Cheat Engine does".
Game hacking culture on Windows gives the same atmosphere as the contemporary console gaming community. Covered in cheeto dust, unshowered for a week and untidies for a month. A mess.