📝
This commit is contained in:
		
							parent
							
								
									6cd91783b2
								
							
						
					
					
						commit
						9d8586aaf2
					
				
							
								
								
									
										68
									
								
								README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								README
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,68 @@ | ||||
| # HORSE GAME | ||||
| 
 | ||||
| this directory holds all of the horse family of sports horse games | ||||
| 
 | ||||
| 
 | ||||
| ## CONTENTS | ||||
| 
 | ||||
| ``` | ||||
| $ tree -d -L 1 | ||||
| 
 | ||||
| . | ||||
| ├── 9k00 | ||||
| ├── assets | ||||
| ├── doc | ||||
| ├── horse | ||||
| ├── on-the-brink | ||||
| ├── onepager | ||||
| └── play | ||||
| 
 | ||||
| 8 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 | ||||
| 
 | ||||
| 2. **doc**: various learnings and tidbits i collect along the way | ||||
| 
 | ||||
| 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 | ||||
							
								
								
									
										134
									
								
								doc/graphviz.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										134
									
								
								doc/graphviz.md
									
									
									
									
									
										Normal file
									
								
							| @ -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   │ | ||||
|                                               └─────────┘ | ||||
| ``` | ||||
							
								
								
									
										25
									
								
								doc/imagemagick.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								doc/imagemagick.md
									
									
									
									
									
										Normal file
									
								
							| @ -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` | ||||
							
								
								
									
										28
									
								
								doc/typst.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								doc/typst.md
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
| 
 | ||||
		Caricamento…
	
	
			
			x
			
			
		
	
		Fai riferimento in un nuovo problema
	
	Block a user