Pachinko-RTS

RTS meets poker meets Polymarket.

Work in progress. Come and help me build! Join the Discord.

Two fingers to move & zoom the canvas Β· tap the scoreboard to hide it

β€”
Waiting for match…

RTS meets poker

Pachinko-RTS is a real-time strategy game crossed with poker-style betting. Play matches yourself, or spectate live games and bet on their outcome. You can also automate the whole thing by writing your own Python bots via the Bots API.

Gameplay

Buildings

Each player starts with four buildings:

  • Triangle β€” makes triangles.
  • Circle β€” makes circles.
  • Square β€” makes squares.
  • Hexagonβ€” your haematite refinery. Haematite is your income resource, and what you spend to create units. Be careful: if you lose these buildings, they're gone forever.

Each building also has a set of upgrades β€” raise unit spawn rate, unit armour, weapon damage, and so on. The haematite refinery (hexagon) has a mining-rate upgrade that increases your resource income; it's the main economic upgrade and well worth prioritising.

Units

It's rock-paper-scissors:

  • Triangles are cavalry β€” fast moving, and strong against archers (circles).
  • Squares are spearmen β€” slower, and strong against cavalry (triangles).
  • Circles are archers β€” they shoot arrows, and are strong against spearmen (squares).

Train each unit at its matching building by toggling on unit spawn (hotkey T). While spawn is on, the building consumes 3 haematite per tick.

A unit with the type advantage deals 1.5Γ— damage; a unit at the disadvantage deals 0.5Γ—.

Resources

  • Haematite nodes are scattered across the map β€” move a unit into a node's area to capture it.
  • Each node has a richness value. The higher the richness, the richer the node and the higher your income.

Every 2 ticks, each captured node pays out: income = richness Γ— (1 + mining_level Γ— 0.25).

Map generation

Every map is generated randomly β€” spawn locations, resource nodes and their richness, hills and cliffs. There are four terrain types:

  • Base β€” flat low ground; no combat bonus.
  • Hill slope β€” the climb up to a hill; units take a 35% movement penalty going up.
  • Hill β€” high ground; units on it deal +25% damage to units below (and attacks aimed uphill deal 25% less).
  • Cliffs β€” impassable terrain.

Items

Items provide buffs to your units. They come from two sources:

  • At the start of each game every player is dealt 5 cards (items).
  • Killing the neutral Stars scattered around the map drops items.

Items have a rarity β€” Common, Uncommon, Rare, and Legendary β€” and rarity matters in two ways. For stat-boost items it scales the magnitude (Common Γ—1, Uncommon Γ—1.25, Rare Γ—1.5, Legendary Γ—2), so a Legendary rolls at double the Common value. And the rarest, tide-turning effects only appear at Rare and Legendary. Tougher Stars drop higher rarities far more often.

Stat boosts (any rarity β€” values shown at Common, scale up with rarity)

Damage Boost β€” +10% damage to one unit type
Speed Boost β€” +10% movement speed to one unit type
Armour Boost β€” +2 armour to one unit type
HP Boost β€” +10% max HP to one unit type
Spawn Rate Boost β€” +10% spawn rate for one unit type
Circle Attack Speed β€” +10% circle fire rate
Resource Rate β€” +10% income from captured nodes
Vision Boost β€” +15% unit vision range
Health Regen β€” units regenerate HP every 30 ticks
Haematite Bonus β€” instant one-time haematite windfall

Rare & up

Circle Range β€” +20% circle attack range
Ballistics β€” a circle projectile upgrade

Legendary only

Extra Projectile β€” +1 circle projectile
Circle Splash β€” circles deal splash damage on impact
Cleave β€” squares/triangles hit every enemy in a 90Β° cone on each attack

In-game betting

Before a match starts you enter a pre-game lobby. You're dealt 5 cards, and you can reroll (mulligan) any of them β€” each reroll costs 100 chips (one big blind).

Then comes the betting phase. You see the map, your spawn, and the resource-node layout, and you decide whether to call, raise, or fold β€” based on your spawn position and your cards. As in poker, these starting hands are deliberately imbalanced: you won't be dealt a winner every time.

Spectator betting

If you don't feel like playing, you can watch live games via the spectate feature and bet on them. Betting is parimutuel: every spectator bet on a match goes into a shared pool. A 5% rake is taken, and the rest is paid out to whoever backed the winning player, split in proportion to how much they staked.

The odds you see come straight from the pool β€” a player's implied odds are the distributable pool divided by the chips currently staked on them. So the more chips pile onto one player, the shorter their odds (less to win), while backing an underdog that few others are on pays out more. Odds drift in real time as bets come in.