Initialize with Squib template
This commit is contained in:
		
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
_output/*.png
 | 
			
		||||
_output/*.pdf
 | 
			
		||||
~$*
 | 
			
		||||
.DS_Store
 | 
			
		||||
							
								
								
									
										19
									
								
								ABOUT.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								ABOUT.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
My Awesome Game
 | 
			
		||||
===============
 | 
			
		||||
 | 
			
		||||
Check out my awesome game! 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Objective
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Gameplay
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Ending the Game
 | 
			
		||||
---------------
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										11
									
								
								Gemfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Gemfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
source 'https://rubygems.org'
 | 
			
		||||
 | 
			
		||||
gem 'squib'
 | 
			
		||||
gem 'guard'
 | 
			
		||||
gem 'guard-rake'
 | 
			
		||||
 | 
			
		||||
# If you do any simulation or anything fancy, you might want this
 | 
			
		||||
# gem 'rspec' # Unit testing with behavior-driven development
 | 
			
		||||
 | 
			
		||||
# If you want to generate PDFs manually (e.g. rules) this is good
 | 
			
		||||
# gem 'prawn'
 | 
			
		||||
							
								
								
									
										21
									
								
								Guardfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								Guardfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
group :default do
 | 
			
		||||
  guard 'rake', :task => 'default' do
 | 
			
		||||
    watch %r{data/.*\.xlsx$}
 | 
			
		||||
    watch %r{data/.*\.csv$}
 | 
			
		||||
    watch %r{src/.*\.rb$}
 | 
			
		||||
    watch %r{.*\.yml}
 | 
			
		||||
    watch %r{img/.*\.svg$}
 | 
			
		||||
    watch %r{img/.*\.png$}
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
group :deck do
 | 
			
		||||
  guard 'rake', :task => 'default' do
 | 
			
		||||
    watch %r{data/.*\.xlsx$}
 | 
			
		||||
    watch %r{data/.*\.csv$}
 | 
			
		||||
    watch %r{src/.*\.rb$}
 | 
			
		||||
    watch %r{.*\.yml}
 | 
			
		||||
    watch %r{img/.*\.svg$}
 | 
			
		||||
    watch %r{img/.*\.png$}
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										22
									
								
								IDEAS.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								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
									
								
								PLAYTESTING.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								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?
 | 
			
		||||
							
								
								
									
										27
									
								
								Rakefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								Rakefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
require 'squib'
 | 
			
		||||
require 'irb'
 | 
			
		||||
require 'rake/clean'
 | 
			
		||||
 | 
			
		||||
# Add Rake's clean & clobber tasks
 | 
			
		||||
CLEAN.include('_output/*').exclude('_output/gitkeep.txt')
 | 
			
		||||
 | 
			
		||||
desc 'By default, just build the deck without extra options'
 | 
			
		||||
task default: [:deck]
 | 
			
		||||
 | 
			
		||||
desc 'Build everything, with all the options'
 | 
			
		||||
task all: [:with_pnp, :with_proofs, :deck]
 | 
			
		||||
 | 
			
		||||
desc 'Build the deck'
 | 
			
		||||
task(:deck)     { load 'src/deck.rb' }
 | 
			
		||||
 | 
			
		||||
desc 'Enable proof lines'
 | 
			
		||||
task(:with_proofs) do
 | 
			
		||||
  puts "Enabling proofing lines."
 | 
			
		||||
  Squib.enable_build_globally :proofs
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
desc 'Enable print-and-play builds'
 | 
			
		||||
task(:with_pnp) do
 | 
			
		||||
  puts "Enabling print-and-play builds."
 | 
			
		||||
  Squib.enable_build_globally :pnp
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										1
									
								
								_output/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								_output/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
Keep this here so that Git knows to keep the _output directory on a fresh clone
 | 
			
		||||
							
								
								
									
										50
									
								
								config.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								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. See https://squib.readthedocs.io/en/latest/dsl/deck.html
 | 
			
		||||
 | 
			
		||||
#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
 | 
			
		||||
#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
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								data/game.xlsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								data/game.xlsx
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										4
									
								
								docs/PNP NOTES.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								docs/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
									
								
								docs/RULES.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								docs/RULES.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
# Intro
 | 
			
		||||
 | 
			
		||||
What is this game about? How many players?
 | 
			
		||||
 | 
			
		||||
# Objective
 | 
			
		||||
 | 
			
		||||
What is the object of the game?
 | 
			
		||||
 | 
			
		||||
# Components
 | 
			
		||||
 | 
			
		||||
What are the components? List them out.
 | 
			
		||||
 | 
			
		||||
# Gameplay
 | 
			
		||||
 | 
			
		||||
What does each turn look like? Describe a turn. 
 | 
			
		||||
 | 
			
		||||
# Scoring
 | 
			
		||||
 | 
			
		||||
How is victory assigned?
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										60
									
								
								img/example.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								img/example.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,60 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<svg
 | 
			
		||||
   xmlns:dc="http://purl.org/dc/elements/1.1/"
 | 
			
		||||
   xmlns:cc="http://creativecommons.org/ns#"
 | 
			
		||||
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 | 
			
		||||
   xmlns:svg="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns="http://www.w3.org/2000/svg"
 | 
			
		||||
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
 | 
			
		||||
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
 | 
			
		||||
   id="svg8"
 | 
			
		||||
   version="1.1"
 | 
			
		||||
   viewBox="0 0 210 297"
 | 
			
		||||
   height="297mm"
 | 
			
		||||
   width="210mm"
 | 
			
		||||
   sodipodi:docname="example.svg"
 | 
			
		||||
   inkscape:version="0.92.0 r15299">
 | 
			
		||||
  <sodipodi:namedview
 | 
			
		||||
     pagecolor="#ffffff"
 | 
			
		||||
     bordercolor="#666666"
 | 
			
		||||
     borderopacity="1"
 | 
			
		||||
     objecttolerance="10"
 | 
			
		||||
     gridtolerance="10"
 | 
			
		||||
     guidetolerance="10"
 | 
			
		||||
     inkscape:pageopacity="0"
 | 
			
		||||
     inkscape:pageshadow="2"
 | 
			
		||||
     inkscape:window-width="1680"
 | 
			
		||||
     inkscape:window-height="987"
 | 
			
		||||
     id="namedview7"
 | 
			
		||||
     showgrid="false"
 | 
			
		||||
     inkscape:zoom="0.5946522"
 | 
			
		||||
     inkscape:cx="407.78854"
 | 
			
		||||
     inkscape:cy="201.53619"
 | 
			
		||||
     inkscape:window-x="-8"
 | 
			
		||||
     inkscape:window-y="162"
 | 
			
		||||
     inkscape:window-maximized="1"
 | 
			
		||||
     inkscape:current-layer="svg8" />
 | 
			
		||||
  <defs
 | 
			
		||||
     id="defs2" />
 | 
			
		||||
  <metadata
 | 
			
		||||
     id="metadata5">
 | 
			
		||||
    <rdf:RDF>
 | 
			
		||||
      <cc:Work
 | 
			
		||||
         rdf:about="">
 | 
			
		||||
        <dc:format>image/svg+xml</dc:format>
 | 
			
		||||
        <dc:type
 | 
			
		||||
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 | 
			
		||||
        <dc:title />
 | 
			
		||||
      </cc:Work>
 | 
			
		||||
    </rdf:RDF>
 | 
			
		||||
  </metadata>
 | 
			
		||||
  <g
 | 
			
		||||
     id="layer1"
 | 
			
		||||
     transform="translate(3.5595036,70.300197)">
 | 
			
		||||
    <path
 | 
			
		||||
       id="path4485"
 | 
			
		||||
       d="m 176.52631,170.79195 -68.8031,39.72348 -68.80309,-39.72348 1e-6,-79.446968 68.803089,-39.723484 68.8031,39.723484 z"
 | 
			
		||||
       style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ed00ff;stroke-width:0.70555556;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99954044"
 | 
			
		||||
       inkscape:connector-curvature="0" />
 | 
			
		||||
  </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 1.9 KiB  | 
							
								
								
									
										27
									
								
								layouts/deck.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								layouts/deck.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
name:
 | 
			
		||||
  x: 90
 | 
			
		||||
  y: 90
 | 
			
		||||
  width: 500
 | 
			
		||||
  height: 50
 | 
			
		||||
  font: Arial 18
 | 
			
		||||
  valign: middle
 | 
			
		||||
  align: left
 | 
			
		||||
  ellipsize: false
 | 
			
		||||
 | 
			
		||||
ATK:
 | 
			
		||||
  x: 90
 | 
			
		||||
  y: 190
 | 
			
		||||
  width: 200
 | 
			
		||||
  height: 50
 | 
			
		||||
  font: Arial 12
 | 
			
		||||
  valign: middle
 | 
			
		||||
  align: left
 | 
			
		||||
  ellipsize: false
 | 
			
		||||
DEF:
 | 
			
		||||
  extends: ATK
 | 
			
		||||
  y: += 75
 | 
			
		||||
 | 
			
		||||
version:
 | 
			
		||||
  font: Arial 6
 | 
			
		||||
  x: 725
 | 
			
		||||
  y: 45
 | 
			
		||||
							
								
								
									
										34
									
								
								src/deck.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								src/deck.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
require 'squib'
 | 
			
		||||
require_relative 'version'
 | 
			
		||||
 | 
			
		||||
# Note: run this code by running "rake" at the command line
 | 
			
		||||
# To see full list of options, run "rake -T"
 | 
			
		||||
 | 
			
		||||
data = Squib.xlsx file: 'data/game.xlsx', sheet: 0
 | 
			
		||||
 | 
			
		||||
Squib::Deck.new(cards: data.nrows) do
 | 
			
		||||
  background color: :white
 | 
			
		||||
  use_layout file: 'layouts/deck.yml'
 | 
			
		||||
 | 
			
		||||
  text str: data.name, layout: :name
 | 
			
		||||
 | 
			
		||||
  text str: data.atk.map { |s| "#{s} ATK" }, layout: :ATK
 | 
			
		||||
  text str: data.def.map { |s| "#{s} DEF" }, layout: :DEF
 | 
			
		||||
 | 
			
		||||
  svg file: 'example.svg'
 | 
			
		||||
 | 
			
		||||
  text str: MySquibGame::VERSION, layout: :version
 | 
			
		||||
 | 
			
		||||
  build(:proofs) do
 | 
			
		||||
    safe_zone
 | 
			
		||||
    cut_zone
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  save format: :png
 | 
			
		||||
 | 
			
		||||
  build(:pnp) do
 | 
			
		||||
    save_sheet prefix: 'pnp_sheet_',
 | 
			
		||||
               trim: '0.125in',
 | 
			
		||||
               rows: 3, columns: 3
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										3
									
								
								src/version.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/version.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
module MySquibGame
 | 
			
		||||
  VERSION = '1.0'
 | 
			
		||||
end
 | 
			
		||||
		Reference in New Issue
	
	Block a user