We have a solo play mode, each solo play round is based on a solo mission. A solo mission is composed of entities and objectives. The solo mission is done when all the objectives are completed. Each Objective is a based on our property collection which means it can have any desired parameters based on its needs.
In solo play the progress can always be saved or loaded using JSON serialization. We also designed a simple format to construct custom missions from scratch by hand using JSON. Each JSON file will contain will contain the mission name and simple info about the mission entities and objective. When loaded, these simple info will be used to construct a full mission.
“MissionName”: the mission’s name.
“ShipCustomizationId”: selects the local player ship customization from our customization presets.
“ShipLocation”: the starting location of the ship.
“MissionEntities”: the list of entities in the mission.
“Objectives*”: the list of the objectives in the mission.
“ObjectiveId”: to select the objective from our library
“Parameters”: the objective’s required parameters