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