<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://blog.jonmikeys.com/posts/what-tactical-terrain-actually-means/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/when-waypoints-learn-about-visibility/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/influence-maps-turning-the-fight-into-a-heatmap/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/spatial-databases-for-tactical-ai/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/practical-tactical-awareness-system-starting-small/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/half-life-squad-attack-tickets/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/categories/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/combat/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/csharp/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/categories/game-programming/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/game-ai/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/half-life/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/squad-ai/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/unity/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/architecture/</loc><lastmod>2026-10-19T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/broker-chain-pattern-stats-and-modifiers/</loc><lastmod>2026-10-19T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/games/</loc><lastmod>2026-10-19T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/patterns/</loc><lastmod>2026-10-19T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/stats/</loc><lastmod>2026-10-19T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/flyweight-and-object-pooling/</loc><lastmod>2026-10-15T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/memory/</loc><lastmod>2026-10-15T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/performance/</loc><lastmod>2026-10-15T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/mediator-pattern-in-games/</loc><lastmod>2026-10-11T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/dependency-injection/</loc><lastmod>2026-10-07T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/service-locator-in-unity/</loc><lastmod>2026-10-07T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/service-locator/</loc><lastmod>2026-10-07T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/ai/</loc><lastmod>2026-09-29T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/classification/</loc><lastmod>2026-09-29T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/goap/</loc><lastmod>2026-09-29T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/jev/</loc><lastmod>2026-09-29T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/openrouter/</loc><lastmod>2026-09-29T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/tools/</loc><lastmod>2026-09-29T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/using-jev-for-game-ai-typed-decisions-for-goap/</loc><lastmod>2026-09-29T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/visitor-pattern-in-game-code/</loc><lastmod>2026-09-29T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/api-design/</loc><lastmod>2026-09-25T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/extension-methods-in-unity/</loc><lastmod>2026-09-25T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/extension-methods/</loc><lastmod>2026-09-25T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/cpp/</loc><lastmod>2026-09-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/interop/</loc><lastmod>2026-09-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/marshalling-csharp-cpp-unity/</loc><lastmod>2026-09-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/native-plugins/</loc><lastmod>2026-09-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/composition/</loc><lastmod>2026-09-17T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/decorator-pattern-in-games/</loc><lastmod>2026-09-17T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/categories/engineering/</loc><lastmod>2026-09-17T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/octrees/</loc><lastmod>2026-09-17T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/octrees-for-faster-3d-pathfinding/</loc><lastmod>2026-09-17T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/pathfinding/</loc><lastmod>2026-09-17T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/spatial-partitioning/</loc><lastmod>2026-09-17T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/culling/</loc><lastmod>2026-09-13T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/gameplay/</loc><lastmod>2026-09-13T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/lod/</loc><lastmod>2026-09-13T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/cullinggroup-for-smarter-object-management/</loc><lastmod>2026-09-13T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/automation/</loc><lastmod>2026-09-10T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/ci/</loc><lastmod>2026-09-10T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/cli/</loc><lastmod>2026-09-10T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/game-development/</loc><lastmod>2026-09-10T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/tooling/</loc><lastmod>2026-09-10T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/unity-core-cli-5-features-im-excited-for/</loc><lastmod>2026-09-10T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/csharp-records-in-unity/</loc><lastmod>2026-09-09T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/data/</loc><lastmod>2026-09-09T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/records/</loc><lastmod>2026-09-09T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/build-a-simple-di-container-in-csharp/</loc><lastmod>2026-09-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/reflex-di-factories-abstract-factories/</loc><lastmod>2026-09-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/containers/</loc><lastmod>2026-09-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/factory-and-abstract-factory-patterns/</loc><lastmod>2026-09-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/reflection/</loc><lastmod>2026-09-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/reflex/</loc><lastmod>2026-09-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/strategy-pattern-in-games/</loc><lastmod>2026-09-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/memento-pattern-game-state-snapshots/</loc><lastmod>2026-09-01T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/save-systems/</loc><lastmod>2026-09-01T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/r3/</loc><lastmod>2026-08-28T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/r3-reactive-programming-in-unity/</loc><lastmod>2026-08-28T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/reactive/</loc><lastmod>2026-08-28T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/builder-fluent-builder-patterns/</loc><lastmod>2026-08-24T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/devops/</loc><lastmod>2026-08-23T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/github-actions/</loc><lastmod>2026-08-23T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/testing/</loc><lastmod>2026-08-23T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/unity-cli-github-actions-edit-mode-tests/</loc><lastmod>2026-08-23T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/allocators/</loc><lastmod>2026-08-18T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/memory-arenas-in-game-code/</loc><lastmod>2026-08-18T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/api/</loc><lastmod>2026-08-14T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/api-programming-through-http/</loc><lastmod>2026-08-14T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/http/</loc><lastmod>2026-08-14T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/networking/</loc><lastmod>2026-08-14T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/zero-allocation-linq-in-unity/</loc><lastmod>2026-08-10T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/burst/</loc><lastmod>2026-08-06T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/gc/</loc><lastmod>2026-08-06T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/jobs/</loc><lastmod>2026-08-06T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/native-collections-and-burst-for-gc-heavy-projects/</loc><lastmod>2026-08-06T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/event-buses-in-unity-architecture/</loc><lastmod>2026-08-02T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/events/</loc><lastmod>2026-08-02T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/hierarchical-state-machines-in-unity/</loc><lastmod>2026-07-29T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/state-machines/</loc><lastmod>2026-07-29T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/command-pattern-in-games/</loc><lastmod>2026-07-25T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/input/</loc><lastmod>2026-07-25T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/algorithms/</loc><lastmod>2026-07-24T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/fps/</loc><lastmod>2026-07-24T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/graphics/</loc><lastmod>2026-07-24T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/raycasting/</loc><lastmod>2026-07-24T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/raycasting/</loc><lastmod>2026-07-24T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/rendering/</loc><lastmod>2026-07-24T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/async/</loc><lastmod>2026-07-23T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/cancellation/</loc><lastmod>2026-07-23T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/cancellation-tokens-in-unity/</loc><lastmod>2026-07-23T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/unitask/</loc><lastmod>2026-07-23T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/mirror/</loc><lastmod>2026-07-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/mirror-multiplayer-part-1-authority-first-rpcs-second/</loc><lastmod>2026-07-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/multiplayer/</loc><lastmod>2026-07-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/async-in-unity-with-unitask/</loc><lastmod>2026-07-17T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/benchmarking/</loc><lastmod>2026-07-13T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/benchmarking-csharp-in-unity/</loc><lastmod>2026-07-13T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/modular-game-ui-systems/</loc><lastmod>2026-07-09T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/ui/</loc><lastmod>2026-07-09T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/code-smells-and-how-to-fix-em/</loc><lastmod>2026-07-06T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/code-quality/</loc><lastmod>2026-07-06T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/game-dev/</loc><lastmod>2026-07-06T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/programming/</loc><lastmod>2026-07-06T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/refactoring/</loc><lastmod>2026-07-06T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/dependency-injection-for-game-code/</loc><lastmod>2026-07-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/dependency-injection-in-unity/</loc><lastmod>2026-07-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/observer-pattern/</loc><lastmod>2026-07-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/observer-pattern-in-games/</loc><lastmod>2026-07-05T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/astar-pathfinding/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/behavior-trees/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/behavior-trees-for-game-ai/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/blackboard/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/blackboard-architecture-for-game-ai/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/categories/game-ai/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/posts/goap-for-game-ai/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/grids/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/heatmap/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/implementation/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/influence-maps/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/planning/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/rts/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/series/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/spatial-database/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/strategy/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/systems-design/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/series/tactical-analysis/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/categories/tactical-analysis/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/tactical-ai/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/terrain-analysis/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/utility/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/visibility/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/tags/waypoints/</loc><lastmod>2026-06-21T00:00:00+00:00</lastmod></url><url><loc>https://blog.jonmikeys.com/about/</loc></url></urlset>