{"action":"opened","issue":{"url":"https://api.github.com/repos/Deep-Phield-Softworks/XeroSum/issues/53","labels_url":"https://api.github.com/repos/Deep-Phield-Softworks/XeroSum/issues/53/labels{/name}","comments_url":"https://api.github.com/repos/Deep-Phield-Softworks/XeroSum/issues/53/comments","events_url":"https://api.github.com/repos/Deep-Phield-Softworks/XeroSum/issues/53/events","html_url":"https://github.com/Deep-Phield-Softworks/XeroSum/issues/53","id":77874838,"number":53,"title":"Path Checks more efficient","user":{"login":"ArikVhedrovix","id":5952322,"avatar_url":"https://avatars.githubusercontent.com/u/5952322?v=3","gravatar_id":"","url":"https://api.github.com/users/ArikVhedrovix","html_url":"https://github.com/ArikVhedrovix","followers_url":"https://api.github.com/users/ArikVhedrovix/followers","following_url":"https://api.github.com/users/ArikVhedrovix/following{/other_user}","gists_url":"https://api.github.com/users/ArikVhedrovix/gists{/gist_id}","starred_url":"https://api.github.com/users/ArikVhedrovix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ArikVhedrovix/subscriptions","organizations_url":"https://api.github.com/users/ArikVhedrovix/orgs","repos_url":"https://api.github.com/users/ArikVhedrovix/repos","events_url":"https://api.github.com/users/ArikVhedrovix/events{/privacy}","received_events_url":"https://api.github.com/users/ArikVhedrovix/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Deep-Phield-Softworks/XeroSum/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/Deep-Phield-Softworks/XeroSum/labels/help%20wanted","name":"help wanted","color":"159818"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-05-19T00:57:16Z","updated_at":"2015-05-19T00:57:16Z","closed_at":null,"body":"I think the size of the DMAPs needed can be reduced drastically for most Path objects by attempting to use a rectangle shaped map slice that is defined by two corners. One corner corresponds to the origin of the Path and the other would be the Target. This needs to be a recursive call that will expand the DMAP involved to look for a solution if no path is found. It also needs to check for common failure modes (such as looking for a path out of a node that is surrounded on all sides by impassible terrain) to prevent it from being an endless loop. This should improve the average case. Edge cases with large DMAPs required for solution may have worse performance (In the case of a large spiral shape made of walls ie). Maximum DMAP size should perhaps be limited to the view distance of the entity.  "}}