{"id":2543,"date":"2010-01-20T15:29:06","date_gmt":"2010-01-20T13:29:06","guid":{"rendered":"http:\/\/4eyes.code66.se\/?p=2543"},"modified":"2010-01-20T15:29:06","modified_gmt":"2010-01-20T13:29:06","slug":"lava-tiles-what-seems-to-be-missing-out-there","status":"publish","type":"post","link":"http:\/\/4eyes.code66.se\/?p=2543","title":{"rendered":"Lava tiles &#8211; what seems to be missing out there"},"content":{"rendered":"<p>I read a post back at <a href=\"http:\/\/newbiedm.com\/2010\/01\/19\/volcanic-adventure-tiles\/\" target=\"_blank\">newbieDM<\/a>, about missing lava tiles, and that he had done some himself. They looked pretty nice, but I saw that as a challenge, to make a lava tile filter in <a href=\"http:\/\/www.filterforge.com\/?affiliateid=200100725\" target=\"_blank\">FilterForge<\/a>. For this I did use the beta version of FilterForge 2, and the only real reason was that in FilterForge 2, you can use HDR colors, i.e. invisible light, to create very vivid colors, for example a fire, or in this case lava. The result will of cause not contain those colors, as they cannot be displayed, and if they could, someone would be sued for burning the eyes of the viewers, much like looking in the sun or at a welding.<\/p>\n<p><!--more--><\/p>\n<p>So, first we create a <strong>Perlin Noise<\/strong>, that we configure with HDR colors, a lot of blue<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt01.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2545\" title=\"lt01\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt01.jpg\" alt=\"\" width=\"236\" height=\"211\" \/><\/a><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt02.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2546\" title=\"lt02\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt02.jpg\" alt=\"\" width=\"311\" height=\"315\" \/><\/a><\/p>\n<p>You can see how fierce the fire look already. Now, we make another <strong>Perlin Noise<\/strong>, and the run them into a third <strong>Perlin Noise<\/strong>, this will be our fire\/lava generator.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt03.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2547\" title=\"lt03\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt03.jpg\" alt=\"\" width=\"440\" height=\"370\" \/><\/a><\/p>\n<p>Now, we need small spots of stone in this sea of fire or lava, so we set up two more <strong>Perlin Noises<\/strong>, and set a wave as the controller of the noise, so we get small items. We run the output from the first into the background of the second, just to get a little more random and a better effect that changes more predictable with the variations.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt04.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2548\" title=\"lt04\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt04.jpg\" alt=\"\" width=\"440\" height=\"391\" \/><\/a><\/p>\n<p>Now, we need \u00a0stony surface, so we create a <strong>Tiles<\/strong> component, and set it up to generate a dark tile, that we then feed into a <strong>Noise Distortion<\/strong>, configured for max distortion and roughness. This will render a random dark surface with lighter spots in it, perfect for a quick stone.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt05.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2549\" title=\"lt05\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt05.jpg\" alt=\"\" width=\"440\" height=\"306\" \/><\/a><\/p>\n<p>Now, the use a <strong>Threshold <\/strong>component to merge the fire background with the texture of the small elements. This is a pretty elegant solution you can use, it is fast and produces a good result.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt06.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2550\" title=\"lt06\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt06.jpg\" alt=\"\" width=\"288\" height=\"199\" \/><\/a><\/p>\n<p>Now, we need something for the PCs to stand on, some firm ground. So we use two <strong>Tiles<\/strong> components, that we set up to generate a rather random tile, and then we use a <strong>Threshold<\/strong> component to make it black or white. We then run these two black and white results into a <strong>Checker<\/strong> component, that does juts that, checker pattern placement of the two incoming images.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt07.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2551\" title=\"lt07\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt07.jpg\" alt=\"\" width=\"440\" height=\"591\" \/><\/a><\/p>\n<p>We then blur the result a little with\u00a0<strong>Blur<\/strong> component, then run the result through two different <strong>Noise Distortion<\/strong> components, set up differently, one to make small distortions, the edges, and one to make larger distortions, curving the whole sections.<\/p>\n<p><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt08.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2552\" title=\"lt08\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt08.jpg\" alt=\"\" width=\"440\" height=\"396\" \/><\/a><\/p>\n<p>Now, we feed this into the <strong><em>Height <\/em><span style=\"font-weight: normal;\">input of the <\/span>Result <\/strong>component.<\/p>\n<p>Back to the fire, we use another <strong>Threshold<\/strong> component, and use the same data we fed the <strong><em>Height <\/em><span style=\"font-weight: normal;\">of the <\/span>Result<\/strong> component as the source, and the feed the fire into the <strong><em>Low<\/em><span style=\"font-weight: normal;\"> and the stone texture into the <\/span><em>High<\/em><span style=\"font-weight: normal;\">, this was we add stone tiles over the lava. Now we generate a grid, and blend that on top of the map.<\/span><\/strong><\/p>\n<p><strong><span style=\"font-weight: normal;\"><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt09.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2553\" title=\"lt09\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt09.jpg\" alt=\"\" width=\"316\" height=\"352\" \/><\/a><\/span><\/strong><\/p>\n<p><strong><span style=\"font-weight: normal;\">And the result? Pretty good I say! This one has been scaled down and reduced in size, but the PDF will contain 4 full quality tiles of 6&#215;6 squares. Click the image to see a close up, still reduced in size.<\/span><\/strong><\/p>\n<p><strong><span style=\"font-weight: normal;\"><a href=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt10.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2554\" title=\"lt10\" src=\"http:\/\/4eyes.code66.se\/wp-content\/uploads\/2010\/01\/lt10.jpg\" alt=\"\" width=\"480\" height=\"480\" \/><\/a><\/span><\/strong><\/p>\n<p><strong><span style=\"font-weight: normal;\">Download the PDF with four tiles <a href=\"http:\/\/homepage.mac.com\/Guru66\/4EYes\/Lavatiles-4e.pdf\" target=\"_blank\">here<\/a>.<\/span><\/strong><\/p>\n<p><strong><span style=\"font-weight: normal;\">Have a nice warm fight!<\/span><\/strong><\/p>\n<p><strong><span style=\"font-weight: normal;\"><br \/>\n<\/span><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I read a post back at newbieDM, about missing lava tiles, and that he had done some himself. They looked pretty nice, but I saw that as a challenge, to make a lava tile filter in FilterForge. For this I did use the beta version of FilterForge 2, and the only real reason was that [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,8],"tags":[13],"class_list":["post-2543","post","type-post","status-publish","format-standard","hentry","category-mapmaking","category-tools-of-the-trade","tag-filterforge"],"_links":{"self":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts\/2543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2543"}],"version-history":[{"count":5,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts\/2543\/revisions"}],"predecessor-version":[{"id":2559,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=\/wp\/v2\/posts\/2543\/revisions\/2559"}],"wp:attachment":[{"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2543"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4eyes.code66.se\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}