Reorganize
This commit is contained in:
		
							
								
								
									
										4
									
								
								setlist/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								setlist/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
_output/*.png
 | 
			
		||||
_output/*.pdf
 | 
			
		||||
~$*
 | 
			
		||||
.DS_Store
 | 
			
		||||
							
								
								
									
										19
									
								
								setlist/ABOUT.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								setlist/ABOUT.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
My Awesome Game
 | 
			
		||||
===============
 | 
			
		||||
 | 
			
		||||
Check out my awesome game! 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Objective
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Gameplay
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Ending the Game
 | 
			
		||||
---------------
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								setlist/Gemfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								setlist/Gemfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
source 'https://rubygems.org'
 | 
			
		||||
 | 
			
		||||
gem 'squib'
 | 
			
		||||
gem 'game_icons'
 | 
			
		||||
							
								
								
									
										68
									
								
								setlist/Gemfile.lock
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								setlist/Gemfile.lock
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,68 @@
 | 
			
		||||
GEM
 | 
			
		||||
  remote: https://rubygems.org/
 | 
			
		||||
  specs:
 | 
			
		||||
    cairo (1.17.8)
 | 
			
		||||
      native-package-installer (>= 1.0.3)
 | 
			
		||||
      pkg-config (>= 1.2.2)
 | 
			
		||||
      red-colors
 | 
			
		||||
    cairo-gobject (3.5.1)
 | 
			
		||||
      cairo (>= 1.16.2)
 | 
			
		||||
      glib2 (= 3.5.1)
 | 
			
		||||
    classy_hash (1.0.0)
 | 
			
		||||
    fiddle (1.1.1)
 | 
			
		||||
    game_icons (0.46.0.20221129)
 | 
			
		||||
    gdk_pixbuf2 (3.5.1)
 | 
			
		||||
      gio2 (= 3.5.1)
 | 
			
		||||
    gio2 (3.5.1)
 | 
			
		||||
      fiddle
 | 
			
		||||
      gobject-introspection (= 3.5.1)
 | 
			
		||||
    glib2 (3.5.1)
 | 
			
		||||
      native-package-installer (>= 1.0.3)
 | 
			
		||||
      pkg-config (>= 1.3.5)
 | 
			
		||||
    gobject-introspection (3.5.1)
 | 
			
		||||
      glib2 (= 3.5.1)
 | 
			
		||||
    highline (2.0.3)
 | 
			
		||||
    matrix (0.4.2)
 | 
			
		||||
    mercenary (0.4.0)
 | 
			
		||||
    native-package-installer (1.1.5)
 | 
			
		||||
    nokogiri (1.13.10-x64-mingw32)
 | 
			
		||||
      racc (~> 1.4)
 | 
			
		||||
    pango (3.5.1)
 | 
			
		||||
      cairo-gobject (= 3.5.1)
 | 
			
		||||
      gobject-introspection (= 3.5.1)
 | 
			
		||||
    pkg-config (1.5.1)
 | 
			
		||||
    racc (1.6.2)
 | 
			
		||||
    rainbow (3.1.1)
 | 
			
		||||
    red-colors (0.3.0)
 | 
			
		||||
      matrix
 | 
			
		||||
    roo (2.9.0)
 | 
			
		||||
      nokogiri (~> 1)
 | 
			
		||||
      rubyzip (>= 1.3.0, < 3.0.0)
 | 
			
		||||
    rsvg2 (3.5.1)
 | 
			
		||||
      cairo-gobject (= 3.5.1)
 | 
			
		||||
      gdk_pixbuf2 (= 3.5.1)
 | 
			
		||||
    ruby-progressbar (1.11.0)
 | 
			
		||||
    rubyzip (2.3.2)
 | 
			
		||||
    squib (0.18.0)
 | 
			
		||||
      cairo (~> 1.17)
 | 
			
		||||
      classy_hash (= 1.0.0)
 | 
			
		||||
      gio2 (~> 3.4)
 | 
			
		||||
      gobject-introspection (~> 3.4)
 | 
			
		||||
      highline (= 2.0.3)
 | 
			
		||||
      mercenary (= 0.4.0)
 | 
			
		||||
      nokogiri (~> 1.11)
 | 
			
		||||
      pango (~> 3.4)
 | 
			
		||||
      rainbow (~> 3.0)
 | 
			
		||||
      roo (~> 2.8)
 | 
			
		||||
      rsvg2 (~> 3.4)
 | 
			
		||||
      ruby-progressbar (~> 1.11)
 | 
			
		||||
 | 
			
		||||
PLATFORMS
 | 
			
		||||
  x64-mingw32
 | 
			
		||||
 | 
			
		||||
DEPENDENCIES
 | 
			
		||||
  game_icons
 | 
			
		||||
  squib
 | 
			
		||||
 | 
			
		||||
BUNDLED WITH
 | 
			
		||||
   2.1.4
 | 
			
		||||
							
								
								
									
										22
									
								
								setlist/IDEAS.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								setlist/IDEAS.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
# Title Ideas
 | 
			
		||||
 | 
			
		||||
* First idea
 | 
			
		||||
* Second idea
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Things to Try
 | 
			
		||||
 | 
			
		||||
* Idea
 | 
			
		||||
* Idea
 | 
			
		||||
 | 
			
		||||
# Feedback Ideas
 | 
			
		||||
 | 
			
		||||
* Feedback
 | 
			
		||||
* Feedback
 | 
			
		||||
 | 
			
		||||
# Problems To Work On
 | 
			
		||||
 | 
			
		||||
* Problem
 | 
			
		||||
* Problem
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										26
									
								
								setlist/PLAYTESTING.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								setlist/PLAYTESTING.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
# Playtesting Log
 | 
			
		||||
 | 
			
		||||
# Playtest Report Survey
 | 
			
		||||
 | 
			
		||||
## Basic Info
 | 
			
		||||
  * Num. Players:
 | 
			
		||||
  * How many sessions of this game have you played before?
 | 
			
		||||
  * How long did you play?
 | 
			
		||||
	* How did you prepare for teaching the rules? Read the sheet with everyone there, or did someone read it ahead of time?
 | 
			
		||||
	* What types of players played with you? What are their favorite games?
 | 
			
		||||
	* What version were you testing?
 | 
			
		||||
  * What date did you play?
 | 
			
		||||
 | 
			
		||||
## Did it work?
 | 
			
		||||
  * Was there a moment that you felt the game was "broken"? Describe what happened.
 | 
			
		||||
  * How close were the scores? Did everyone feel like they had a fair chance at winning?
 | 
			
		||||
  * Were there any moments that you had to go back to the rules for clarification? What resulted of that - are you still unclear, or was it just a misunderstanding?
 | 
			
		||||
  * Any ideas for clearer rules?
 | 
			
		||||
  * Any ideas for clearer icons, artwork, in-game helps, etc?
 | 
			
		||||
 | 
			
		||||
## Was it fun?
 | 
			
		||||
  * Based on the description, artwork, branding, etc. was this game what you expected?
 | 
			
		||||
  * Were the theme, artwork, and icons engaging?
 | 
			
		||||
  * Did this game have the depth of strategy that you were expecting?
 | 
			
		||||
  * What were the moments that people felt like they were having the most fun? The least fun?
 | 
			
		||||
  * Assuming trivial issues are fixed, would you recommend this to someone else?
 | 
			
		||||
							
								
								
									
										4
									
								
								setlist/PNP NOTES.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								setlist/PNP NOTES.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
Print and Play Notes
 | 
			
		||||
====================
 | 
			
		||||
 | 
			
		||||
Fill this out to give tips on how to play this with print and play.
 | 
			
		||||
							
								
								
									
										21
									
								
								setlist/RULES.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								setlist/RULES.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
# Intro
 | 
			
		||||
 | 
			
		||||
2-4 players arranging their setlists at a music festival
 | 
			
		||||
 | 
			
		||||
# Objective
 | 
			
		||||
 | 
			
		||||
Draw the most fans by performing the best in each time block
 | 
			
		||||
 | 
			
		||||
# Components
 | 
			
		||||
 | 
			
		||||
18 Song cards
 | 
			
		||||
 | 
			
		||||
# Gameplay
 | 
			
		||||
 | 
			
		||||
Phase 1: Four cards are handed to each player. Players draft one card and pass the rest on until all cards are chosen.
 | 
			
		||||
Phase 2: Players arrange their songs face-down in the order they'll perform in
 | 
			
		||||
Phase 3: All players flip cards face-up. They resolve in order of Volume from loudest to quietest
 | 
			
		||||
 | 
			
		||||
# Scoring
 | 
			
		||||
 | 
			
		||||
How is victory assigned?
 | 
			
		||||
							
								
								
									
										7
									
								
								setlist/Rakefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								setlist/Rakefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
require 'squib'
 | 
			
		||||
 | 
			
		||||
task default: [:deck]
 | 
			
		||||
 | 
			
		||||
task :deck do
 | 
			
		||||
  load 'deck.rb'
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										1
									
								
								setlist/_output/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								setlist/_output/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
Keep this here so that Git knows to keep the _output directory on a fresh clone
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								setlist/back.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								setlist/back.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.1 KiB  | 
							
								
								
									
										50
									
								
								setlist/config.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								setlist/config.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
# Settings in the config.yml are overriding Squib's defaults. Anything in the main script will override this.
 | 
			
		||||
 | 
			
		||||
# Looking for DPI? It needs to be a parameter to Squib::Deck.new
 | 
			
		||||
 | 
			
		||||
#antialias: best #recommended. Only about 10% slower than fast
 | 
			
		||||
#antialias: default # set the anti-aliasing algorithm. default defers to the underlying graphics device. See http://www.cairographics.org/manual/cairo-cairo-t.html#cairo-antialias-t
 | 
			
		||||
 | 
			
		||||
# Text hints are used to show the boundaries of text boxes.
 | 
			
		||||
# Can be enabled/disabled at the command-level, or set globally with `set`
 | 
			
		||||
#text_hint: '#F00'
 | 
			
		||||
 | 
			
		||||
# Show progress bars on the command line for potentially long-running operations
 | 
			
		||||
#progress_bars: true
 | 
			
		||||
 | 
			
		||||
#Enable some custom colors that can be used in any color
 | 
			
		||||
#custom_colors:
 | 
			
		||||
#  foo: '#abc'
 | 
			
		||||
 | 
			
		||||
#For reading image file command (e.g. png and svg), read from this directory instead
 | 
			
		||||
#img_dir: img-color
 | 
			
		||||
#img_dir: img-bw
 | 
			
		||||
 | 
			
		||||
# Use a SVG cairo back end, instead of an in-memory buffer
 | 
			
		||||
# backend: :memory # default
 | 
			
		||||
# backend: :svg    # can create scalable pdfs, but rendering done at the printer level is not as good as Cairo.
 | 
			
		||||
 | 
			
		||||
# Configure what text markup uses replace characters
 | 
			
		||||
# Below are the defaults
 | 
			
		||||
# lsquote: "\u2018" #note that Yaml wants double quotes here to use escape chars
 | 
			
		||||
# rsquote: "\u2019"
 | 
			
		||||
# ldquote: "\u201C"
 | 
			
		||||
# rdquote: "\u201D"
 | 
			
		||||
# em_dash: "\u2014"
 | 
			
		||||
# en_dash: "\u2013"
 | 
			
		||||
# ellipsis: "\u2026"
 | 
			
		||||
 | 
			
		||||
# We can also disallow smart quotes and only allow explicit replacements with ``LaTeX-style'' quotes.
 | 
			
		||||
# smart_quotes: false
 | 
			
		||||
 | 
			
		||||
# By default, Squib warns when a text box is ellipsized. This can get verbose
 | 
			
		||||
# and can be turned off here
 | 
			
		||||
# warn_ellipsize: true # default
 | 
			
		||||
# warn_ellipsize: false # turn off entirely
 | 
			
		||||
 | 
			
		||||
# By default, Squib will warn if a PNG is being up-scaled.
 | 
			
		||||
# warn_png_scale: true # default
 | 
			
		||||
# warn_png_scale: false # turn off entirely
 | 
			
		||||
 | 
			
		||||
# How many pixels are in a "cell"?
 | 
			
		||||
# cell_px: 37.5 # default
 | 
			
		||||
							
								
								
									
										19
									
								
								setlist/data.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								setlist/data.csv
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
name,volume,traits,audience,effect,blurb
 | 
			
		||||
Crazy Little Thing Called Love,f,l,2,+2 {A} if the first {l} song in your setlist,
 | 
			
		||||
War Cry,f,a,2,+1 {A} for each song quieter than this in this time block,
 | 
			
		||||
Opener,mp,j,0,+3 {A} if the first song in your set,
 | 
			
		||||
Dirge,ppp,s,0,,
 | 
			
		||||
Love Ballad,f,l,3,+2 {A} if in the first two songs of your setlist,
 | 
			
		||||
Rage Against The Man,fff,a,2,+1 {A} for each {a} song in this time block,
 | 
			
		||||
Everything Is Awesome,mf,j,3,+2 {A} if in the last two songs if your setlist,
 | 
			
		||||
Tears in the Rain,p,s,2,+3 {A} if this is the quietest song in this time block,
 | 
			
		||||
Breakup Song,ff,la,3,+3 {A} if another band played a {l} song in this time block,
 | 
			
		||||
New Relationship,mf,lj,2,+4 {A} if there are no {l} song before this in any band's setlist,
 | 
			
		||||
Brokenhearted,p,ls,3,+1 {A} if the next song in your setlist is a {l} song,
 | 
			
		||||
Mixed Messages,ff,aj,2,+3 {A} if this is the loudest song in this time block,
 | 
			
		||||
Betrayed,f,as,2,+3 {A} if this is immediately following a {j} song in your setlist,
 | 
			
		||||
Happy To Be Sad,f,js,1,+2 {A} for each {s} song already in your setlist,
 | 
			
		||||
Indignant Love,f,laj,3,,
 | 
			
		||||
Unrequited Love,mp,las,3,,
 | 
			
		||||
Butterflies In The Stomach,mf,ljs,3,,
 | 
			
		||||
Rampage,fff,ajs,3,,
 | 
			
		||||
		
		
			
  | 
							
								
								
									
										70
									
								
								setlist/deck.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								setlist/deck.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
require 'squib'
 | 
			
		||||
require 'game_icons'
 | 
			
		||||
 | 
			
		||||
module Icons
 | 
			
		||||
 | 
			
		||||
  def self.getIcon(name, color = 'black')
 | 
			
		||||
    return GameIcons.get(name).
 | 
			
		||||
      recolor(fg: color, bg: 'white', fg_opacity: 1.0, bg_opacity: 0.0).
 | 
			
		||||
      string
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  AUDIENCE = getIcon 'delapouite/person'
 | 
			
		||||
  MUSIC = getIcon 'delapouite/musical-score'
 | 
			
		||||
 | 
			
		||||
  LOVE = getIcon 'skoll/hearts'
 | 
			
		||||
  ANGER = getIcon 'skoll/fist'
 | 
			
		||||
  JOY = getIcon 'lorc/delighted'
 | 
			
		||||
  SAD = getIcon 'lorc/tear-tracks'
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
VOLUMES = {
 | 
			
		||||
  "ppp" => 1,
 | 
			
		||||
  "pp" => 2,
 | 
			
		||||
  "p" => 3,
 | 
			
		||||
  "mp" => 4,
 | 
			
		||||
  "mf" => 5,
 | 
			
		||||
  "f" => 6,
 | 
			
		||||
  "ff" => 7,
 | 
			
		||||
  "fff" => 8,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
data = Squib.csv file: 'data.csv'
 | 
			
		||||
 | 
			
		||||
Squib::Deck.new(cards: data.nrows) do
 | 
			
		||||
  use_layout file: 'economy.yml'
 | 
			
		||||
  use_layout file: 'layout.yml'
 | 
			
		||||
  background color: 'white'
 | 
			
		||||
  cut_zone
 | 
			
		||||
  safe_zone
 | 
			
		||||
 | 
			
		||||
  text layout: :title, str: data.name, ellipsize: :autoscale
 | 
			
		||||
 | 
			
		||||
  # svg layout: :art, data: Icons::MUSIC
 | 
			
		||||
  text layout: :art, align: :center, valign: :middle, str: data.traits do |embed|
 | 
			
		||||
    embed.svg key: 'l', width: 128, height: 128, data: Icons::LOVE
 | 
			
		||||
    embed.svg key: 'a', width: 128, height: 128, data: Icons::ANGER
 | 
			
		||||
    embed.svg key: 'j', width: 128, height: 128, data: Icons::JOY
 | 
			
		||||
    embed.svg key: 's', width: 128, height: 128, data: Icons::SAD
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  rect layout: :description
 | 
			
		||||
  text layout: :description, str: data.effect.zip(data.blurb).map { |e, b|
 | 
			
		||||
    "#{e}#{if b then "\n<i>#{b}</i>" end}"
 | 
			
		||||
  } do |embed|
 | 
			
		||||
    embed.svg key: '{A}', width: 32, height: 32, data: Icons::AUDIENCE
 | 
			
		||||
    embed.svg key: '{l}', width: 32, height: 32, data: Icons::LOVE
 | 
			
		||||
    embed.svg key: '{a}', width: 32, height: 32, data: Icons::ANGER
 | 
			
		||||
    embed.svg key: '{j}', width: 32, height: 32, data: Icons::JOY
 | 
			
		||||
    embed.svg key: '{s}', width: 32, height: 32, data: Icons::SAD
 | 
			
		||||
  end
 | 
			
		||||
  text layout: :volume, markup: true, str: data.volume.map { |v| "<b><i>#{v} (#{VOLUMES[v]})</i></b>" }
 | 
			
		||||
  text layout: :audience, ellipsize: :autoscale, str: data.audience.map { |au| "{A}#{au}"} do |embed|
 | 
			
		||||
    embed.svg key: '{A}', width: 48, height: 48, data: Icons::AUDIENCE
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  save format: :png
 | 
			
		||||
  save_sheet prefix: "sheet",
 | 
			
		||||
    columns: 5, rows: 4, trim: '0.125in', count_format: ''
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										23
									
								
								setlist/feedback/2023/04/15-Jeremiah.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								setlist/feedback/2023/04/15-Jeremiah.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
Make sure specify time blocks
 | 
			
		||||
 | 
			
		||||
5 - 2
 | 
			
		||||
8 - 5
 | 
			
		||||
13 - 11
 | 
			
		||||
18 - 16
 | 
			
		||||
 | 
			
		||||
More cards for fewer players - ex. start with 7 but only end up with 4
 | 
			
		||||
Volume might not really be a useful mechanic
 | 
			
		||||
Everything At Once, and Wildcard, might be overpowered
 | 
			
		||||
    - Maybe reduce the number of points it's worth
 | 
			
		||||
Cards without abilities probably wouldn't get chosen
 | 
			
		||||
 | 
			
		||||
Screentop: make a second set of hidden containers for tracking chosen cards
 | 
			
		||||
 | 
			
		||||
5 - 6
 | 
			
		||||
8 - 11
 | 
			
		||||
12 - 15
 | 
			
		||||
16 - 20
 | 
			
		||||
 | 
			
		||||
Once you have your set, you can choose the order as they're revealed?
 | 
			
		||||
Possible to "lean into" a suit
 | 
			
		||||
Focus more on volume, less on suits
 | 
			
		||||
							
								
								
									
										11
									
								
								setlist/layout.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								setlist/layout.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
volume:
 | 
			
		||||
  x: 90
 | 
			
		||||
  y: 955
 | 
			
		||||
  width: 320
 | 
			
		||||
  height: 50
 | 
			
		||||
  align: left
 | 
			
		||||
 | 
			
		||||
audience:
 | 
			
		||||
  extends: volume
 | 
			
		||||
  x: += 329
 | 
			
		||||
  align: right
 | 
			
		||||
		Reference in New Issue
	
	Block a user