{"id":532,"date":"2019-11-02T11:31:21","date_gmt":"2019-11-02T11:31:21","guid":{"rendered":"http:\/\/cliffnordman.com\/blog\/?p=532"},"modified":"2023-01-27T11:28:42","modified_gmt":"2023-01-27T11:28:42","slug":"procjam-2019-day-1","status":"publish","type":"post","link":"https:\/\/cliffnordman.com\/blog\/2019\/11\/02\/procjam-2019-day-1\/","title":{"rendered":"PROCJAM 2019, Day 1"},"content":{"rendered":"<h2>Background<\/h2>\n<p><a href=\"http:\/\/www.procjam.com\/\">PROCJAM<\/a> is a fun, relaxed game jam with the goal to &#8220;make something that makes something.&#8221; It doesn&#8217;t even have to be a game.\u00a0 <a href=\"https:\/\/itch.io\/jam\/procjam\">(itch.io jam page)<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/procjam\">(twitter hashtag)<\/a>\u00a0 This will be my third year participating.<\/p>\n<ul>\n<li>2017, Spaceship Wrecker. Builds a spaceship that solves resource constraints, then the user breaks things, causing cascading system failures.\n<ul>\n<li><a href=\"https:\/\/cliffnordman.com\/blog\/2017\/11\/13\/procjam-2017-spaceship-wrecker\/\">[Blog entry]<\/a><\/li>\n<li><a href=\"https:\/\/cliffordius.itch.io\/spaceship-wrecker\">[Play in your browser] <\/a><\/li>\n<\/ul>\n<\/li>\n<li>2018, Photo Copy. Generates a city (Black Rock City, site of Burning Man) and photos of landmarks within that city. The player must find where each photo was taken and recreate it.\n<ul>\n<li>Blog Entries: <a href=\"https:\/\/cliffnordman.com\/blog\/2018\/10\/23\/procjam-2018-photo-copy-day-1\/\">Day 1<\/a>, <a href=\"http:\/\/cliffnordman.com\/blog\/2018\/10\/25\/procjam-2018-photo-copy-day-2\/\">Day 2<\/a>, <a href=\"http:\/\/cliffnordman.com\/blog\/2018\/10\/25\/procjam-2018-photo-copy-day-3\/\">Day 3<\/a>, <a href=\"http:\/\/cliffnordman.com\/blog\/2018\/10\/25\/procjam-7dfps-2018-day-4\/\">Day 4<\/a>, <a href=\"https:\/\/cliffnordman.com\/blog\/2018\/10\/26\/procjam-7dfps-2018-day-5\/\">Day 5<\/a>, <a href=\"https:\/\/cliffnordman.com\/blog\/2018\/10\/26\/procjam-7dfps-2018-day-6\/\">Day 6<\/a>, <a href=\"https:\/\/cliffnordman.com\/blog\/2018\/11\/05\/procjam-7dfps-2018-photo-copy-final-push\/\">Day 7<\/a><\/li>\n<li><a href=\"https:\/\/cliffordius.itch.io\/photo-copy\">[Play in your browser]<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Goal<\/h2>\n<p>This year, I&#8217;m making a tool to assist <a href=\"https:\/\/cliffnordman.com\/blog\/ttrpg-campaign-reports\/chasing-the-sunset\/\">Chasing The Sunset<\/a>, a sprawling, persistent exploration-based TTRPG based on <a href=\"http:\/\/arsludi.lamemage.com\/index.php\/78\/grand-experiments-west-marches\/\">West Marches<\/a> and <a href=\"https:\/\/www.kickstarter.com\/projects\/1552912590\/fellowship-2nd-edition\">Fellowship<\/a>. Explorers need locations to explore, and Fellowship has lists and instructions for creating new locations with pencil and paper. My goals for the online, procgen implementation of this tool are:<\/p>\n<ul>\n<li>Automatically generate legal, well-formed locations<\/li>\n<li>Teach the generator that some combinations make more sense than others.<\/li>\n<li>Allow the user to adjust any choice the generator makes<\/li>\n<li>Compress the output into a &#8220;random seed&#8221; that can be plugged back into the generator to reliably create the same output.<\/li>\n<li>be slick, non-hacky, and user-friendly. (I want to take a level in <a href=\"https:\/\/youtu.be\/mYMdMAvTHpo?t=661\">Artificer<\/a>)<\/li>\n<\/ul>\n<h2>Progress<\/h2>\n<p>I&#8217;ve been fiddling with project setup and workflow for a few days. I&#8217;m using <a href=\"https:\/\/reactjs.org\/\">react.js<\/a> and it requires a different mindset than jQuery, or component-based systems I might use in a game engine. I think I have the hang of sending data down the heirarchy through properties &amp; automatic render() updates, and sending data back up through callback functions.<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-534\" src=\"http:\/\/cliffnordman.com\/blog\/wp-content\/uploads\/2019\/11\/day1.png\" alt=\"\" width=\"513\" height=\"560\" srcset=\"https:\/\/cliffnordman.com\/blog\/wp-content\/uploads\/2019\/11\/day1.png 513w, https:\/\/cliffnordman.com\/blog\/wp-content\/uploads\/2019\/11\/day1-275x300.png 275w\" sizes=\"(max-width: 513px) 100vw, 513px\" \/><\/p>\n<p>Here&#8217;s a screenshot of the current state of the project.<\/p>\n<ul>\n<li>Multiple lists that have the same code, but different data sources.<\/li>\n<li>Lists can toggled between read-only and editable modes.<\/li>\n<li>It displays checkboxes if multiple options can be chosen, or radio buttons if only one option can be chosen.<\/li>\n<li>List items have optional descriptions<\/li>\n<li>&#8220;Affinities&#8221; are a first pass at creating cohesive locations. Asterisks on options indicate how much they match with what&#8217;s already selected.<\/li>\n<li>The each list creates a number that uniquely represents its options, and the top-level generator concatenates them into a single seed, which is displayed a emoji because emoji are fun!<\/li>\n<\/ul>\n<h2>What&#8217;s next?<\/h2>\n<ul>\n<li>Lots of data entry. Lists and lists of creatures, terrain descriptions, location moves, and relationships.\n<ul>\n<li>Low priority because code may require changes in data format, and I want to minimize re-work.<\/li>\n<\/ul>\n<\/li>\n<li>Random seed needs more thought. There are plenty of edge cases where the current system fails.<\/li>\n<li>Randomly select from a list, but with influence from other lists<\/li>\n<li>Affinities need more work. Right now I only have positive affinity: like attracts like, not negative affinity, where opposites repel.<\/li>\n<li>Export as text file.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Background PROCJAM is a fun, relaxed game jam with the goal to &#8220;make something that makes something.&#8221; It doesn&#8217;t even have to be a game.\u00a0 (itch.io jam page) (twitter hashtag)\u00a0 This will be my third year participating. 2017, Spaceship Wrecker. Builds a spaceship that solves resource constraints, then the user breaks things, causing cascading system &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/cliffnordman.com\/blog\/2019\/11\/02\/procjam-2019-day-1\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;PROCJAM 2019, Day 1&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,8,5],"tags":[],"class_list":["post-532","post","type-post","status-publish","format-standard","hentry","category-chasing-the-sunset","category-programming","category-rpg"],"_links":{"self":[{"href":"https:\/\/cliffnordman.com\/blog\/wp-json\/wp\/v2\/posts\/532"}],"collection":[{"href":"https:\/\/cliffnordman.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cliffnordman.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cliffnordman.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cliffnordman.com\/blog\/wp-json\/wp\/v2\/comments?post=532"}],"version-history":[{"count":3,"href":"https:\/\/cliffnordman.com\/blog\/wp-json\/wp\/v2\/posts\/532\/revisions"}],"predecessor-version":[{"id":536,"href":"https:\/\/cliffnordman.com\/blog\/wp-json\/wp\/v2\/posts\/532\/revisions\/536"}],"wp:attachment":[{"href":"https:\/\/cliffnordman.com\/blog\/wp-json\/wp\/v2\/media?parent=532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cliffnordman.com\/blog\/wp-json\/wp\/v2\/categories?post=532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cliffnordman.com\/blog\/wp-json\/wp\/v2\/tags?post=532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}