chiark / gitweb /
Break out clisupport.rs
[otter.git] / README.md
1 Introduction
2 ============
3
4 Otter, the Online Table Top Environment Renderer, is an online game
5 system.
6
7 But it is not like most online game systems.  It does not know (nor
8 does it need to know) the rules of the game you are playing.  Instead,
9 it lets you and your friends play with common tabletop/boardgame
10 elements such as hands of cards, boards, and so on.
11
12 So it's something like a "tabletop simulator" (but it does not have
13 any 3D, or a physics engine, or anything like that).
14
15 This means that with Otter:
16
17  * Supporting a new game, that Otter doesn't know about yet, would
18    usually not involve writing or modifying any computer programs.
19
20  * If Otter already has the necessary game elements (cards, say) all
21    you need to do is write a spec file saying what should be on the
22    table at the start of the game.  For example, most Whist variants
23    that start with a standard pack of 52 cards are already playable.
24
25  * You can play games where the rules change as the game goes along,
26    or are made up by the players, or are too complicated to write as a
27    computer program.
28
29  * House rules are no problem, since the computer isn't enforcing the
30    rules - you and your friends are.
31
32  * Everyone can interact with different items on the game table, at
33    any time.  (Otter doesn't know about your game's turn-taking, so
34    doesn't know whose turn it might be.)
35
36 We have played successful and fun online games of both Penultima and
37 Mao with Otter.
38
39
40 Playing a game with Otter
41 -------------------------
42
43 The Otter game environment is accessed from a web browser running
44 JavaScript, using a magic https link obtained from joining the game.
45
46 You will need to be able to talk to your friends about the game, while
47 you play.  Otter works well when used together with a voice chat - we
48 have had success with Jitsi in voice-only mode.
49
50 Most relatively modern desktop browsers should be able to work with Otter.
51 (The most advanced feature needed is support for WebAssembly.)
52
53
54 Predefined games and pieces currently available
55 -----------------------------------------------
56
57 Otter currently has, in its pieces library:
58
59   * Ingredients for chess, including fairy chess.  So there's a board,
60     pieces, including many fairy chess pieces, and a chess clock.
61
62   * Ingredients for card games.  So, a deck of 52 standard playing
63     cards, plus two kinds of joker.  Special "hand" and "deck" pieces
64     for player hands and a pickup deck.
65
66 Currently there are game definitions for:
67
68  * Penultima.  This can be used directly to play standard chess and
69    some fairy chess variants.
70
71  * Mao.  This can be used to play any game of roughly that shape.
72
73 Defining new games using the existing pieces from the library is
74 fairly easy.  It is also possible to add elements from the library
75 ad-hoc, even while a game is in progress.
76
77
78 Limitations
79 -----------
80
81 Currently, joining a game requires a unix shell account on the server
82 host (or help from a shell account user).
83
84 There is not currently a publicly available server.  The server code
85 is Free Software and if you have a suitable vm or server you are
86 encouraged to build and run it yourself, for you and your friends.
87
88 Mobile phones are not really suitable for playing on Otter because
89 their screens are too small.  Tablets and other touchscreen based
90 systems could be made to work, but don't work well right now.
91
92 Otter does not currently have even a built-in text chat facility.  It
93 does have a way to share a URL for a voice chat.
94
95 Right now Otter is in a beta state.  There are significant
96 as-yet-unimplemented improvements that would make it work better for
97 more people and more games.  I don't currently promise savefile
98 compatibility, or upgradeability, from one Otter version to the next.
99 And there are still bugs.
100
101
102 Free software, and user freedom
103 -------------------------------
104
105 Otter is Free Software.  I wrote it to liberate game players from the
106 need to encode their game rules as computer programs and thus from the
107 tyranny of programmers `:-)`.
108
109 I would love contributions, particularly to address the limitations I
110 mention above, and to improve the user experience.
111
112 I am also working to make it possible to let users define their own
113 games (including their own pieces, cards, boards, and so on) without
114 having to install them on the server.
115
116 The Otter software project is hosted on Debian's GitLab, at
117 <https://salsa.debian.org/iwj/otter>.
118
119 Merge requests (accompanied by a `Signed-off-by` indicating sign-off
120 of the Developer Certificate of Origin) would be very welcome.
121
122
123 References
124 ----------
125
126  * [Source repository on Salsa, Debian's GitLab](https://salsa.debian.org/iwj/otter)
127  * [This documentation, online copy](https://www.chiark.greenend.org.uk/~ianmdlvl/otter/docs/)
128  * Mailing lists for [annoucements](https://www.chiark.greenend.org.uk/mailman/listinfo/sgo-software-announce) and [discussion](https://www.chiark.greenend.org.uk/mailman/listinfo/sgo-software-discuss)