{"id":22569,"date":"2014-09-24T16:01:35","date_gmt":"2014-09-24T14:01:35","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=22569"},"modified":"2014-09-24T16:01:35","modified_gmt":"2014-09-24T14:01:35","slug":"pathfinding-js-a-comprehensive-path-finding-library-for-grid-based-games","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2014\/09\/24\/pathfinding-js-a-comprehensive-path-finding-library-for-grid-based-games\/","title":{"rendered":"PathFinding.js &#8211; a comprehensive path-finding library for grid based games"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/github.com\/qiao\/PathFinding.js\">PathFinding.js<\/a> &#8211; a comprehensive path-finding library for grid based games. \u00a0Here is a <a href=\"http:\/\/qiao.github.io\/PathFinding.js\/visual\/\">visual demo<\/a>.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/09\/path_finder.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"22570\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2014\/09\/24\/pathfinding-js-a-comprehensive-path-finding-library-for-grid-based-games\/path_finder\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/09\/path_finder.png?fit=1913%2C964&amp;ssl=1\" data-orig-size=\"1913,964\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"path_finder\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/09\/path_finder.png?fit=660%2C333&amp;ssl=1\" class=\"aligncenter size-medium wp-image-22570\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/09\/path_finder-500x251.png?resize=500%2C251&#038;ssl=1\" alt=\"path_finder\" width=\"500\" height=\"251\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/09\/path_finder.png?resize=500%2C251&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/09\/path_finder.png?resize=1024%2C516&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/09\/path_finder.png?w=1913&amp;ssl=1 1913w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/09\/path_finder.png?w=1320 1320w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>PathFinding.js &#8211; a comprehensive path-finding library for grid based games. \u00a0Here is a visual demo.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,11,18,62,1334],"tags":[850,1139,1330],"keyring_services":[],"class_list":["post-22569","post","type-post","status-publish","format-link","hentry","category-general","category-games","category-programming","category-technology","category-web-work","tag-algorithms","tag-javascript","tag-web-development","post_format-post-format-link"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":21445,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/04\/07\/masonry-cascading-grid-layout-library\/","url_meta":{"origin":22569,"position":0},"title":"Masonry &#8211; cascading grid layout library","author":"Leonid Mamchenkov","date":"April 7, 2014","format":"link","excerpt":"Masonry - cascading grid layout library \u00a0 What is Masonry? Masonry is a JavaScript grid layout library. It works by placing elements in optimal position based on available vertical space, sort of like a mason fitting stones in a wall. You\u2019ve probably seen it in use all over the Internet.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"masonry","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/04\/masonry.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28423,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/03\/04\/a-comprehensive-guide-to-web-design\/","url_meta":{"origin":22569,"position":1},"title":"A Comprehensive Guide To Web Design","author":"Leonid Mamchenkov","date":"March 4, 2018","format":false,"excerpt":"\"A Comprehensive Guide To Web Design\" is a rather lengthy article that focuses on the non-technical bits of the web design.\u00a0 It's not about the tools and technologies, but more about the meaning and good practices.\u00a0 The article covers the design of navigation, content, call to action, web forms, accessibility,\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9945,"url":"https:\/\/mamchenkov.net\/wordpress\/2006\/03\/03\/daily-del-icio-us-bookmarks\/","url_meta":{"origin":22569,"position":2},"title":"Daily del.icio.us bookmarks","author":"Leonid Mamchenkov","date":"March 3, 2006","format":false,"excerpt":"Shared bookmarks for del.icio.us user tvset on 2006-03-02 Web 2.0 glossary | Otherwise Engaged. Tagged as: dictionary glossary terminology terms web web2.0 b i b l i o p h i l . o r g -- Books reviews and collection management Tagged as: authors books library literature reading sharing\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27440,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/03\/20\/nginx-amplify-comprehensive-nginx-monitoring\/","url_meta":{"origin":22569,"position":3},"title":"Nginx Amplify : comprehensive Nginx monitoring","author":"Leonid Mamchenkov","date":"March 20, 2017","format":false,"excerpt":"Somehow I missed the announcement of the Nginx Amplify (beta) back in November of last year, so here it goes now. Nginx Amplify is a new tool for the comprehensive monitoring of Nginx web servers. \u00a0Here's what it can do for you: Visually identify performance bottlenecks, overloaded servers, or potential\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/03\/nginx-amplify-500x257.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":26380,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/08\/26\/a-very-comprehensive-and-precise-spec\/","url_meta":{"origin":22569,"position":4},"title":"A very comprehensive and precise spec","author":"Leonid Mamchenkov","date":"August 26, 2016","format":false,"excerpt":"CommitStrip does it again:","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"coders","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/08\/coders-500x472.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":7325,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/01\/10\/linux-gaming\/","url_meta":{"origin":22569,"position":5},"title":"Linux gaming","author":"Leonid Mamchenkov","date":"January 10, 2004","format":false,"excerpt":"Accidentally, I've spent the whole day playing a bunch of Linux games. That is what happens when you just pass by the Happy Penguin web site. Here is the top three games: NetPanzer - multiplayer network tank game. Nice graphics and sounds and live chat. Also there was no difficulty\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/22569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=22569"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/22569\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=22569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=22569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=22569"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=22569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}