Only by rewriting it all to a php script that pulls the appropriate category number and slaps it in place in the pattern. If so, you can make a single RewriteRule that grabs any extensionless request. Last thing in the php will then be to serve up a 404 to anything that wasn't on the list.
All those rewrites should have an [L] flag instead of-- not in addition to-- the [NC]. The [NC] is fine when you're issuing a Redirect, in fact it can be good, but you don't want it when rewriting. It puts you face to face with the Duplicate Content demon.
The only exception to [L] is if there will be further Rewrites after this batch. But that's a pretty awful possibility.
I also had another problem, when ever I went to a Rewritten url e.g "example.com/?index.php&cat=13" = "example.com/game-list", whenever I went to another URL that wasn't in .htaccess it went from the Rewritten URL I was on and added the unwritten one at the end. e.g I surfing "example.com/game-list" and click the register link (which isn't in .htaccess) and it takes me to "example.com/game-list?register.php" which wont exist.