Landlord's Game

Elizabeth Magie's 1904 patent, the game that became Monopoly. Dice-roll circuit with property trading, rent, and a five-circuit win condition.

Embed via iframe

Every game family shares one embed surface. Select the family and variant through the URL.

<iframe
  src="https://engine.moddable.games/play/?embed=1&family=landlords-game&variant=1904-original"
  style="width:100%;max-width:560px;aspect-ratio:1/1;border:none"
  title="Play Landlord's Game"
></iframe>

URL parameters

ParamValuesDefault
embed1Required for embed mode
familylandlords-gamechess
variant1904-original1904-original
opponentai | humanai
themeBoard theme idclassic

postMessage control

Commands accept either the generic game: prefix or the family prefix, so game:undo and landlords-game:undo both work.

iframe.contentWindow.postMessage({ type: 'game:newGame' }, '*')
iframe.contentWindow.postMessage({ type: 'game:undo' }, '*')
iframe.contentWindow.postMessage({ type: 'game:resign' }, '*')
iframe.contentWindow.postMessage({ type: 'game:requestState' }, '*')

Events from embed

window.addEventListener('message', (e) => {
  switch (e.data.type) {
    case 'game:ready':  break  // { family, variant, state }
    case 'game:move':   break  // { move, state }
    case 'game:status': break  // { text, gameOver, family, variant }
    case 'game:state':  break  // { state } in reply to requestState
  }
})

Variants

One variant from the moddable-rules Landlord's Game hub is playable. Two further editions (1906 and 1932 Prosperity) are in the corpus with rendered boards but no plugin support yet.

KeyBoardDistinguishing rule
1904-original40-space circuit22 numbered lots; rent = lot number; price = 10× lot; 5-circuit win

Mechanics

The plugin handles dice rolling, movement, buying, rent, jail, and the circuit win condition. Configuration arrives via frontmatter and the board data file:

Config keyEffect
boardWhich board edition to load (1904-patent)
startingCashCash each player starts with
circuitsCircuits to complete to win (default: 5)
wagesCash earned on passing the start space

Each turn: roll two dice, move that many spaces, and resolve the landing (buy a lot, pay rent, go to jail, collect a legacy). The seat panel shows each player's cash, lots, franchises, circuit progress, and jail status. The first player to complete five circuits wins.

SDK

import { createGame, listVariants } from 'moddable-engine/play'

listVariants('landlords-game')                // [{ key, label, group, board }]
const game = createGame('landlords-game', '1904-original')
game.applyMove({ action: 'roll' })