Just create a game_state struct and write it to disk when the save is done. Most of your game state variables should be grouped together anyways so writing them to disk is as simple as using block writes to disk. The encryption comes from the fact that you open the file in binary mode so you won't be able to read what the value of a float is or certain values are in a text reader. You will be able to open the file in C but I see no harm in that.