Deprecated: Creation of dynamic property wpdb::$categories is deprecated in /home/atzok/atzok.com/wp-includes/wp-db.php on line 760

Deprecated: Creation of dynamic property wpdb::$post2cat is deprecated in /home/atzok/atzok.com/wp-includes/wp-db.php on line 760

Deprecated: Creation of dynamic property wpdb::$link2cat is deprecated in /home/atzok/atzok.com/wp-includes/wp-db.php on line 760

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/atzok/atzok.com/wp-includes/comment-template.php on line 1745

Deprecated: Creation of dynamic property Yoast\WP\SEO\Main::$helpers is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/lib/abstract-main.php on line 65

Deprecated: Creation of dynamic property WP_Block_Type::$skip_inner_blocks is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-block-type.php on line 357

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 22

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 28

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property Yoast\WP\SEO\Surfaces\Classes_Surface::$container is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/surfaces/classes-surface.php on line 20

Deprecated: Creation of dynamic property Yoast\WP\SEO\Main::$classes is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/lib/abstract-main.php on line 65

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$page_type is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 43

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$robots is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$title is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$source is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64
Pathfinding algorithms in Demon Keeper - ATZ OK
Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$meta_description is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$canonical is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$rel_prev is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$rel_next is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_locale is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_type is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_title is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_description is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_url is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$wordpress_site_name is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_site_name is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$company_name is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$site_represents is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$open_graph_publisher is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_article_publisher is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_article_author is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_article_published_time is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_article_modified_time is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$open_graph_enabled is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_image_id is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_image is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$open_graph_images is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$twitter_card is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$twitter_card is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$twitter_title is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$twitter_description is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$twitter_image is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$twitter_creator is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$twitter_site is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$estimated_reading_time_minutes is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$canonical is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$main_schema_id is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$site_url is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$schema_article_type is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$site_name is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$site_represents_reference is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$id is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$main_image_id is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$main_image_url is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$schema_page_type is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$title is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$has_image is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Context\Meta_Tags_Context::$description is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$breadcrumbs is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 185

Deprecated: Creation of dynamic property Yoast\WP\SEO\Presentations\Indexable_Post_Type_Presentation::$schema is deprecated in /home/atzok/atzok.com/wp-content/plugins/wordpress-seo/src/presentations/abstract-presentation.php on line 64
Uncategorized

Pathfinding algorithms in Demon Keeper

While ZedZed required only simple directional pathfinding (zombies are stupid, so advanced pathfinding is not needed), Demon Keeper required some more advanced techniques to facilitate targeting.

I found a great A* tutorial, and some great additional information, which helped me get started, but it wasn’t quite what I needed. The first thing I did was to split out the core logic into a function, and create two functions to access it for either a targeted A* route finder, or a Dijkstra search of multiple potential targets. The latter ended up being more heavily used for actions like finding the closest nearby hostile to attack, whereas the A* function is then used to maintain a route once the target is acquired.

What still remains insufficient however, is a node’s binary state of being either a pass or block in pathing. This created two problems: actors immediately in the way of the moving sprite would block its progress flat, and targetable features with no pathing data would return as unreachable. The ultimate solution to this was to pass in three separate path arrays: the board, the features, and the actors.

These three boards may then be analyzed in different ways, depending on where in the path you are. The actor board may be ignored entirely in all but the first move (since that’s the only one in which you can count on it being a factor), or weighted in a node’s F-value, based on distance (i.e. an actor blocking a node will have less value the further it is away from origin). The feature board will be used for the path along the way, but ignored at the final destination point, allowing for blocking features to be targeted, but still routed around along the way.


Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /home/atzok/atzok.com/wp-includes/class-wp-term.php on line 198