Fork me on GitHub

Dual piecepacks PnP

This is the demo of the six piecepacks that were included in the "dual piecepacks" proof-of-concept: one piecepack-suited piecepack, one latin-suited piecepack (inverted color scheme), two french-suited piecepacks (one 'black' suits, one 'white' suits), and two swiss-suited piecepacks (one dark grayscale color scheme, one light grayscale color scheme). One could use the piecepack-suited, latin-suited, and one of the french-suited piecepacks to build a "trial hoardpack".

Dual piecepacks intro

"Dual piecepacks" are eight piecepack suits with the following properties:

  • The eight suits suits can be "easily" visually distinguished
  • The eight suits can be "easily" visually split into two separate groups of four suits
  • Each "suit" in a group can be "easily" visually linked with exactly one suit in the other group

This gives one the following nice properties:

  • One can play games requiring one piecepack deck plus an expansion piecepack deck by treating the eight suits as separate suits
  • One can play games requiring two piecepack decks by treating each pair of linked suits as the same suit
  • One can play games that are "SixPack" friendly by taking three suits from each visually distinct group. One can scale this down to games that are "Playing Cards Expansion" friendly or even scale up to four-grouped-suits versus four-grouped-suits friendly games (like Canadian checkers or Bughouse chess).
  • One can play entirely new games provided by the extra layer of relationships. Proof-of-concept new game is Dual Piecepacks Poker.

It is possible to construct three piecepacks where each pair of piecepack decks are "dual piecepacks" (e.g. piecepack-suited + inverted latin-suited + light french-suited). This could be called a "trial HoardPack" (apparently "trial" is the proper "three" analogue to "dual").

Dual piecepacks #1 (Un-inverted Piecepack-suits and Inverted Latin-suits)

ranks_noto <- list(rank_text="n,a,2,3,4,5", rank_fontfamily="Noto Sans")
dark_colorscheme <- list(suit_color="darkred,black,darkgreen,darkblue,grey")
piecepack_suits <- list(suit_text="\U0001f31e,\U0001f31c,\U0001f451,\u269c,\uaa5c", # 🌞,🌜,👑,⚜,꩜
                        suit_fontfamily="Noto Emoji,Noto Sans Symbols2,Noto Emoji,Noto Sans Symbols,Noto Sans Cham",
noto_credit <- c("\u25cf This piecepack uses characters from Google Noto Fonts. OFL 1.1.",
dual1 <- c(piecepack_suits, dark_colorscheme, ranks_noto)
dual1$credit <- noto_credit
dual1$title <- "Piecepack-suited (Un-inverted colors)"
dual1 <- pp_cfg(dual1)
grid.piece("preview_layout", cfg=dual1)
A preview of the piecepack-suited piecepack

A preview of the piecepack-suited piecepack

latin_suits <- list(suit_text="\ue008,\ue007,\ue006,\ue009,\uaa5c",
                        suit_fontfamily="Quivira,Quivira,Quivira,Quivira,Noto Sans Cham",
quivira_credit <- c("\u25cf This piecepack uses characters from the font Quivira. Public Domain.",

dual2 <- c(latin_suits, dark_colorscheme, ranks_noto)
dual2$credit <- c(quivira_credit, noto_credit)
dual2$title <- "Latin-suited (Inverted colors)"
dual2 <- pp_cfg(dual2)
grid.piece("preview_layout", cfg=dual2)
A preview of the latin-suited piecepack

A preview of the latin-suited piecepack

Dual piecepacks #2 ("Black" and "White" French-suits)

french_suits_black <- list(suit_text="\u2665,\u2660,\u2663,\u2666,\uaa5c", # ♥,♠,♣,♦,꩜
                        suit_fontfamily="Noto Sans Symbols,Noto Sans Symbols,Noto Sans Symbols,Noto Sans Symbols,Noto Sans Cham",
dual3 <- c(french_suits_black, dark_colorscheme, ranks_noto)
dual3$title <- "French-suited (Black)"
dual3$credit <- noto_credit
dual3 <- pp_cfg(dual3)
grid.piece("preview_layout", cfg=dual3)
A preview of the "black" french-suited piecepack

A preview of the "black" french-suited piecepack

french_suits_white <- french_suits_black
french_suits_white$suit_text <- "\u2661,\u2664,\u2667,\u2662,\uaa5c" # ♡,♤,♧,♢,꩜
dual4 <- c(french_suits_white, dark_colorscheme, ranks_noto)
dual4$title <- "French-suited (White)"
dual3$credit <- noto_credit
dual4 <- pp_cfg(dual4)
grid.piece("preview_layout", cfg=dual4)
A preview of the "white" french-suited piecepack

A preview of the "white" french-suited piecepack

Dual piecepacks #3 ("Black" and "White" Swiss-suits)

orthodox_ranks <- list(rank_text=",a,2,3,4,5",
black_colorscheme <- list(suit_color="black,black,black,black,grey40",
swiss_suits <- list(suit_text="\ue005,\ue004,\ue000,\ue003,\ue00a",
dual5 <- c(swiss_suits, black_colorscheme, orthodox_ranks)
dual5$title <- "Swiss-suited (Black)"
dual5$credit <- quivira_credit
dual5 <- pp_cfg(dual5)
grid.piece("preview_layout", cfg=dual5)
A preview of the "black" swiss-suited piecepack

A preview of the "black" swiss-suited piecepack

white_colorscheme <- black_colorscheme
white_colorscheme$suit_color <- "white,white,white,white,grey40"
dual6 <- c(swiss_suits, white_colorscheme, orthodox_ranks)
dual6$title <- "Swiss-suited (White)"
dual6$credit <- quivira_credit
dual6 <- pp_cfg(dual6)
grid.piece("preview_layout", cfg=dual6)
A preview of the "white" swiss-suited piecepack

A preview of the "white" swiss-suited piecepack


There are no comments yet.

Add a Comment

You can use Markdown or restructuredText to format your comment.