One of the things that I found most vexing about lockdown was that I was unable to play some of my favourite board games. There are online systems for many games, but not all. And online systems cannot support games like Mao where the players make up the rules as we go along.
I had an idea for how to solve this problem, and set about implementing it. The result is Otter (the Online Table Top Environment Renderer).
We have played a number of fun games of Penultima with it, and have recently branched out into Mao. The Otter is now ready to be released!
More about Otter
(cribbed shamelessly from the README)
Otter, the Online Table Top Environment Renderer, is an online game system.
But it is not like most online game systems. It does not know (nor does it need to know) the rules of the game you are playing. Instead, it lets you and your friends play with common tabletop/boardgame elements such as hands of cards, boards, and so on.
So it’s something like a “tabletop simulator” (but it does not have any 3D, or a physics engine, or anything like that).
This means that with Otter:
Supporting a new game, that Otter doesn’t know about yet, would usually not involve writing or modifying any computer programs.
If Otter already has the necessary game elements (cards, say) all you need to do is write a spec file saying what should be on the table at the start of the game. For example, most Whist variants that start with a standard pack of 52 cards are already playable.
You can play games where the rules change as the game goes along, or are made up by the players, or are too complicated to write as a computer program.
House rules are no problem, since the computer isn’t enforcing the rules – you and your friends are.
Everyone can interact with different items on the game table, at any time. (Otter doesn’t know about your game’s turn-taking, so doesn’t know whose turn it might be.)
Installation and usage
Otter is fully functional, but the installation and account management arrangements are rather unsophisticated and un-webby. And there is not currently any publicly available instance you can use to try it out.
Users on chiark will find an instance there.
Other people who who are interested in hosting games (of Penultima or Mao, or other games we might support) will have to find a Unix host or VM to install Otter on, and will probably want help from a Unix sysadmin.
Otter is distributed via git, and is available on Salsa, Debian’s gitlab instance.
There is documentation online.
I have a number of ideas for improvement, which go off in many different directions.
Quite high up on my priority list is making it possible for players to upload and share game materials (cards, boards, pieces, and so on), rather than just using the ones which are bundled with Otter itself (or dumping files ad-hoc on the server). This will make it much easier to play new games. One big reason I wrote Otter is that I wanted to liberate boardgame players from the need to implemet their game rules as computer code.
The game management and account management is currently done with a command line tool. It would be lovely to improve that, but making a fully-featured management web ui would be a lot of work.
(Click for the full size images.)