I don’t want to get into GPL vs world debate, but you are mistaken. Yes, anything added to GPL code has to become GPL. So naturally you can’t add GPL-incompatible middleware to GPL engine. However, it doesn’t affect the content. Also, learning how idSoftware did it, and implementing your own game code from scratch following principles you learn from GPL code doesn’t make your code GPL.
Using GPL in non-game dev business is risky, but in game dev it’s harmless. I’ve had these conversations many times before and the only thing that people can come up with is A) can’t release on consoles B) can’t implement non-GPL middleware. That’s all. No one can even explain why they think GPL evil.
We made a game using Darkplaces engine (heavily modified GLQuake GPL) and released it on Steam, with source code included. People can do whatever they want with the code (although no one did), they still have to buy the game.