{"id":9,"date":"2020-07-15T16:20:08","date_gmt":"2020-07-15T20:20:08","guid":{"rendered":"https:\/\/ckixd.com\/blog\/?p=9"},"modified":"2020-08-12T08:14:46","modified_gmt":"2020-08-12T12:14:46","slug":"put-on-a-happy-face","status":"publish","type":"post","link":"https:\/\/ckixd.com\/blog\/9\/put-on-a-happy-face\/","title":{"rendered":"Put On a Happy Face"},"content":{"rendered":"\n<p>I&#8217;m excited to playtest my new tabletop game project, <em>Villanostra<\/em>, at <a rel=\"noreferrer noopener\" href=\"https:\/\/protospiel.online\/\" target=\"_blank\">Protospiel Online<\/a> this upcoming weekend. I&#8217;ve been running solo playtests in Tabletop Simulator, and I think it has some interesting interactions. Now I&#8217;m looking forward to getting feedback from other game designers. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-2-1024x576.png\" alt=\"\" class=\"wp-image-12\" srcset=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-2-1024x576.png 1024w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-2-300x169.png 300w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-2-768x432.png 768w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-2-1536x864.png 1536w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-2-1200x675.png 1200w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-2.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>I recently watched <a rel=\"noreferrer noopener\" href=\"https:\/\/youtu.be\/j4sQ9-Wc0l4\" target=\"_blank\">this excellent presentation by interaction designer Matt Leacock on finding players&#8217; emotional responses to your game<\/a>. A key source of emotional responses to <em>Villanostra<\/em> will involve the players&#8217; relationships with the villagers. <em>Villanostra<\/em> is a worker placement game in which the workers&#8211;the villagers&#8211;place themselves. So I want to maximize the opportunities for emotional connections toward the villagers, and that requires giving them faces.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1-1024x576.png\" alt=\"\" class=\"wp-image-11\" srcset=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1-1024x576.png 1024w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1-300x169.png 300w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1-768x432.png 768w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1-1536x864.png 1536w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1-1200x675.png 1200w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>I went to <a href=\"https:\/\/generated.photos\/\">https:\/\/generated.photos\/<\/a> as a source of ethnically diverse faces that are free for personal use. I need about 30 faces of uniform size, and being able to generate them randomly instead of selecting them individually is very appealing.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1024x576.png\" alt=\"\" class=\"wp-image-10\" srcset=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1024x576.png 1024w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-300x169.png 300w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-768x432.png 768w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1536x864.png 1536w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-1200x675.png 1200w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>That&#8217;s a great first step, but I don&#8217;t want photo-realistic images on my game components. The level of detail is distracting, and they set too high a bar for other images to be used elsewhere in the game. So I want to convert these faces to something that looks more like a line sketch. There are several YouTube tutorials for doing this in Photoshop, but I want a process that is quick and easy and doesn&#8217;t rely on expensive software. After <a rel=\"noreferrer noopener\" href=\"https:\/\/windowsreport.com\/convert-pictures-into-sketches\/\" target=\"_blank\">considering a number of options<\/a>, I selected <a rel=\"noreferrer noopener\" href=\"https:\/\/www.softpedia.com\/get\/Multimedia\/Graphic\/Graphic-Editors\/Instant-Photo-Sketch.shtml\" target=\"_blank\">Instant Photo Sketch<\/a>. It does exactly what I want without a lot of options I don&#8217;t care about. And it&#8217;s free. Hopefully, I didn&#8217;t add any malware to my computer when I installed it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-3.png\" alt=\"\" class=\"wp-image-15\" width=\"610\" height=\"440\" srcset=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-3.png 651w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-3-300x217.png 300w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"651\" height=\"470\" src=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-4.png\" alt=\"\" class=\"wp-image-16\" srcset=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-4.png 651w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-4-300x217.png 300w\" sizes=\"auto, (max-width: 651px) 100vw, 651px\" \/><\/figure>\n\n\n\n<p>(One odd thing I noticed: The original jpeg is 27.7KB. The generated sketch is 143KB. That&#8217;s a five-fold increase for a less detailed image. If I open the sketch in MS Paint and immediately save it, the size decreases to 76.3KB. I suppose jpeg compression might be optimized for human faces, but that&#8217;s still pretty unexpected, especially converting color to grayscale. If you have a theory, I&#8217;d be interested to hear it.)<\/p>\n\n\n\n<p>For my next step, I uploaded the image to <a rel=\"noreferrer noopener\" href=\"https:\/\/component.studio\/\" target=\"_blank\">Component.Studio<\/a> and added it to my previously-blank villager cards. These are micro cards, only 450&#215;600 pixels. The image doesn&#8217;t need to be very detailed! At this point I&#8217;m hardcoding the entire deck to show this one face, just to test for feasibility.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-5-1024x576.png\" alt=\"\" class=\"wp-image-17\" srcset=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-5-1024x576.png 1024w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-5-300x169.png 300w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-5-768x432.png 768w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-5-1536x864.png 1536w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-5-1200x675.png 1200w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-5.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>From Component.Studio I generate an image cache for the entire Villager deck. Then I went into Tabletop Simulator and updated the Custom properties for the Villager deck to point at the new image cache. Here&#8217;s what the cards look like in maximum zoom on TTS, with a poker chip for scale.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"418\" height=\"403\" src=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-6.png\" alt=\"\" class=\"wp-image-18\" srcset=\"https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-6.png 418w, https:\/\/ckixd.com\/blog\/wp-content\/uploads\/2020\/07\/image-6-300x289.png 300w\" sizes=\"auto, (max-width: 418px) 100vw, 418px\" \/><\/figure>\n\n\n\n<p>Is the image too small? Maybe. Does it look better than the blank white space that was there before? Absolutely! Like any creative endeavor, game design is an iterative process: our goal is improvement, not perfection. And this easy process is good enough for the tests I want to do this weekend.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m excited to playtest my new tabletop game project, Villanostra, at Protospiel Online this upcoming weekend. I&#8217;ve been running solo playtests in Tabletop Simulator, and I think it has some interesting interactions. Now I&#8217;m looking forward to getting feedback from other game designers. I recently watched this excellent presentation by interaction designer Matt Leacock on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","footnotes":""},"categories":[5,6,4],"tags":[2],"class_list":["post-9","post","type-post","status-publish","format-standard","hentry","category-game-design","category-protospiel","category-villanostra","tag-villanostra"],"_links":{"self":[{"href":"https:\/\/ckixd.com\/blog\/wp-json\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ckixd.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ckixd.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ckixd.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ckixd.com\/blog\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":4,"href":"https:\/\/ckixd.com\/blog\/wp-json\/wp\/v2\/posts\/9\/revisions"}],"predecessor-version":[{"id":20,"href":"https:\/\/ckixd.com\/blog\/wp-json\/wp\/v2\/posts\/9\/revisions\/20"}],"wp:attachment":[{"href":"https:\/\/ckixd.com\/blog\/wp-json\/wp\/v2\/media?parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ckixd.com\/blog\/wp-json\/wp\/v2\/categories?post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ckixd.com\/blog\/wp-json\/wp\/v2\/tags?post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}