<\/a>So I just finished wiring the prototype region editor system wired into the terrain generation code.\u00a0 (As predicted, it’s much too slow to work in real-time for a full region, but is actually mostly okay for the smaller sub-regions within a region.\u00a0 There are lots of improvements that could be made to the speed, too)<\/p>\nBut the very first time I modified a bit of terrain using it (pictured at left), I realised that this approach simply doesn’t work — because the user can only modify polygonal boundaries, it ends up generating polygonal-looking terrain.<\/p>\n
I should have realised that this was going to happen;\u00a0 it’s almost exactly what happened when I first implemented terrain editing using this sort of system, about three years ago.<\/p>\n
There are things I could do to improve it, but they’d just slow the process down even more.\u00a0 Need to step back and think this over a little.\u00a0 Very dispirited at the moment, though;\u00a0 feels like it’s throwing this whole approach to solving the terrain editing interface into question.<\/p>\n
Maybe I should throw this whole thing into the “figure this out for version 3” basket — just let the user set a terrain type on each region in version 2, and go with that.\u00a0 Stop wasting time on this intricate terrain editing.\u00a0 Kind of scary to go back in the archives and see that I was working on exactly this same “build the world skeleton” task three years ago, and was running into similar issues even then.\u00a0 (I’ve gotten huge amounts of other things accomplished during that time, of course!\u00a0 But this one has remained a surprisingly large challenge)<\/p>\n","protected":false},"excerpt":{"rendered":"
So I just finished wiring the prototype region editor system wired into the terrain generation code.\u00a0 (As predicted, it’s much too slow to work in real-time for a full region, but is actually mostly okay for the smaller sub-regions within a region.\u00a0 There are lots of improvements that could be made to the speed, too)…<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[24,25],"tags":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/po9WK-KH","_links":{"self":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/2895"}],"collection":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/comments?post=2895"}],"version-history":[{"count":6,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/2895\/revisions"}],"predecessor-version":[{"id":2902,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/2895\/revisions\/2902"}],"wp:attachment":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/media?parent=2895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/categories?post=2895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/tags?post=2895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}