(no subject)

Date: 2021-04-30 11:14 am (UTC)
diziet: (0)
From: [personal profile] diziet

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):

Dagaz$ git-ls-files | grep -vP '\.(?:wav|png|log|jar|ogg)$|^LICENSE|^license' | xargs cat -- | wc -l
600745
Dagaz$ git-ls-files src/debug/games/ | grep -vP '\.(?:wav|png|log|jar|ogg)$|^LICENSE|^license' | xargs cat -- | wc -l
563101

otter$ git-ls-files | grep -vP '^Cargo\.lock$' | grep -vP '^(?:COPYING|AGPLv3|LICEN[CS]E|CC-BY-SA.*)$|\.(?:download-log|wikitext|svg|pnm|png)$' | xargs cat -- | wc -l
30713
otter$ git-ls-files library/ specs/ src/clock.rs | grep -vP '^Cargo\.lock$' | grep -vP '^(?:COPYING|AGPLv3|LICEN[CS]E|CC-BY-SA.*)$|\.(?:download-log|wikitext|svg|pnm|png)$' | xargs cat -- | wc -l
2409
(will be screened)
(will be screened if not on Access List)
(will be screened if not on Access List)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

diziet: (Default)
Ian Jackson

May 2025

S M T W T F S
     123
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags