Current approaches to game generation don't understand the games they generate. As a result, even the most sophisticated systems in this regard, e.g., Game-o-Matic, betray this problem — generating games with goals that are at odds with their mechanics. We describe Gemini, the first bidirectional game generation and analysis system. Gemini is able to take games as input, perform a proceduralist reading of them, and produce possible interpretations that the games might afford. By utilizing the declarative nature of Answer Set Programming (ASP), this analysis pathway opens up generation of games targeting specific interpretations and makes it possible to ensure the generated games are consistent with the desired reading. For Gemini, we developed a game specification language capable of expressing a larger domain of games than is possible with VGDL, the most widespread representation. We demonstrate the generality of our approach by generating games in a series of domains. These domains are based on prototypes hand-created by a team without knowledge of the constraints and capabilities of Gemini.