{"action":"created","issue":{"url":"https://api.github.com/repos/cuberite/cuberite/issues/2772","labels_url":"https://api.github.com/repos/cuberite/cuberite/issues/2772/labels{/name}","comments_url":"https://api.github.com/repos/cuberite/cuberite/issues/2772/comments","events_url":"https://api.github.com/repos/cuberite/cuberite/issues/2772/events","html_url":"https://github.com/cuberite/cuberite/issues/2772","id":122967675,"number":2772,"title":"Implement moving in straight lines","user":{"login":"SafwatHalaby","id":5030488,"avatar_url":"https://avatars.githubusercontent.com/u/5030488?v=3","gravatar_id":"","url":"https://api.github.com/users/SafwatHalaby","html_url":"https://github.com/SafwatHalaby","followers_url":"https://api.github.com/users/SafwatHalaby/followers","following_url":"https://api.github.com/users/SafwatHalaby/following{/other_user}","gists_url":"https://api.github.com/users/SafwatHalaby/gists{/gist_id}","starred_url":"https://api.github.com/users/SafwatHalaby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SafwatHalaby/subscriptions","organizations_url":"https://api.github.com/users/SafwatHalaby/orgs","repos_url":"https://api.github.com/users/SafwatHalaby/repos","events_url":"https://api.github.com/users/SafwatHalaby/events{/privacy}","received_events_url":"https://api.github.com/users/SafwatHalaby/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/cuberite/cuberite/labels/PathFinder","name":"PathFinder","color":"006b75"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-12-18T15:27:30Z","updated_at":"2015-12-18T16:41:09Z","closed_at":null,"body":"Mob always move snapped to the grid. They should ditch the pathfinder and move straight towards the player when both of these condition are met:\r\n 1. The mob won't collide with anything if moving in a straight line. (Simple line tracing is not enough, since mobs have varying bounding boxes)\r\n 2. Both the mob and the target are at the same height, and they won't encounter any bumps or holes when moving in a straight line towards target.\r\n\r\n*Performance considerations:*\r\n - This would call A* less than before. Performance should increase.\r\n - Don't do these checks every single tick.\r\n\r\n*Gameplay benefits:*\r\n - Mobs will move more realistically and won't insist on staying grid-aligned."},"comment":{"url":"https://api.github.com/repos/cuberite/cuberite/issues/comments/165830112","html_url":"https://github.com/cuberite/cuberite/issues/2772#issuecomment-165830112","issue_url":"https://api.github.com/repos/cuberite/cuberite/issues/2772","id":165830112,"user":{"login":"SafwatHalaby","id":5030488,"avatar_url":"https://avatars.githubusercontent.com/u/5030488?v=3","gravatar_id":"","url":"https://api.github.com/users/SafwatHalaby","html_url":"https://github.com/SafwatHalaby","followers_url":"https://api.github.com/users/SafwatHalaby/followers","following_url":"https://api.github.com/users/SafwatHalaby/following{/other_user}","gists_url":"https://api.github.com/users/SafwatHalaby/gists{/gist_id}","starred_url":"https://api.github.com/users/SafwatHalaby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SafwatHalaby/subscriptions","organizations_url":"https://api.github.com/users/SafwatHalaby/orgs","repos_url":"https://api.github.com/users/SafwatHalaby/repos","events_url":"https://api.github.com/users/SafwatHalaby/events{/privacy}","received_events_url":"https://api.github.com/users/SafwatHalaby/received_events","type":"User","site_admin":false},"created_at":"2015-12-18T16:41:09Z","updated_at":"2015-12-18T16:41:09Z","body":"@worktycho You remind me of some other method I considered earlier: Instead of A*, implement Jump Point Search and cache the Jump points."}}