{"id":1568,"date":"2010-10-12T00:44:59","date_gmt":"2010-10-11T13:44:59","guid":{"rendered":"http:\/\/www.vectorstorm.org\/?p=1568"},"modified":"2010-10-12T00:48:17","modified_gmt":"2010-10-11T13:48:17","slug":"arrows","status":"publish","type":"post","link":"https:\/\/www.vectorstorm.com.au\/2010\/10\/12\/arrows\/","title":{"rendered":"Arrows"},"content":{"rendered":"

\"\"<\/a>So here’s something that I’ve wanted to do ever since that early alpha of MMORPG Tycoon v1.1; \u00a0get a proper concave end onto the mouse cursor.<\/p>\n

Since v1.1, the mouse cursor has been implemented using an algorithm more commonly used for simulating rubberised fabrics. \u00a0In effect, each point in the model acts like a spring against every other point in the model, so it springs around following the actual location of the (hidden) operating system’s mouse pointer. \u00a0The problem is that this “springs” approach really only works with approximately convex shapes; \u00a0concave shapes tend to flip over as they’re dragged, so that things you intended to be concave end up being convex.<\/p>\n

But I’ve now mostly figured out a way to get that concave shape that I want, without changing the basic cursor behaviour. \u00a0Now I just need to fix the rendering of the background to match (you can see that it’s subtly wrong, if you look closely at this screenshot).<\/p>\n

In other news, I’ve also added maximum ranges onto combat abilities (and made the GUI update to show abilities as disabled, if you’re out of range), and have fixed the problem of being able to attack and kill monsters which are already dead.<\/p>\n","protected":false},"excerpt":{"rendered":"

So here’s something that I’ve wanted to do ever since that early alpha of MMORPG Tycoon v1.1; \u00a0get a proper concave end onto the mouse cursor. Since v1.1, the mouse cursor has been implemented using an algorithm more commonly used for simulating rubberised fabrics. \u00a0In effect, each point in the model acts like a spring…<\/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\/so9WK-arrows","_links":{"self":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/1568"}],"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=1568"}],"version-history":[{"count":0,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/posts\/1568\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/media?parent=1568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/categories?post=1568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vectorstorm.com.au\/wp-json\/wp\/v2\/tags?post=1568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}