<\/a>Feels like I’ve been working on clutter for ages and ages. \u00a0And from a certain point of view, I guess I have. \u00a0These clutter systems are kind of a simpler version of most of the rendering parts of MMORPG Tycoon 2; \u00a0creating and destroying renderable geometry when it’s needed, so we don’t have a ridiculous amount of geometry just sitting around in memory all the time, not being used. \u00a0This is an important consideration, when your game world is the size of World of Warcraft! \u00a0The stuff I do here will eventually generalise out to the height map, and then (hopefully!) to most other procedural geometry int he game, and should make the game feel a lot more responsive.<\/p>\nSo today I’ve done phase two of the multithreading of clutter. \u00a0Yesterday, each “clutter tile” kept its own thread which would sleep while waiting for a “build some new clutter” job to arrive. \u00a0Today, there is now just one “worker thread” which handles all clutter rebuilding tasks. \u00a0This behaves a lot more nicely (particularly for people with fewer cores on the CPU), and should scale a lot better. \u00a0And it’s noticeable faster again to rebuild tiles of ground clutter, even compared against how fast it was yesterday. \u00a0From my point of view, the system side of ground clutter is now basically finished. \u00a0All that remains to do is to generate different types of clutter depending upon the terrain type (right now, it generates grass on everything, even bare mountain faces)<\/p>\n
The plan is that tomorrow and over the weekend, I’ll be bringing this same system over to edge clutter, and to the base height maps as well. \u00a0This should substantially improve the frame rate jitters that I currently get when a new block of world terrain comes into view.<\/p>\n","protected":false},"excerpt":{"rendered":"
Feels like I’ve been working on clutter for ages and ages. \u00a0And from a certain point of view, I guess I have. \u00a0These clutter systems are kind of a simpler version of most of the rendering parts of MMORPG Tycoon 2; \u00a0creating and destroying renderable geometry when it’s needed, so we don’t have a ridiculous…<\/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-yP","_links":{"self":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/2159"}],"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=2159"}],"version-history":[{"count":0,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/2159\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/media?parent=2159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/categories?post=2159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/tags?post=2159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}