chiark / gitweb /
hidden: wip notes/plans
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 19 Jan 2021 20:05:53 +0000 (20:05 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 31 Jan 2021 18:38:28 +0000 (18:38 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
HIDDEN.md
HIDDEN2.md [new file with mode: 0644]
HIDDEN3.md [new file with mode: 0644]

index 44acec6d851cc4c3817af6e7aaca57bc153ae697..077bfd999565205e7b6526f9397679e243af59da 100644 (file)
--- a/HIDDEN.md
+++ b/HIDDEN.md
@@ -21,7 +21,6 @@ Player sees:  number of tokens                                                SVGs of blanks at *calculated* locations
 Others see:    nothing
 
 
-
 Quacks bag - messy
 ------------------
 
@@ -31,6 +30,7 @@ Player sees:  number of tokens                                                SVGs of blanks at actual locations
 
 Others see:    nothing
 
+Magic "stopping" token is different to player but still invisible to others.  Has a different "back".
 
 
 Pick-up deck
@@ -52,7 +52,8 @@ Player sees:  cards laid out as they like                                     SVGs of fronts at actual locations
 Others see:    number of cards                                                 SVGs of backs at calculated locations
                laid out predictably, sorted in groups according to back        When card added, set of visible ids does not change, nor does
                no knowledge of which is which                                          their ordering in the calculated view
-               but agree on the layout                                                 But actual<->visible mapping is permuted (for everyone, the same way)
+               but agree on the layout                                                 But actual<->visible mapping is permuted (for everyone other2
+                                                                                       thais the player, the same way)
 
 
 
@@ -63,3 +64,13 @@ Everyone sees:       card back                                                       SVG of back at actual location, by normal rules
                only know what it is from historical information                IDs are not messed around with
 
 
+Quacks committed token
+----------------------
+
+People see the same things as for a bag
+
+This is a separate bag with a separate name
+               You can move things from this to another bag.
+               "Took something out" "put something in ..."
+
+It can be un-blinded by "emptying" - a thing bags can do
diff --git a/HIDDEN2.md b/HIDDEN2.md
new file mode 100644 (file)
index 0000000..69660d0
--- /dev/null
@@ -0,0 +1,69 @@
+
+Concepts
+--------
+
+Views
+
+       When a Thing is happening, the happener divides players into
+       equiv classes (usu, (i) our player (ii) other players)
+
+       View specifies some Occultations
+
+       Each Occultation is applied equally to all players within a
+       View so that they all see the same
+
+Occulations
+       Some of these these occur at a point in time and then
+               wait to become relevant.
+       Some have a continuous effect.
+
+       Only one occultation for each piece for each player at a time
+
+Identity scrambled
+       Instantaneous effect:
+               - Choose a permutation of affected pieces
+               - Permute the visible/real ID mapping
+               - If the players in this view can see the real locations,
+                 permute the locations too (actually moving the pieces)
+       Typ., redone when new pieces are added to the affected set
+
+Location hidden
+       Occultor provides layout area
+       Pieces laid out in order according to err something ?
+       Occultees see these synthetic locations
+
+       When an occultee moves, that becomes actual location,
+               now piece is no longer occulted
+               Z level needs special handling - overwrite
+                       original Z with something
+       When a non-occulteee moves, that is still actual location
+               but it isn't visible
+
+Totally invisible
+       The piece disappears from view.  Message explaining why
+       "Alice puts a black token into Alice's bag"
+
+Other
+-----
+
+Default hidden face
+       When something was occulted it is "face down", mostly,
+               until it is put somewhere with a faceupness field
+
+When happens
+       When piece is released, occultation may change or be effected
+               or something
+
+
+pinning/enablement etc.
+       Need way to introduce these per-player pieces
+       Also need way to de-activate them
+
+
+Future
+------
+
+       SVG ondemand or hashes or something to avoid
+               (i) retransmissions of lots of data
+               (ii) leaks by data sizes
+               (iii) huge a-* files
diff --git a/HIDDEN3.md b/HIDDEN3.md
new file mode 100644 (file)
index 0000000..0739c05
--- /dev/null
@@ -0,0 +1,32 @@
+
+Data structures
+---------------
+
+* Occultations for a piece
+       Vec<Vec<PlayerId>, Occultation>
+       where final entry has empty Vec<PlayerId> and is default
+
+       occulter (piece which generates the occultation)
+       enum OccultationKind
+               Visible,
+               Scrambled,
+               Displaced { layout area etc. }
+               Invisible,
+       }
+
+* Visible piece id map for each player
+
+Methods
+-------
+
+       scramble piece set
+               Vec<PlayerId>           affected players (View)
+               see Concepts "Identity scrambled"
+
+       set occultation
+
+
+Filtering
+---------
+
+Updates filtered when generated