{"id":2731,"date":"2016-04-22T00:26:03","date_gmt":"2016-04-21T23:26:03","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=2731"},"modified":"2016-04-22T00:33:13","modified_gmt":"2016-04-21T23:33:13","slug":"p-152-virtual-world-concept-update-113-optimisations-and-debugging-part-2","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/p-152-virtual-world-concept-update-113-optimisations-and-debugging-part-2\/","title":{"rendered":"P-152: Virtual World Concept Update 113: Optimisations and Debugging Part 2"},"content":{"rendered":"<p>I have discovered and fixed a bug in the generation of noise for the spherical terrain. This bug occurred in the global heightfield, which means that it had knock on effects on all of the subdivided tiers below it.<\/p>\n<p>Fixing it seems to have improved the smoothness of the terrain significantly.<\/p>\n<p>I have also found that the terrain seems to repeat in predictable blocks, which causes noticeable seaming around the edges and in the center. I believe this is caused by a limitation in the Perlin noise generation algorithm. I am currently looking into changing to simplex noise, and improved version of Perlin noise, to remedy this.<\/p>\n<p>These are the artifacts that I am talking about:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2733\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-02_36_52-AM-300x195.jpg\" alt=\"P152_DEBUG 21\/04\/2016 , 02:36:52 AM Torque 3D MIT - P152\" width=\"300\" height=\"195\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-02_36_52-AM-300x195.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-02_36_52-AM-768x498.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-02_36_52-AM-1024x664.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-02_36_52-AM.jpg 1922w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>There is a noticeable, repeating pattern of ridges throughout the terrain. Changing the scale of the noise reduces this effect, but does not eliminate it. I think that once I have solved this, I should be able to finish the basic terrain geometry system. Optimising and debugging the terrain will take a lot longer, since it is a massive time sink, I have spent hours just tweaking the different variables and observing the effects, but the general terrain seems to work ok. It is fast enough, and the resolution is high enough, the only issue is the artifacts.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2737\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_03_20-PM-300x213.jpg\" alt=\"wgnuplot 21\/04\/2016 , 10:03:20 PM Gnuplot (window id : 0)\" width=\"300\" height=\"213\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_03_20-PM-300x213.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_03_20-PM-768x546.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_03_20-PM-1024x728.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_03_20-PM.jpg 1954w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2736\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_46_57-PM-300x195.jpg\" alt=\"P152_DEBUG 21\/04\/2016 , 10:46:57 PM Torque 3D MIT - P152\" width=\"300\" height=\"195\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_46_57-PM-300x195.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_46_57-PM-768x498.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_46_57-PM-1024x664.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_46_57-PM.jpg 1922w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2735\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_48_50-PM-300x195.jpg\" alt=\"P152_DEBUG 21\/04\/2016 , 10:48:50 PM Torque 3D MIT - P152\" width=\"300\" height=\"195\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_48_50-PM-300x195.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_48_50-PM-768x498.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_48_50-PM-1024x664.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_48_50-PM.jpg 1922w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2734\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_54_52-PM-300x195.jpg\" alt=\"P152_DEBUG 21\/04\/2016 , 10:54:52 PM Torque 3D MIT - P152\" width=\"300\" height=\"195\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_54_52-PM-300x195.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_54_52-PM-768x498.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_54_52-PM-1024x664.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_54_52-PM.jpg 1922w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2732\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_45_30-PM-300x195.jpg\" alt=\"P152_DEBUG 21\/04\/2016 , 10:45:30 PM Torque 3D MIT - P152\" width=\"300\" height=\"195\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_45_30-PM-300x195.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_45_30-PM-768x498.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_45_30-PM-1024x664.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-21_04_2016-10_45_30-PM.jpg 1922w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have discovered and fixed a bug in the generation of noise for the spherical terrain. This bug occurred in the global heightfield, which means that it had knock on effects on all of the subdivided tiers below it. Fixing it seems to have improved the smoothness of the terrain significantly. I have also found [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,17,10,11],"tags":[],"class_list":["post-2731","post","type-post","status-publish","format-standard","hentry","category-astral-realms","category-p-0","category-software-and-games","category-spiritus-astrum","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"aioseo_notices":[],"builder_content":"","_links":{"self":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/2731"}],"collection":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/comments?post=2731"}],"version-history":[{"count":3,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/2731\/revisions"}],"predecessor-version":[{"id":2741,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/2731\/revisions\/2741"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=2731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=2731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=2731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}