chiark / gitweb /
changelog: document further make-release changes
[otter.git] / HIDDEN2.md
1
2 Concepts
3 --------
4
5 Views
6
7         When a Thing is happening, the happener divides players into
8         equiv classes (usu, (i) our player (ii) other players)
9
10         View specifies some Occultations
11
12         Each Occultation is applied equally to all players within a
13         View so that they all see the same
14
15 Occulations
16         Some of these these occur at a point in time and then
17                 wait to become relevant.
18         Some have a continuous effect.
19
20         Only one occultation for each piece for each player at a time
21
22 Identity scrambled
23         Instantaneous effect:
24                 - Choose a permutation of affected pieces
25                 - Permute the visible/real ID mapping
26                 - If the players in this view can see the real locations,
27                   permute the locations too (actually moving the pieces)
28         Typ., redone when new pieces are added to the affected set
29
30 Location hidden
31         Occultor provides layout area
32         Pieces laid out in order according to err something ?
33         Occultees see these synthetic locations
34
35         When an occultee moves, that becomes actual location,
36                 now piece is no longer occulted
37                 Z level needs special handling - overwrite
38                         original Z with something
39         When a non-occulteee moves, that is still actual location
40                 but it isn't visible
41
42 Totally invisible
43         The piece disappears from view.  Message explaining why
44         "Alice puts a black token into Alice's bag"
45
46
47 Scrambling vs Visible
48 ---------------------
49
50 If any player sees Scrambled, none see Visible.  This is because
51 Scrambled works by permuting actual locations.
52
53
54 Other
55 -----
56
57 Default hidden face
58         When something was occulted it is "face down", mostly,
59                 until it is put somewhere with a faceupness field
60
61 When happens
62         When piece is released, occultation may change or be effected
63                 or something
64
65
66 pinning/enablement etc.
67         Need way to introduce these per-player pieces
68         Also need way to de-activate them
69
70
71 Future
72 ------
73
74         SVG ondemand or hashes or something to avoid
75                 (i) retransmissions of lots of data
76                 (ii) leaks by data sizes
77                 (iii) huge a-* files