Such a diverse topic where you can do a lot of stuff, learn a lot of stuff (x86 assembly, reverse engineering, etc) and you can achieve things like free-cameras, spawning npcs, and understanding how the game actually works at a lower level.
With that, I like to experiment with different languages, I started doing it in C++, moved to Rust, but I also tried Zig and Nim, and since they are all 'system programming languages', and you can interact with FFI, it means you can do fun stuff.
One of my latest projects was to spawn lights in a certain games because I know some folks that likes to take photos inside games, and it was such a fun project to understand how the game manages entities, how to spawn entities and how to control them using an injected imgui.
It feels nothing like work and it's very rewarding.