Battle.net games have been some of the most reliable non-steam games you’ll find. You’ll have trouble in the Riot Games space (League on Linux, Windows 7, and 8 are all dead in the next month due to Vanguard), and some Epic Games (Fortnite), but if you’re a Battle.net/Steam gamer Linux is ready for you.
Yup this is the real world take IME. Code should be self documenting, really the only exception ever is “why” because code explains how, as you said.
Now there are sometimes less-than-ideal environments. Like at my last job we were doing Scala development, and that language is expressive enough to allow you to truly have self-documenting code. Python cannot match this, and so you need comments at times (in earlier versions of Python type annotations were specially formatted literal comments, now they’re glorified comments because they look like real annotations but actually do nothing).