Energies #

Time based energies are used in Blocks and Cities by Kyoso Interactive.
Time based energies are used in Blocks and Cities by Kyoso Interactive.

Energy is any resource that can be used to limit the number of times a player can perform an action in a game. For example, a player may have a limited number of lives, and each time they die they lose a life. When they run out of lives, they can no longer play the game until they have been given more lives. This can be done by watching an ad, donations, or by waiting for a period of time.

Hiro enables you to manage energy in your game. You can define multiple energy types, each with their own configuration. Energy amounts are stored per user, and the real-time value of the current energy amount is computed on get or spend. Players can spend one or more energy amounts and return all current energy values.

Customization parameters #

The following JSON represents the customization parameters you can use to configure the default user experience for the Energies system.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
  "energies": {
    "<energyName1>": {
      "start_count": 5,
      "max_count": 5,
      "refill_count": 1,
      "refill_time_sec": 600,
      "implicit": true,
      "additional_properties": {
        "<propertyName>": "value"
      }
    },
    "<energyName2>": {
      "start_count": 0,
      "max_count": 5,
      "refill_count": 1,
      "refill_time_sec": 3600,
      "implicit": false,
      "reward": {
        "guaranteed": {
          "currencies": {
            "gold": {
              "min": 100
            }
          },
          "items": {
            "hero_card": {
              "min": 1,
              "max": 5
            }
          }
        }
      },
      "additional_properties": {
        "<propertyName>": "value"
      }
    }
  }
}

The JSON schema defines an energies object which must contain an individual object for each energy you wish to define in the system. You can configure as few or as many energy types as needed for your desired gameplay.

Each energy is keyed by name and may define the following:

PropertySubpropertyDescription
start_countThe initial amount of this energy a user should start with.
max_countThe maximum amount of this energy a user can possess at any time.
refill_countThe amount of this energy refilled after each interval (defined in refill_time_sec).
refill_time_secThe time in seconds it takes for this energy to refill by refill_count amount.
implicitIf true the user starts with this energy, if false they must be granted this energy.
rewardAn object that defines what rewards a player should receive when spending this energy.
additional_propertiesA string:string dictionary of key value pairs that can contain additional context.