{"id":173,"date":"2013-08-18T19:14:11","date_gmt":"2013-08-19T02:14:11","guid":{"rendered":"https:\/\/www.crabattack.org\/blog\/hawk\/?p=173"},"modified":"2013-08-18T19:18:50","modified_gmt":"2013-08-19T02:18:50","slug":"dependency","status":"publish","type":"post","link":"https:\/\/www.crabattack.org\/blog\/hawk\/dependency\/","title":{"rendered":"Dependency"},"content":{"rendered":"<p>This week&#8217;s big issue revolved around zone pathways. Last week I showed off this theoretical image of how to place zones in a grid, but offset the position of the node to create an illusion of breaking up the grid:<\/p>\n<p><a href=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-169\" alt=\"newzone\" src=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone-300x160.png\" width=\"300\" height=\"160\" srcset=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone-300x160.png 300w, https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone-1024x546.png 1024w, https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone-144x76.png 144w, https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>(it&#8217;s worth noting that the top middle witch hut isn&#8217;t actually a valid position in this image)<\/p>\n<p>&nbsp;<\/p>\n<p>As it turns out, actually competently generating this is something of a chore.<\/p>\n<p><a href=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/choices.png\"><img decoding=\"async\" class=\"alignleft size-medium wp-image-175\" alt=\"choices\" src=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/choices.png\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Red lines represent the different points that roads can come from.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>In this system locations are composed of 3&#215;3 tile squares, with a single tile buffer between them \u00a0(4&#215;4 and up aren&#8217;t really viable due to tile size relative to screen size). Being a grid, there can be one roadway coming in on each side. Our road system isn&#8217;t sophisticated: the presence of a two road tiles next to each automatically connects them- no independent roads that are adjacent but going in different directions. The ultimate goal is to place the node (a town, a dungeon, etc) in a location such that every roadway uses it as the crossroads so that the pathways between zones are visually clear to the player: therefore each roadway must not touch another or it will create a second crossroads. With only one or two roadways, the position of the node can be anywhere within the grid. Once you hit 3 roadways, certain node positions are impossible relative to the roadway positions. At 4, every roadway needs to directly intersect.<\/p>\n<p><a href=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/choices2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-177\" alt=\"choices2\" src=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/choices2-300x274.png\" width=\"300\" height=\"274\" srcset=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/choices2-300x274.png 300w, https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/choices2-144x131.png 144w, https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/choices2.png 494w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>The problem this creates is interdependence between every zone. A zone with only 2 connections, one of which has 4 connections, must place one of its roadways based on what the 4 connection wants. With enough 3\/4 connection zones present, it ends up with a fairly uniform placement despite the effort to do otherwise. It&#8217;s also a pain to process when altering one zone can have ramifications on all of the others.<\/p>\n<p>So I dropped it. Because it&#8217;s not that important relative to the amount of work it was going to take. And went for total uniformity:<\/p>\n<p><a href=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-174\" alt=\"newzone2\" src=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone2-300x160.png\" width=\"300\" height=\"160\" srcset=\"https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone2-300x160.png 300w, https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone2-1024x546.png 1024w, https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone2-144x76.png 144w, https:\/\/www.crabattack.org\/blog\/hawk\/wp-content\/uploads\/2013\/08\/newzone2.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>It looks alright. It&#8217;s also slightly more readable than the version with offsets. There may come a time to improve the look of it. That time isn&#8217;t now.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week&#8217;s big issue revolved around zone pathways. Last week I showed off this theoretical image of how to place zones in a grid, but offset the position of the node to create an illusion of breaking up the grid: &nbsp; &nbsp; &nbsp; (it&#8217;s worth noting that the top middle witch hut isn&#8217;t actually a&#8230; <a href=\"https:\/\/www.crabattack.org\/blog\/hawk\/dependency\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Dependency<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[2],"class_list":["post-173","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-generation"],"_links":{"self":[{"href":"https:\/\/www.crabattack.org\/blog\/hawk\/wp-json\/wp\/v2\/posts\/173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.crabattack.org\/blog\/hawk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.crabattack.org\/blog\/hawk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.crabattack.org\/blog\/hawk\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.crabattack.org\/blog\/hawk\/wp-json\/wp\/v2\/comments?post=173"}],"version-history":[{"count":5,"href":"https:\/\/www.crabattack.org\/blog\/hawk\/wp-json\/wp\/v2\/posts\/173\/revisions"}],"predecessor-version":[{"id":181,"href":"https:\/\/www.crabattack.org\/blog\/hawk\/wp-json\/wp\/v2\/posts\/173\/revisions\/181"}],"wp:attachment":[{"href":"https:\/\/www.crabattack.org\/blog\/hawk\/wp-json\/wp\/v2\/media?parent=173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.crabattack.org\/blog\/hawk\/wp-json\/wp\/v2\/categories?post=173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.crabattack.org\/blog\/hawk\/wp-json\/wp\/v2\/tags?post=173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}