I would be inclined to put each in a separate database. Placing a secondary key on the tables seems easy enough at first, but can really lead to headaches down the road. This is probably especially true since you have already created the db thinking that only one type of game is going to be in it. It's a constant headache to remember in all your queries that you have to reference a second key almost everywhere which shows which game should be accessed/modified. It can be a real night mare. There is an SO podcast where Spolsky talks about why FogBugs has a separate database for each client. (I can't find it in the moment, but I think it is mid-to late 20's).
Modifying the schema for all of them down the road will be a little extra work, but with tools (like ones from RedGate) this is a lot more maintainable.
If you ever think you might have to remove a game from the site, separate dbs will also be a load easier to manage in this situation. Instead of removing all the data from the one large one, you just have to drop the db pertaining to that particular instance.
Reporting off all of the data is also a little more work since they are all in separate dbs. I would aggregate all the data from all the dbs into a reporting database used strictly for reports. Once again a little extra work, but not too difficult.
EDIT:
Separating databases is about data integrity. Everyone is talking about how it will be difficult to maintain schemas and update stored procedures. I have programs that cost about 200 dollars that do that for me. Not a big deal.
I'll explain what's hard and I've dread by putting all the databases together.
What happens if one of your games needs to change the schema that will break all the others? (or worse, you don't know what will really happen). Like changing the size of a number, or expanding the size of a string, or adding a parameter to a stored procedure. You are pretty much totally screwed. You will spend hours and hours of extra work trying to figure out how one change will affect every other application that touches it. It's like touching a spiderweb. There is no, "We'll just change it for this game."
What happens when someone runs an update procedure to fix data because of a bug and forgets to include the appropriate identifier and you update all the data in a table? You bring down everything.
I know what you are saying, "We'll just be careful." That is exactly saying, "We don't need testers, because why would we write buggy code?" Five minutes of extra work to sink schemas, or a couple of extra hours for the programmers review the code in multiple applications (which they should be doing anyway when someone makes a change to a database their application touches) is a joke compared to walking into your bosses' office and explain why you'll be there for the next 10 hours fixing a problem, because someone wasn't totally on their game.