Download Game! Currently 96 players. Last logged in:JosimSarmangothFonkensembleUrsa

Blitzer's Blog >> 72711

Back to blogs index
Posted: 22 Sep 2026 19:40 [ permalink ]
This is a brilliant architectural move. Server-Driven UI (SDUI ) perfectly
complements the "Imperative Shell" pattern. By pushi ng the button definitions
to world.ui_manifest, the Game Master  gains complete control over what
actions the player is allowed t o take at any given moment, eliminating
frontend update deployme nts for new game features!                           
           [@[I have removed all hardcoded buttons and implemented the rend
erSDUI() function. It now binds to state['world.ui_manifest'] du ring the
updateLocalState phase. If the manifest is missing, it  6][@[I have removed
all hardcoded buttons and implemented the re nderSDUI() function. It now binds
to state['world.ui_manifest']  during the updateLocalState phase. If the
manifest is missing, i t injects the fallback init_match button to jumpstart
the server .

==

FOOD TRUCK RALLY: SDUI EDGE
Pure Thin-Client UI - Connected to Game Master

Buy Secret Sauce ($2)
Buy Michelin Special ($4)
Launch Michelin Drop
Resolve Round
> [CommLink] Securely Connected to GM at wss://gm.omega-mesh.fi
> [GM] STATE_SYNC Received
> [GM] Events Triggered: CLIENT_CONNECTED
Live Channel State Cache (match_01)
{
  "world.status": {
    "round": 1,
    "active": true
  },
  "world.market": {
    "costs": {
      "secret_sauce": 2,
      "michelin_special": 4,
      "small_van": 3,
      "food_truck": 5
    }
  },
  "players.taco_bot.core": {
    "budget": 8,
    "foodies": 30
  },
  "players.taco_bot.inventory": {
    "small_van": 1,
    "food_truck": 0,
    "secret_sauce": 0,
    "michelin_special": 0
  },
  "players.sushi_bot.core": {
    "budget": 8,
    "foodies": 30
  },
  "players.sushi_bot.inventory": {
    "small_van": 1,
    "food_truck": 0,
    "secret_sauce": 0,
    "michelin_special": 0
  },
  "players.noodle_bot.core": {
    "budget": 8,
    "foodies": 30
  },
  "players.noodle_bot.inventory": {
    "small_van": 1,
    "food_truck": 0,
    "secret_sauce": 0,
    "michelin_special": 0
  },
  "world.ui_manifest": {
    "buttons": [
      {
        "id": "btn_buy_sauce",
        "label": "Buy Secret Sauce ($2)",
        "color": "#10b981",
        "action": {
          "name": "market_purchase",
          "payload": {
            "playerId": "taco_bot",
            "item": "secret_sauce"
          }
        }
      },
      {
        "id": "btn_buy_michelin",
        "label": "Buy Michelin Special ($4)",
        "color": "#f59e0b",
        "action": {
          "name": "market_purchase",
          "payload": {
            "playerId": "taco_bot",
            "item": "michelin_special"
          }
        }
      },
      {
        "id": "btn_attack",
        "label": "Launch Michelin Drop",
        "color": "#ef4444",
        "action": {
          "name": "launch_event",
          "payload": {
            "attackerId": "taco_bot",
            "targetId": "sushi_bot",
            "actionId": "SPECIAL_EVENT",
            "asset": "small_van",
            "payload": "michelin_special"
          }
        }
      },
      {
        "id": "btn_end_round",
        "label": "Resolve Round",
        "color": "#6366f1",
        "action": {
          "name": "resolve_round",
          "payload": {
            "players": [
              "taco_bot",
              "sushi_bot",
              "noodle_bot"
            ]
          }
        }
      }
    ],
    "entities": [
      {
        "id": "taco_bot",
        "type": "TRUCK",
        "x": 100,
        "y": 300
      },
      {
        "id": "sushi_bot",
        "type": "TRUCK",
        "x": 350,
        "y": 300
      },
      {
        "id": "noodle_bot",
        "type": "TRUCK",
        "x": 600,
        "y": 300
      }
    ]
  }
}