Skip to content

Oct 15, 2026

Central419

Building Dune on Tabletop Simulator

All posts

In the last post I told how I ended up playing Dune online every week. All of those games happened in Tabletop Simulator (TTS), on the GF9 Dune 2019 (Discord Mod), maintained by Krell. It’s still the mod most people use, with close to 7,000 subscribers, and it’s the table where I learned to play.

A game night on Tabletop Simulator.

TTS gives you a table and pieces you can pick up, and very little else. Every rule is enforced by the players, and Dune has a lot of bookkeeping. Every bit of it is a chance to make a mistake or slow the game down.

So I started scripting.

What I added to the community mod

The contribution I am proudest of is the bidder. Bidding on treachery cards used to mean typing numbers into chat and someone keeping track of who had passed. With the bidder, you click to bid, your faction symbol shows up, and it moves on to the next player by itself. Bidding happens every turn, so I think it may be the biggest single improvement the mod ever got.

The bidder in Krell's mod.
Its next iteration, which never made it in.

I also scripted the storm, so each storm card moves it the right number of sectors; spice cards that spawn their own spice in the right territory; and personal spice reserves and the Spice Bank’s stacks.

Every storm card moves the storm with one click.

And I modelled a lot of the 3D objects in Blender that are still on the table today: the bidder, the table and the board, the phase icons and some of the ships. I also converted Shai-Hulud and the Ixians’ HMS.

Two of my models: the bidding phase icon and an Emperor troop.

It’s a joy to see many of these ideas show up in other Dune mods too.

Mods of my own

Some experiments I shared as separate Workshop items: scripted battle wheels, automated bidding decks, a memory bag that sets pieces out wherever you put it, and a faction creator with GF9’s factions and Brainfood’s custom ones to start from.

Scripted battle wheels.
Automated bidding decks.
The faction creator, with a table for every faction.

Long before the Homeworlds variant came out, I wanted each faction’s home planet floating behind the table. I never finished it, but the Planets pack I made for it found almost 3,000 subscribers.

The Planets pack.

Fighting the tools

The more I built, the harder TTS was to work with. Its scripts are Lua, a perfectly fine language but not the one I was most comfortable in, and they lived scattered across objects in the save file.

I had a vision of my own TTS mod: written from the ground up, automating every tedious bit where mistakes, delays and frustration build up. Unfortunately, I got incredibly side-tracked.

Every faction's pieces laid out for my own mod, June 2021.

It started with the assets. Our group played a custom rule set that we kept playtesting and improving; new metas developed and new strategies were found, so the changes never stopped. Every time a faction advantage changed, its sheet had to change too. I redrew the vectors and icons, and worked in GIMP, stacking layers and overlaying text, to stay as close as I could to the original art.

A custom card by Ridwan.
Hand-painted troops on the Imperial Basin, June 2020.

And I always wanted my mod to support multiple rule sets, maybe infinitely many, with everything customisable. So the scope creep never seemed to stop, in a development environment that was rather tedious.

Then came the rabbit holes. I vectorized all the iconography, and then the board itself: every territory, sector line and stronghold redrawn as clean shapes.

Next I wanted the territory names on the board, in the right font. Getting text to render in the correct font inside TTS was a puzzle of its own.

All of it was so that some day it would be possible to load different boards. That never happened in TTS, but it’s something dune.zone play will support!

The vectorized board.
Territory names in the right font, February 2023.

From a mod to the fundamentals

So I decided to build an asset generator: one source of truth for everything about the factions, from which my tool would generate every image TTS needed.

Then I wanted the rulebook to reference the same data. It kept growing bigger and bigger, with more work every time I touched something. I wasn’t working on the TTS mod anymore; I was working on the fundamentals.

Those fundamentals are what dune.zone is built on.

The Iduali by Ridwan, as a document.
The Iduali on dune.zone today.