I have just had a quick look and Dagaz seems rather different to Otter.
Dagaz knows (has to be told) a lot more about the game you're playing. Each of the games there has some JS code to implement it as well as code in Dagaz's DSL. Otter is more free-form.
As far as I can tell, Dagaz's concurrency/turn-taking model is that game system knows which player's turn it is. That makes things a lot simpler because only one player is doing anything at any one time. So you don't need to resolve concurrent (and possibly conflicting) actions by different players.
The amount of code in Dazag is striking, and the vast majority of it seems to be game-specific. (I suspect that some of it is wholly or partly machine-generated by scripts in utils but it's all in git and I couldn't find any build machinery to autoregenerate it.)
Conversely, Otter has nearly no game-specific code (even counting the chess clock):
(no subject)
Date: 2021-04-30 11:14 am (UTC)I have just had a quick look and Dagaz seems rather different to Otter.
Dagaz knows (has to be told) a lot more about the game you're playing. Each of the games there has some JS code to implement it as well as code in Dagaz's DSL. Otter is more free-form.
As far as I can tell, Dagaz's concurrency/turn-taking model is that game system knows which player's turn it is. That makes things a lot simpler because only one player is doing anything at any one time. So you don't need to resolve concurrent (and possibly conflicting) actions by different players.
The amount of code in Dazag is striking, and the vast majority of it seems to be game-specific. (I suspect that some of it is wholly or partly machine-generated by scripts in
utils
but it's all in git and I couldn't find any build machinery to autoregenerate it.)Conversely, Otter has nearly no game-specific code (even counting the chess clock):