I also think the only way to achieve this without custom code is adding a dedicated sub-category for each game or discussion that you want to restrict. This sounds cumbersome, but as you already have to set up a dedicated group each time it’s actually not that much more of a manual effort. In any case, the user experience will be clean with a setup like this:
- category : games
permission: everyone read - sub-category: game-A
permission: only game-A group reply
So topics from game-A will be visible for everyone, but anyone who isn’t a member of the game-A group and opens the topic won’t be able to reply.
If you want a very clean interface and it aligns with your architecture you could even hide the relevant sub-category badges from the interface with css. So the sub-categories are purely about access rights and not about navigation.