chiark / gitweb /
hidden: wip notes/plans
[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 Other
47 -----
48
49 Default hidden face
50         When something was occulted it is "face down", mostly,
51                 until it is put somewhere with a faceupness field
52
53 When happens
54         When piece is released, occultation may change or be effected
55                 or something
56
57
58 pinning/enablement etc.
59         Need way to introduce these per-player pieces
60         Also need way to de-activate them
61
62
63 Future
64 ------
65
66         SVG ondemand or hashes or something to avoid
67                 (i) retransmissions of lots of data
68                 (ii) leaks by data sizes
69                 (iii) huge a-* files