Arkiv Ideathon · Other lane · game / world state

Tideland

An open, serverless game world the tide is always taking back. Every wall and monument is an Arkiv entity kept alive by Lifetime Extension, materials are lifetimes, and whatever the players stop caring about literally sinks off the query surface.

decay is the database, not game code any client renders the same world idea + data-model design
The mechanic

A shoreline, mid-tide

Pine fades in days, stone in a season, monuments stand for years. Watch the neglected district: nothing is deleting those buildings. Their entities are expiring.

M
S
S
P
P
?
S
S
M
P
P
P
?
S
S
P
P
P
S
P
P
?
pine · 7 d stone · 90 d monument · 5 y prepaid expired · claimable
The tide map
eq(geoCell,c) & lt(expiresAt, now+86400)
fisherman's hutsinks in 3 h
east palisadesinks in 9 h
old millsinks in 21 h
harbor monument4 y 2 mo

Scavengers watch it to claim. Guilds watch it to rescue their own. The scoreboard of neglect is one range query.

Four primitives, four mechanics

The database is the game design

Entity Expiration

Decay no patch can revoke

In Rust or Wurm, decay is game code a studio can change. Here no GM can save a monument the players stopped funding: expiry is protocol physics.

Lifetime Extension

Upkeep is the core loop

Renewing an entity is watering a plant. Under the strict permission model only an owner extends, so rescuing a stranger's tower means they transfer it to you first: the social drama, not a bug.

Bytes x lifetime pricing

Materials are lifetimes

Pine, stone, monument: the same entity with different prepaid spans. Bigger and longer costs more by construction, so scarcity needs no tokenomics.

$creator / $owner

Every ruin has an author

Parcels trade via changeOwnership: a real land market. But $creator is immutable: the mason's signature outlives every sale. You cannot take what is maintained; you inherit what is abandoned.

Schema

Five entity types

Parcel alive while renewed

  • $creator=founder · $owner=holder tradeable
  • geoCell string cell, eq · claimedAt int

Claimable only where the previous parcel expired. Claim races resolve deterministically: both visible, earlier timestamp wins by convention, the loser goes unrenewed. Contested ground is visible drama, not corruption.

Structure pine 7 d · stone 90 d · monument 5 y

  • parcelId shared key · kind · guildId
  • geoCell · expiresAt int, mirrors its own expiry

Lifetime bought at build time: material IS lifetime. $creator = the builder, forever.

GuildCharter renewed monthly

  • officers · members payload

A charter nobody renews disbands the guild by protocol, and its lands drift onto the tide map.

Inscription + Chronicle chosen lifetime · 5 y

  • geoCell · authorTag · text payload

Writers pay for exactly how long they want to be remembered. Chronicles keep seasonal history queryable after the evidence itself has sunk.

Reads

The queries it lives on

eq(type,'structure') & eq(geoCell, c)

Render a region. Any client, mod, map site or bot draws the same world from the same filters: no server, no indexer, no studio in the loop.

eq(geoCell, c) & lt(expiresAt, now+86400)

The tide map. Everything that sinks in the next day. Absence-as-pressure, rendered as gameplay.

structures where $creator = p · parcels where $owner = p

A builder's legacy and a holder's estate: craft reputation and holdings are both pure queries.

count( eq(type,'structure') & eq(guildId, g) )

A guild's standing footprint: the territory score, counted, never asserted.

The system

One board, end to end

Writers, the entity layer with its lifetimes, the readers, and the build → maintain → neglect → reclaim loop. Click for full size.

Tideland system diagram: players and guilds write signed entities into Arkiv; five entity types with differentiated lifetimes; clients, scavengers and historians read the same world through queries; realtime gameplay stays off the hot path

Why Arkiv, not a game server?

  • The economy is the storage layer's pricing. On Postgres, upkeep is a cron job and a promise a patch can break; here it is physics.
  • Nobody owns the world. Rival clients render the same state; there is no studio that can shut it down.
  • Permanence claims are honest. A five-year monument is cryptographically five years, not a marketing line.
  • Prior art, claimed: decay upkeep (Rust, Wurm), expire-and-reclaim (ENS), autonomous worlds (MUD, Dark Forest). The difference: decay is not game code. It is the database.

What stays off Arkiv

  • Realtime gameplay. Movement, chat, battles stay in clients and rooms; only durable world changes land as entities.
  • Art. Content hashes in payloads, files on ordinary storage.
  • The social layer. Guild politics happen between people; Arkiv holds what they built and signed.
  • Execution. The tide map is a query, not a trigger. Clients and players act on what it shows.