String getGameId();
String getGameName();
These first few methods are just the internal game id (examples: "minecraft", "javac") and user-friendly name of that game (example" "Minecraft")
String getRawGameVersion();
String getNormalizedGameVersion();
The "raw" game version can technically be any string. The "normalized" game version, however, should generally be a proper semantic version. I recommend that it be consistent even if the target game has changed versioning schemes.