{"action":"created","issue":{"url":"https://api.github.com/repos/craftworkgames/MonoGame.Extended/issues/74","repository_url":"https://api.github.com/repos/craftworkgames/MonoGame.Extended","labels_url":"https://api.github.com/repos/craftworkgames/MonoGame.Extended/issues/74/labels{/name}","comments_url":"https://api.github.com/repos/craftworkgames/MonoGame.Extended/issues/74/comments","events_url":"https://api.github.com/repos/craftworkgames/MonoGame.Extended/issues/74/events","html_url":"https://github.com/craftworkgames/MonoGame.Extended/issues/74","id":111181951,"number":74,"title":"Simple collision detection","user":{"login":"craftworkgames","id":3201643,"avatar_url":"https://avatars.githubusercontent.com/u/3201643?v=3","gravatar_id":"","url":"https://api.github.com/users/craftworkgames","html_url":"https://github.com/craftworkgames","followers_url":"https://api.github.com/users/craftworkgames/followers","following_url":"https://api.github.com/users/craftworkgames/following{/other_user}","gists_url":"https://api.github.com/users/craftworkgames/gists{/gist_id}","starred_url":"https://api.github.com/users/craftworkgames/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/craftworkgames/subscriptions","organizations_url":"https://api.github.com/users/craftworkgames/orgs","repos_url":"https://api.github.com/users/craftworkgames/repos","events_url":"https://api.github.com/users/craftworkgames/events{/privacy}","received_events_url":"https://api.github.com/users/craftworkgames/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/craftworkgames/MonoGame.Extended/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":21,"created_at":"2015-10-13T13:40:51Z","updated_at":"2016-02-19T00:52:42Z","closed_at":null,"body":"Lately I've been interested in getting some simple collision detection and response working.\r\n\r\n**Note** Let me just be clear right up front; I'm not talking about the same type of functionality a *physics* engine provides. \r\n\r\nWhat I'm talking about is providing a library of classes and methods to implement the type of collision detection you might find in a platformer or other type of non-physics game. I believe if we do it right it could be very useful for a number of different style games without getting in the way too much. \r\n\r\nThere's an awesome [tutorial by the creators of N](http://www.metanetsoftware.com/technique/tutorialA.html) that goes into quite a lot of detail about how they implemented theirs.\r\n\r\nThere's also a few great stack overflow answers on the topic:\r\n- [a physics engine is not a platformer engine](http://gamedev.stackexchange.com/questions/44020/xna-c-platformer-physics-engine-or-tile-based/44308#44308)\r\n- [resolving multiple collisions](http://gamedev.stackexchange.com/questions/69339/2d-aabbs-and-resolving-multiple-collisions/71123#71123)\r\n- [separating the intersecting objects](http://gamedev.stackexchange.com/questions/61620/reusable-top-down-collision-class/61627#61627)\r\n\r\nI very briefly started roughing out a draft of something last night. Then tonight I spent some time reading and researching how to do it properly. I've raised this issue to keep a record of the knowledge.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/craftworkgames/MonoGame.Extended/issues/comments/185997172","html_url":"https://github.com/craftworkgames/MonoGame.Extended/issues/74#issuecomment-185997172","issue_url":"https://api.github.com/repos/craftworkgames/MonoGame.Extended/issues/74","id":185997172,"user":{"login":"LithiumToast","id":519592,"avatar_url":"https://avatars.githubusercontent.com/u/519592?v=3","gravatar_id":"","url":"https://api.github.com/users/LithiumToast","html_url":"https://github.com/LithiumToast","followers_url":"https://api.github.com/users/LithiumToast/followers","following_url":"https://api.github.com/users/LithiumToast/following{/other_user}","gists_url":"https://api.github.com/users/LithiumToast/gists{/gist_id}","starred_url":"https://api.github.com/users/LithiumToast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LithiumToast/subscriptions","organizations_url":"https://api.github.com/users/LithiumToast/orgs","repos_url":"https://api.github.com/users/LithiumToast/repos","events_url":"https://api.github.com/users/LithiumToast/events{/privacy}","received_events_url":"https://api.github.com/users/LithiumToast/received_events","type":"User","site_admin":false},"created_at":"2016-02-19T00:52:41Z","updated_at":"2016-02-19T00:52:41Z","body":"@craftworkgames https://github.com/LithiumToast/MonoGame.Extended\r\n\r\nI'm going to delete all my commits on my fork and make meaningful commits for each piece of code then do a pull request when I have something functional and fairly stable."}}