Data Serialization
Data is a raw material for most games; even relatively simple games require characters to have health, damage points, shields, and others in addition to item data, such as sword-strength, sword-fragility, and so on. Thus, data is critically important for gameplay to behave as intended. When it comes to working with data, developers typically have two main needs. The need to save or export the state of a game at any time, allowing the player to save their progress and then to resume it at a later time even if the device has been powered-off between play sessions; and second, the need to import data, such as weapon-stats and character sheets (and the player's saves), from external sources created by designers, such as a spreadsheet or a database. The basic idea is that in-game objects and entities, and their relationships and states, should have a correspondence with data. We should be able to represent the state of a game in a way that can be meaningfully committed to a...