Initialize with Squib template
This commit is contained in:
commit
443370f056
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
|
Loading…
Reference in New Issue
Block a user