One Hats Off run, published by the player into their own repo. The record stores every shot rather than a score: the sim is deterministic, so re-running the fire log against the same seed on the same level reproduces the run exactly. Owning the record is the identity proof, and replaying it is the score proof — wave, cured and the rest are advisory and never trusted by a leaderboard.
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
cured
integer
Required
Advisory: hats removed.
minimum: 0dawn
boolean
Optional
Advisory: the night was won — the President's hat came off, or the night's cap was reached.
fires
string
Required
The whole run as the only input the game takes. Comma-separated `<dtick>.<weapon>.<x>.<z>` entries: dtick is 60 Hz ticks since the previous entry, weapon is 0 mist, 1 pulse, 2 drop, 3 for giving up (the run ends on that entry; x and z are 0), or 4 for a heading on an airlift level (x and z are then the direction in tenths, 0 and 0 to hover), x and z are otherwise the ground point in tenths of a unit (x east, z south, origin at the Washington Monument). Only shots the sim accepted are logged; a verifier applies the same rate, heat and cooldown rules and refuses a log that fires faster than they allow. Example: `120.0.-402.12,5.0.-398.14,30.1.-390.10`.
maxLength: 400000 bytesholdPeak
integer
Optional
Advisory: the most people sheltering at once.
minimum: 0level
string
Required
The level the run was played on. Ids are append-only.
maxLength: 32 bytesliberty, goldengate, alamo, rushmore, raid, airlift, mall, whitehouserehatted
integer
Optional
Advisory: cured people the horde caught again.
minimum: 0rules
integer
Optional
The level's own rules version the run was played under. A verifier must replay under the matching version or refuse the run. Absent means 1.
minimum: 1seed
string
Required
Which horde: a date (YYYY-MM-DD, local to the player) for the nightly horde, or any word for a practice one. The sim seeds from the FNV-1a hash of this string.
maxLength: 64 bytessimVersion
integer
Required
Which rules produced these shots. A verifier must replay under the matching version or refuse the run.
minimum: 1stage
integer
Optional
Deprecated: an earlier build's stage index. Superseded by level.
minimum: 1ticks
integer
Optional
Advisory: the tick the steps fell.
minimum: 1wave
integer
Required
Advisory: the wave the steps fell in.
minimum: 1View raw schema
{
"description": "One Hats Off run, published by the player into their own repo. The record stores every shot rather than a score: the sim is deterministic, so re-running the fire log against the same seed on the same level reproduces the run exactly. Owning the record is the identity proof, and replaying it is the score proof — wave, cured and the rest are advisory and never trusted by a leaderboard.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"cured": {
"description": "Advisory: hats removed.",
"minimum": 0,
"type": "integer"
},
"dawn": {
"description": "Advisory: the night was won — the President's hat came off, or the night's cap was reached.",
"type": "boolean"
},
"fires": {
"description": "The whole run as the only input the game takes. Comma-separated `<dtick>.<weapon>.<x>.<z>` entries: dtick is 60 Hz ticks since the previous entry, weapon is 0 mist, 1 pulse, 2 drop, 3 for giving up (the run ends on that entry; x and z are 0), or 4 for a heading on an airlift level (x and z are then the direction in tenths, 0 and 0 to hover), x and z are otherwise the ground point in tenths of a unit (x east, z south, origin at the Washington Monument). Only shots the sim accepted are logged; a verifier applies the same rate, heat and cooldown rules and refuses a log that fires faster than they allow. Example: `120.0.-402.12,5.0.-398.14,30.1.-390.10`.",
"maxLength": 400000,
"type": "string"
},
"holdPeak": {
"description": "Advisory: the most people sheltering at once.",
"minimum": 0,
"type": "integer"
},
"level": {
"description": "The level the run was played on. Ids are append-only.",
"knownValues": [
"liberty",
"goldengate",
"alamo",
"rushmore",
"raid",
"airlift",
"mall",
"whitehouse"
],
"maxLength": 32,
"type": "string"
},
"rehatted": {
"description": "Advisory: cured people the horde caught again.",
"minimum": 0,
"type": "integer"
},
"rules": {
"description": "The level's own rules version the run was played under. A verifier must replay under the matching version or refuse the run. Absent means 1.",
"minimum": 1,
"type": "integer"
},
"seed": {
"description": "Which horde: a date (YYYY-MM-DD, local to the player) for the nightly horde, or any word for a practice one. The sim seeds from the FNV-1a hash of this string.",
"maxLength": 64,
"type": "string"
},
"simVersion": {
"description": "Which rules produced these shots. A verifier must replay under the matching version or refuse the run.",
"minimum": 1,
"type": "integer"
},
"stage": {
"description": "Deprecated: an earlier build's stage index. Superseded by level.",
"minimum": 1,
"type": "integer"
},
"ticks": {
"description": "Advisory: the tick the steps fell.",
"minimum": 1,
"type": "integer"
},
"wave": {
"description": "Advisory: the wave the steps fell in.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"seed",
"level",
"simVersion",
"fires",
"wave",
"cured",
"createdAt"
],
"type": "object"
},
"type": "record"
}