An open source board game simulator is nice and this project looks quite far along, but I wonder if it makes sense to make it physics based, by far this is the worst aspect of Tabletop simulator (the paid game) and it makes it really hard to play if you have any kind of impairment (visual, motor, etc).
Which is kinda sad, because turn by turn board games are the best for those kind of players, but there are no open source 2D board game software that I know of.
I'm not disabled, but it was just as painful for me to play on TTS anyway so I don't really understand the appeal.
If you are interested in non physics-based game simulators, the open source VASSAL predates tabletop simulator by many years and has support for many games.
This is really interesting, never saw that before. I've long been thinking of starting a hobby project for a general purpose board gaming rules engine. Guess it's already there!
I don't use TTS because it is physics based... which makes it awkward.
That said... having it be "physics based" means that you don't need as much game rules implemented in computer logic compared to human logic.
Consider the code for writing tic tac toe without a physics model. You've got valid position checks, win condition checks and so on. It's not bad (its tic tac toe), but its something that needs to be written by someone.
In a physics based tic tac toe, you've got X and O and a # board. If someone plays a wrong move you say "dude, you can't do that." When you win, you say "tic tac toe, three in a row, I win."
This allows a physics based model to implement a lot of game logic in meat space rather than in game code which in turn means that it can be made available more rapidly and doesn't need a programmer to convert game rules into business logic into code.
---
I'd also suggest checking out https://www.yucata.de/en (and other similar online systems). No, its not open source - its server hosted... but its really well done.
As a matter of fact, I am struggling to think of any boardgames which have a 3d component. I am sure they exist, but a robust 2d representation feels easier and would still be applicable to 99% of existing games.
Stacking mechanics are typically where you want the engine to defy physics, though. For example picking up a stack of cards, the stack is typically treated as a single object rather than 52 individual objects that can fall apart.
Playing virtual poker, you probably don't want to have to manually manipulate individual poker chips or move around wobbly stacks of chips (yes that can be fun in itself, but there will be someone who struggles to move their chips around intuitively and inevitably delay the actual game at hand).
Having said that for games like virtual Jenga, you absolutely DO want to keep those wobbly blocks of wood.
In implementing a physics based board game system, I don't need to program the rules of the board game, "just" the rules of physics. Fortunately, the rules of physics are fairly consistent.
The same physics based system to play horse world, tic tac toe, or chess would work - its just about managing different models of objects in the world.
This implementation of chess ( https://youtu.be/XwHOH-C-4vA ) doesn't understand chess - its up to the human players to play it.
That it is a 3d physics simulator it allows humans to interact with it in the same way we would interact with the real world pieces.
There is no rules management / engine in the physics model preventing an invalid game move or determining when someone has won the game.
This is why its "easy" in that you just implement the physics engine, introduce the models into it and let the humans play the game.
If, however, you wanted to implement a game without the physics model, you would need a more complete model of the game state because you aren't using the 3d placement of the pieces and the humans to model it for you.
With table top simulator working off a physics model, ponte del diavolo is a board and two different types of pieces in two different colors. Tally Ho! is seven tiles (of various counts of each) and Sudoku Moyo is a board with nine sets of pieces with the numbers 1 through 9 on them (one in one color, and four sets in two different colors each).
The physics version of the game doesn't require a model of the game state, just the game pieces for two humans to play the game against each other.
By having a physics simulation and models of the pieces for a game, two humans can play the game. The physics simulation requires no understanding of the game rules itself.
In order to implement a game without a physics simulation, it requires that the game state (rather than the physical state) be modeled. It is that modeling of the game state and the permissible moves that requires much more work.
> In order to implement a game without a physics simulation, it requires that the game state (rather than the physical state) be modeled.
This is obviously wrong, unless you mean "sandbox" every time you say "physics".
For example, playingcards.io is a sandbox. It allows everyone to move cards around at any time, and players can use whatever rules they want. It has no physics simulation. Is this what you mean?
> Tabletop Simulator is an independent video game that allows players to play and create tabletop games in a multiplayer physics sandbox.
> ...
> Tabletop Simulator is a player-driven physics sandbox, without set victory or failure conditions. After selecting a table to play on, players interact with the game by spawning and moving virtual pieces, which are subject to a physics simulation. Online multiplayer is supported with a maximum of ten players. Aside from spawning and moving pieces, the game includes mechanics to assist with common styles of board game play, such as automatic dice rolling and hiding players' pieces from one another; other mechanics aid in administrating a game, for example saving the state of the board or undoing moves.
These are 2D web based implementations with some remote server to sync moves between players. All the rules are written as code that gets validated. So you don’t know how to play a game before hand. You can skim the rules and use the game to learn.
TTS sometimes requires you to sometimes know how to play. So you can move some 3D widget to the right place. They get around having to coffee the roles by forcing the players to know how to play.
Imagine you + friends are wearing a VR headset/matrix/meta verse/whatever. You are in a simulated room with stack of board game pieces. The physics stimulates how the pieces interact with proscribing any particular rules.
I don’t think you need to worry about VR. I’m no game developer, but I wager to some degree, it’s probably easier to create your pieces in an existing 3D engine. And allow yourself to move them. Bit of code to randomise cards and you don’t need to worry about rules.
> I wonder if it makes sense to make it physics based, by far this is the worst aspect of Tabletop simulator
Definitely. Tabletop Simulator is (or at least, was about a year ago) so bad at this it was deemed unusable for my gaming group. Everyone kept knocking things over, which hilariously happened way more often than with an actual boardgame with physical pieces! It felt like playing drunk, but without the alcoholic fun.
How do you even knock stuff over? Like the default lift height when you click on something raises it well above the other pieces or where it could really interfere with anything...
I don't remember the details because this more than one year ago or maybe even two, closer to when the pandemic started. I do remember things getting knocked over, moving all over the place, shifting in unexpected ways, etc.
In my opinion, if something like TTS doesn't work "out of the box" (no tweaking, no fiddling with settings) it's not a different enough experience from a clunky computer game, precisely the kind of thing I'm trying to get away from when playing board games...
I don't think I've ever knocked anything over in TTS, nor do I know how that would really happen. I've never changed any settings.
I always recommend TTS as exactly what you say it's not - no tweaking, no fiddling.
Interesting that our experiences with our respective groups differ so much! I wonder what the difference is - maybe the types of board games you played?
The nice thing about having a physics sandbox is that you can implement better interfaces on top of it using scripts, while still having the full flexibility to go outside the rules if your group feels like it. It's possible to implement a more accessible interface for pretty much any game you like.
For example in TTS there's a Catan one that's particularly good. It randomizes and sets up the board for you at the start of the game with a single click. It will do stuff like automatically distributing resources to players based on the dice roll, which drastically reduces the amount of fiddling around with cards. I actually prefer playing Catan in TTS to the official PC port!
I went to the Boston festival of independent games virtually the last couple years. You meet with independent game designers who show you/demo their games. It’s fun.
For virtual demo game prototypes the table top simulator was used a fair amount.
Its interesting you say this, since personally the physics are the reason I prefer TTS lol. Everything sorta moving like it would in a table makes playing so much easier once you get over the hump of manipulating the controls.
But then again my use case is mainly RPGs rather than board games.
Which is kinda sad, because turn by turn board games are the best for those kind of players, but there are no open source 2D board game software that I know of.
I'm not disabled, but it was just as painful for me to play on TTS anyway so I don't really understand the appeal.