parent
6cd91783b2
commit
b6d56bde93
|
@ -0,0 +1,65 @@
|
||||||
|
# HORSE GAME
|
||||||
|
|
||||||
|
this directory holds all of the horse family of sports horse games
|
||||||
|
|
||||||
|
|
||||||
|
## CONTENTS
|
||||||
|
|
||||||
|
```
|
||||||
|
$ tree -d -L 1
|
||||||
|
|
||||||
|
.
|
||||||
|
├── 9k00
|
||||||
|
├── assets
|
||||||
|
├── horse
|
||||||
|
├── on-the-brink
|
||||||
|
├── onepager
|
||||||
|
└── play
|
||||||
|
|
||||||
|
7 directories
|
||||||
|
```
|
||||||
|
|
||||||
|
1. **9k00**: Electric Zine Maker[0] one-page folding version. Published in Tilde Town Zine Issue 6[1] and on mastodon[2]
|
||||||
|
|
||||||
|
2. **assets**: various image assets used in various versions
|
||||||
|
|
||||||
|
3. **horse**: the original sports horse that was published to dozensanddragons[3]
|
||||||
|
|
||||||
|
4. **on-the-brink**: official sports horse expansion pack number 1. published on dozensanddragons[4] and on itch.io[5]
|
||||||
|
|
||||||
|
5. **onepager**: one page version of sports horse published on itch[6] and submitted to the onepage jam 2023[7]
|
||||||
|
|
||||||
|
6. **play**: actual play
|
||||||
|
|
||||||
|
[0]: https://alienmelon.itch.io/electric-zine-maker
|
||||||
|
[1]: http://tilde.town/~zine/issues/6/html/
|
||||||
|
[2]: https://tiny.tilde.website/@dozens/109411765114212437
|
||||||
|
[3]: https://dozensanddragons.neocities.org/44
|
||||||
|
[4]: https://dozensanddragons.neocities.org/47
|
||||||
|
[5]: https://dozens.itch.io/horses-on-the-brink
|
||||||
|
[6]: https://dozens.itch.io/horse
|
||||||
|
[7]: https://itch.io/jam/one-page-rpg-jam-2023/entries
|
||||||
|
|
||||||
|
Not shown here:
|
||||||
|
|
||||||
|
1. official sports horse generator: https://dozensanddragons.neocities.org/45
|
||||||
|
|
||||||
|
2. sports horse devlog: https://dozensanddragons.neocities.org/46
|
||||||
|
|
||||||
|
## COLOPHON
|
||||||
|
|
||||||
|
Tools used to create all this horse stuff includes but is not limited to:
|
||||||
|
|
||||||
|
- Typst: layout and typesetting for pdfs
|
||||||
|
|
||||||
|
- a mishmash of markdown, m4, and pandoc: turning words into blog posts
|
||||||
|
|
||||||
|
- Electric Zine Maker: creating surreal zines
|
||||||
|
|
||||||
|
- Imagemagick: all kinds of image processing and gif making
|
||||||
|
|
||||||
|
- photomosh.com
|
||||||
|
|
||||||
|
- gimp: image editing and composition
|
||||||
|
|
||||||
|
- graphviz / neato: turning text into svg graphs
|
|
@ -0,0 +1,134 @@
|
||||||
|
# GRAPHVIZ
|
||||||
|
|
||||||
|
sketchviz is a handy tool:
|
||||||
|
|
||||||
|
https://sketchviz.com/new
|
||||||
|
|
||||||
|
Here is the dot notation for the locations in horses on the brink:
|
||||||
|
|
||||||
|
```
|
||||||
|
graph {
|
||||||
|
rankdir = LR
|
||||||
|
|
||||||
|
s [ label = "Stables" ]
|
||||||
|
t [ label = "Racetrack" ]
|
||||||
|
p [ label = "Pasture" ]
|
||||||
|
v [ label = "Vet" ]
|
||||||
|
w [ label = "The Old Watering Hole" ]
|
||||||
|
|
||||||
|
w -- p -- s -- t
|
||||||
|
s -- v
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
in vim you can visually select the lines and
|
||||||
|
|
||||||
|
```
|
||||||
|
:w !neato -Tsvg > graph.svg`
|
||||||
|
```
|
||||||
|
|
||||||
|
to create the image.
|
||||||
|
|
||||||
|
(neato is a good "spring loaded" layout engine for non directional graphs)
|
||||||
|
|
||||||
|
or if you want to replace the lines with svg,
|
||||||
|
visually select the lines and
|
||||||
|
|
||||||
|
```
|
||||||
|
:!neato -Tsvg
|
||||||
|
```
|
||||||
|
|
||||||
|
I'll do this, copy the resulting svg to a buffer, and then `u` to undo
|
||||||
|
so I can paste the svg somewhere in the document while retaining the original dot info.
|
||||||
|
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||||
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<!-- Generated by graphviz version 8.1.0 (20230707.0739)
|
||||||
|
-->
|
||||||
|
<!-- Pages: 1 -->
|
||||||
|
<svg width="237pt" height="245pt"
|
||||||
|
viewBox="0.00 0.00 237.31 244.65" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 240.65)">
|
||||||
|
<polygon fill="white" stroke="none" points="-4,4 -4,-240.65 233.31,-240.65 233.31,4 -4,4"/>
|
||||||
|
<!-- s -->
|
||||||
|
<g id="node1" class="node">
|
||||||
|
<title>s</title>
|
||||||
|
<ellipse fill="none" stroke="black" cx="99.11" cy="-164.54" rx="37.53" ry="18"/>
|
||||||
|
<text text-anchor="middle" x="99.11" y="-159.49" font-family="Times,serif" font-size="14.00">Stables</text>
|
||||||
|
</g>
|
||||||
|
<!-- t -->
|
||||||
|
<g id="node2" class="node">
|
||||||
|
<title>t</title>
|
||||||
|
<ellipse fill="none" stroke="black" cx="154.96" cy="-218.65" rx="47.77" ry="18"/>
|
||||||
|
<text text-anchor="middle" x="154.96" y="-213.6" font-family="Times,serif" font-size="14.00">Racetrack</text>
|
||||||
|
</g>
|
||||||
|
<!-- s--t -->
|
||||||
|
<g id="edge3" class="edge">
|
||||||
|
<title>s--t</title>
|
||||||
|
<path fill="none" stroke="black" d="M116.17,-181.07C122.84,-187.53 130.49,-194.95 137.23,-201.47"/>
|
||||||
|
</g>
|
||||||
|
<!-- v -->
|
||||||
|
<g id="node4" class="node">
|
||||||
|
<title>v</title>
|
||||||
|
<ellipse fill="none" stroke="black" cx="27" cy="-193.67" rx="27" ry="18"/>
|
||||||
|
<text text-anchor="middle" x="27" y="-188.62" font-family="Times,serif" font-size="14.00">Vet</text>
|
||||||
|
</g>
|
||||||
|
<!-- s--v -->
|
||||||
|
<g id="edge4" class="edge">
|
||||||
|
<title>s--v</title>
|
||||||
|
<path fill="none" stroke="black" d="M70.19,-176.22C63.61,-178.88 56.7,-181.67 50.38,-184.22"/>
|
||||||
|
</g>
|
||||||
|
<!-- p -->
|
||||||
|
<g id="node3" class="node">
|
||||||
|
<title>p</title>
|
||||||
|
<ellipse fill="none" stroke="black" cx="113.48" cy="-89.1" rx="38.04" ry="18"/>
|
||||||
|
<text text-anchor="middle" x="113.48" y="-84.05" font-family="Times,serif" font-size="14.00">Pasture</text>
|
||||||
|
</g>
|
||||||
|
<!-- p--s -->
|
||||||
|
<g id="edge2" class="edge">
|
||||||
|
<title>p--s</title>
|
||||||
|
<path fill="none" stroke="black" d="M110,-107.36C107.76,-119.13 104.85,-134.39 102.6,-146.18"/>
|
||||||
|
</g>
|
||||||
|
<!-- w -->
|
||||||
|
<g id="node5" class="node">
|
||||||
|
<title>w</title>
|
||||||
|
<ellipse fill="none" stroke="black" cx="130.87" cy="-18" rx="98.44" ry="18"/>
|
||||||
|
<text text-anchor="middle" x="130.87" y="-12.95" font-family="Times,serif" font-size="14.00">The Old Watering Hole</text>
|
||||||
|
</g>
|
||||||
|
<!-- w--p -->
|
||||||
|
<g id="edge1" class="edge">
|
||||||
|
<title>w--p</title>
|
||||||
|
<path fill="none" stroke="black" d="M126.39,-36.31C123.78,-47.01 120.49,-60.45 117.88,-71.09"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if you install `graph-easy` from CPAN then you can use a limited subset of dot to make unicode box art!
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
[ The Old Watering Hole ] -- [ Pasture ] -- [ Stables ] -- [ Racetrack ], [ Vet ]
|
||||||
|
```
|
||||||
|
|
||||||
|
visually select and:
|
||||||
|
|
||||||
|
```
|
||||||
|
:!graph-easy --as=boxart
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
┌───────────────────────┐ ┌─────────┐ ┌─────────┐ ┌───────────┐
|
||||||
|
│ The Old Watering Hole │ ─── │ Pasture │ ─── │ Stables │ ─── │ Racetrack │
|
||||||
|
└───────────────────────┘ └─────────┘ └─────────┘ └───────────┘
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
┌─────────┐
|
||||||
|
│ Vet │
|
||||||
|
└─────────┘
|
||||||
|
```
|
|
@ -0,0 +1,25 @@
|
||||||
|
# how to imagemagick
|
||||||
|
|
||||||
|
quick dozens write this shit down before you forget
|
||||||
|
|
||||||
|
resize an image
|
||||||
|
|
||||||
|
: `convert -resize 800 in.png out.png`
|
||||||
|
|
||||||
|
do a watermark
|
||||||
|
|
||||||
|
: `composite -compose multiply -gravity center -geometry +0+0 watermark.png page.png out.png`
|
||||||
|
|
||||||
|
convert pdf pages to individual png (accounting for weird transparency stuff)
|
||||||
|
|
||||||
|
: `convert pages.pdf -quality 50 -background white -alpha remove -alpha off pages.png`
|
||||||
|
|
||||||
|
gif shit
|
||||||
|
|
||||||
|
: `convert -delay 2 -loop 0 *.jpg -layers Optimize out.gif`
|
||||||
|
|
||||||
|
: `convert file.gif frames.png`
|
||||||
|
|
||||||
|
dither and reduce colors
|
||||||
|
|
||||||
|
: `convert image.png -quality 70 +dither -remap netscape: out.png`
|
|
@ -0,0 +1,28 @@
|
||||||
|
# TYPST
|
||||||
|
|
||||||
|
typst is like 90% there
|
||||||
|
|
||||||
|
excellent for laying out a document
|
||||||
|
|
||||||
|
|
||||||
|
## BLOCKERS
|
||||||
|
|
||||||
|
1. Can't currently change page margin by calculating page location. e.g.:
|
||||||
|
|
||||||
|
```
|
||||||
|
#show page: it => {
|
||||||
|
locate(loc => {
|
||||||
|
if counter(page).at(loc).at(0) == 1 {
|
||||||
|
set page(margin: 4cm)
|
||||||
|
} else {
|
||||||
|
set page(margin: 1cm)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
it
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
this doesn't work. which is too bad. I wanted the title on the
|
||||||
|
first page to be full bleed left, right, and top. Eventually I
|
||||||
|
just gave up on this and decided that what I had was good enough
|
||||||
|
|
Loading…
Reference in New Issue