<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Games on Coyote Time</title>
    <link>https://blog.jonmikeys.com/tags/games/</link>
    <description>Recent content in Games on Coyote Time</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 15 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.jonmikeys.com/tags/games/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Part 1: What Tactical Terrain Actually Means</title>
      <link>https://blog.jonmikeys.com/posts/what-tactical-terrain-actually-means/</link>
      <pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/what-tactical-terrain-actually-means/</guid>
      <description>Tactical terrain analysis is the practice of asking what the map makes possible.&#xA;A hill, wall, chokepoint, or dark corner is not automatically useful. It becomes useful when it changes movement, visibility, or risk. That is why terrain analysis matters: it turns the map into data that an AI can evaluate.&#xA;The basic question The core question is simple:&#xA;Which parts of this map give one side an advantage?&#xA;That question is more useful than a hand-authored list of “important” spots.</description>
    </item>
    <item>
      <title>Part 2: When Waypoints Learn About Visibility</title>
      <link>https://blog.jonmikeys.com/posts/when-waypoints-learn-about-visibility/</link>
      <pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/when-waypoints-learn-about-visibility/</guid>
      <description>A waypoint graph is useful for movement. It becomes more valuable when it also models exposure.&#xA;If each node knows what it can see, the graph can answer tactical questions, not just pathfinding questions.&#xA;Visibility is the tactical signal Visibility tells you several things at once:&#xA;whether a position is exposed whether it provides cover whether it is good for attacking from whether a route is safe to travel whether the position is likely to attract return fire That makes visibility one of the strongest signals in tactical AI.</description>
    </item>
    <item>
      <title>Part 3: Influence Maps: Turning the Fight Into a Heatmap</title>
      <link>https://blog.jonmikeys.com/posts/influence-maps-turning-the-fight-into-a-heatmap/</link>
      <pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/influence-maps-turning-the-fight-into-a-heatmap/</guid>
      <description>Visibility tells you whether a place can be seen.&#xA;Influence maps tell you how much pressure exists there.&#xA;That difference matters. A position can be visible without being dangerous, and dangerous without being fully visible. Influence maps help estimate the shape of the fight instead of only the geometry of the map.&#xA;What an influence map is An influence map is a grid layered over the terrain. Each cell stores a value that represents power, danger, control, or importance.</description>
    </item>
    <item>
      <title>Part 4: Spatial Databases for Tactical AI</title>
      <link>https://blog.jonmikeys.com/posts/spatial-databases-for-tactical-ai/</link>
      <pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/spatial-databases-for-tactical-ai/</guid>
      <description>A single tactical score is easy to compute and hard to trust.&#xA;A layered spatial database is easier to debug because each layer answers one question.&#xA;Why layers matter A tactical AI usually needs more than one kind of spatial information.&#xA;One layer can describe visibility. Another can describe cover. Another can describe occupancy or line of fire. Keeping those signals separate makes the system easier to reason about.&#xA;That is the main idea behind the spatial database in the lecture: represent the map as a stack of tactical views.</description>
    </item>
    <item>
      <title>Part 5: A Practical Tactical Awareness System, Starting Small</title>
      <link>https://blog.jonmikeys.com/posts/practical-tactical-awareness-system-starting-small/</link>
      <pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/practical-tactical-awareness-system-starting-small/</guid>
      <description>A tactical awareness system should start small.&#xA;The first version does not need to model everything. It needs to answer one or two useful questions clearly.&#xA;Start with one signal The first step is to pick one tactical signal that is easy to measure.&#xA;Good candidates are:&#xA;visibility cover a small penalty for exposed paths The point is not completeness. The point is to get a result that changes behavior in a useful way.</description>
    </item>
    <item>
      <title>Flyweight and Object Pooling: Share What Repeats, Reuse What Churns</title>
      <link>https://blog.jonmikeys.com/posts/flyweight-and-object-pooling/</link>
      <pubDate>Thu, 15 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/flyweight-and-object-pooling/</guid>
      <description>Flyweight shares the data that repeats across thousands of objects. Object pooling reuses the instances that keep being created and destroyed. This guide covers ScriptableObject definitions, UnityEngine.Pool, handle-based pools, reset bugs, and when neither is worth it.</description>
    </item>
    <item>
      <title>Mediator Pattern in Games: One Middleman Instead of a Web of Direct Dependencies</title>
      <link>https://blog.jonmikeys.com/posts/mediator-pattern-in-games/</link>
      <pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/mediator-pattern-in-games/</guid>
      <description>A practical guide to the mediator pattern in game code: when a group of components needs to coordinate, and one scoped middleman beats a web of direct references.</description>
    </item>
    <item>
      <title>Service Locator in Unity: The Global Registry, Used Where It Belongs</title>
      <link>https://blog.jonmikeys.com/posts/service-locator-in-unity/</link>
      <pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/service-locator-in-unity/</guid>
      <description>Service locator gets dismissed as a global with nicer clothes. It has real, defensible uses at engine boundaries and in small games — here is where it earns its keep and where it rots.</description>
    </item>
    <item>
      <title>Visitor Pattern in Game Code: Add Tools Around Stable Data</title>
      <link>https://blog.jonmikeys.com/posts/visitor-pattern-in-game-code/</link>
      <pubDate>Tue, 29 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/visitor-pattern-in-game-code/</guid>
      <description>A practical C# guide to the Visitor pattern in game code: where double dispatch helps, how to validate ability data, and when a switch or ordinary methods are clearer.</description>
    </item>
    <item>
      <title>Decorator Pattern in Games: Stack Behavior Without Subclass Explosion</title>
      <link>https://blog.jonmikeys.com/posts/decorator-pattern-in-games/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/decorator-pattern-in-games/</guid>
      <description>Use decorators to stack optional game behavior around a stable interface, while keeping order, lifetime, allocation, and debugging costs visible.</description>
    </item>
    <item>
      <title>Octrees for Faster 3D Pathfinding</title>
      <link>https://blog.jonmikeys.com/posts/octrees-for-faster-3d-pathfinding/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/octrees-for-faster-3d-pathfinding/</guid>
      <description>Build a smaller 3D navigation graph by giving open space large octree cells and reserving fine detail for obstacles, then run A* over the free leaves.</description>
    </item>
    <item>
      <title>C# Records in Unity: Value Semantics Without Fighting the Engine</title>
      <link>https://blog.jonmikeys.com/posts/csharp-records-in-unity/</link>
      <pubDate>Wed, 09 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/csharp-records-in-unity/</guid>
      <description>Where C# records fit in Unity projects, where they cause trouble, and how to keep serialized data, runtime values, and live game objects separate.</description>
    </item>
    <item>
      <title>Combining Reflex DI with Factories: Runtime Creation Without Container Soup</title>
      <link>https://blog.jonmikeys.com/posts/reflex-di-factories-abstract-factories/</link>
      <pubDate>Sat, 05 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/reflex-di-factories-abstract-factories/</guid>
      <description>A practical follow-up on combining dependency injection with factory and abstract factory patterns in Unity, using Reflex as the container and one dungeon-room spawning context from start to finish.</description>
    </item>
    <item>
      <title>Factory and Abstract Factory Patterns: Create the Thing Without Spreading the Choice Everywhere</title>
      <link>https://blog.jonmikeys.com/posts/factory-and-abstract-factory-patterns/</link>
      <pubDate>Sat, 05 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/factory-and-abstract-factory-patterns/</guid>
      <description>A practical guide to factory and abstract factory patterns in game code: when construction choices deserve a home, when a simple method is enough, and how to avoid turning creation code into architecture theater.</description>
    </item>
    <item>
      <title>Strategy Pattern in Games: Swap Behavior Without Growing a Branch Monster</title>
      <link>https://blog.jonmikeys.com/posts/strategy-pattern-in-games/</link>
      <pubDate>Sat, 05 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/strategy-pattern-in-games/</guid>
      <description>A practical guide to using the strategy pattern in game code for weapons, movement, AI decisions, scoring rules, and other behavior that needs to change safely.</description>
    </item>
    <item>
      <title>Memento Pattern in Games: Save the State Without Exposing the Guts</title>
      <link>https://blog.jonmikeys.com/posts/memento-pattern-game-state-snapshots/</link>
      <pubDate>Tue, 01 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/memento-pattern-game-state-snapshots/</guid>
      <description>A practical guide to using the memento pattern for undo, checkpoints, editor tools, and save snapshots in game code without leaking internal state everywhere.</description>
    </item>
    <item>
      <title>R3 and Reactive Programming in Unity: Use Streams Where Events Start to Fray</title>
      <link>https://blog.jonmikeys.com/posts/r3-reactive-programming-in-unity/</link>
      <pubDate>Fri, 28 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/r3-reactive-programming-in-unity/</guid>
      <description>A practical look at using R3-style reactive streams in Unity without turning every button click, timer, and gameplay signal into architecture theater.</description>
    </item>
    <item>
      <title>Builder and Fluent Builder Patterns: Make Setup Readable Without Hiding the Cost</title>
      <link>https://blog.jonmikeys.com/posts/builder-fluent-builder-patterns/</link>
      <pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/builder-fluent-builder-patterns/</guid>
      <description>A practical guide to builder-style APIs in game code: when they clarify setup, when object initializers are enough, and where fluent chains become a trap.</description>
    </item>
    <item>
      <title>Memory Arenas in Game Code: Fast Scratch Space, Not a General Allocation Strategy</title>
      <link>https://blog.jonmikeys.com/posts/memory-arenas-in-game-code/</link>
      <pubDate>Tue, 18 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/memory-arenas-in-game-code/</guid>
      <description>How I use arena allocators for frame-local scratch data, why they beat per-object frees, and why they are not a replacement for pooling or the GC.</description>
    </item>
    <item>
      <title>API Programming Through HTTP: The Rules I Lean on in Game Code</title>
      <link>https://blog.jonmikeys.com/posts/api-programming-through-http/</link>
      <pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/api-programming-through-http/</guid>
      <description>A practical guide to calling HTTP APIs from game code without making retries, auth, or failure handling a mess.</description>
    </item>
    <item>
      <title>Zero-Allocation LINQ in Unity: Keep the Query Style, Lose the Garbage</title>
      <link>https://blog.jonmikeys.com/posts/zero-allocation-linq-in-unity/</link>
      <pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/zero-allocation-linq-in-unity/</guid>
      <description>A practical look at LINQ in Unity, where the allocations come from, and when a zero-allocation alternative like ZLinq is worth using.</description>
    </item>
    <item>
      <title>Event Buses in Unity Architecture: Keep Systems Talking Without Tight Coupling</title>
      <link>https://blog.jonmikeys.com/posts/event-buses-in-unity-architecture/</link>
      <pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/event-buses-in-unity-architecture/</guid>
      <description>A practical way to use event buses in Unity without turning them into hidden global state, leaky subscriptions, or another way to avoid design decisions.</description>
    </item>
    <item>
      <title>Hierarchical State Machines in Unity: Keep the Top Level Boring</title>
      <link>https://blog.jonmikeys.com/posts/hierarchical-state-machines-in-unity/</link>
      <pubDate>Wed, 29 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/hierarchical-state-machines-in-unity/</guid>
      <description>A practical way to keep Unity state machines readable when several states share the same rules.</description>
    </item>
    <item>
      <title>Command Pattern in Games: Queue the Intent, Not the Button</title>
      <link>https://blog.jonmikeys.com/posts/command-pattern-in-games/</link>
      <pubDate>Sat, 25 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/command-pattern-in-games/</guid>
      <description>A practical look at the command pattern in game code, with examples for input, undo, replay, and when a direct call is still better.</description>
    </item>
    <item>
      <title>Raycasting: How Wolfenstein 3D Fakes 3D With 2D Math</title>
      <link>https://blog.jonmikeys.com/posts/raycasting/</link>
      <pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/raycasting/</guid>
      <description>A practical rewrite of Lode&amp;rsquo;s raycasting tutorial, with the same core ideas and images explained in cleaner prose.</description>
    </item>
    <item>
      <title>Cancellation Tokens in Unity: Stopping Async Work Before It Outlives the Scene</title>
      <link>https://blog.jonmikeys.com/posts/cancellation-tokens-in-unity/</link>
      <pubDate>Thu, 23 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/cancellation-tokens-in-unity/</guid>
      <description>A practical follow-up to async in Unity: how cancellation tokens keep loading flows, delays, and background work from hanging around after the object is gone.</description>
    </item>
    <item>
      <title>Mirror Multiplayer, Part 1: Authority First, RPCs Second</title>
      <link>https://blog.jonmikeys.com/posts/mirror-multiplayer-part-1-authority-first-rpcs-second/</link>
      <pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/mirror-multiplayer-part-1-authority-first-rpcs-second/</guid>
      <description>A practical way to structure Mirror games so the server owns the rules, clients send intent, and state sync stays boring.</description>
    </item>
    <item>
      <title>Async in Unity with UniTask: Waiting Without Turning the Main Thread into a Junk Drawer</title>
      <link>https://blog.jonmikeys.com/posts/async-in-unity-with-unitask/</link>
      <pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/async-in-unity-with-unitask/</guid>
      <description>A practical way to use async and await in Unity without falling back to callback soup, extra GC churn, or tangled loading code.</description>
    </item>
    <item>
      <title>Benchmarking C# in Unity Without Lying to Yourself</title>
      <link>https://blog.jonmikeys.com/posts/benchmarking-csharp-in-unity/</link>
      <pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/benchmarking-csharp-in-unity/</guid>
      <description>A practical way to benchmark Unity C# code without confusing profiling, frame time, and microbenchmarks.</description>
    </item>
    <item>
      <title>Building Game UI Systems That Stay Modular</title>
      <link>https://blog.jonmikeys.com/posts/modular-game-ui-systems/</link>
      <pubDate>Thu, 09 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/modular-game-ui-systems/</guid>
      <description>A practical UI structure for games: keep screens, views, and game logic separate so menus do not turn into a knot.</description>
    </item>
    <item>
      <title>Dependency Injection for Game Code: Keep Wiring at the Edges</title>
      <link>https://blog.jonmikeys.com/posts/dependency-injection-for-game-code/</link>
      <pubDate>Sun, 05 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/dependency-injection-for-game-code/</guid>
      <description>A practical look at dependency injection in game code, why it helps, and how to use it without turning your project into framework soup.</description>
    </item>
    <item>
      <title>Dependency Injection in Unity: Stop Letting Objects Hunt for Their Own Tools</title>
      <link>https://blog.jonmikeys.com/posts/dependency-injection-in-unity/</link>
      <pubDate>Sun, 05 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/dependency-injection-in-unity/</guid>
      <description>A practical way to make game code easier to test, refactor, and reason about.</description>
    </item>
    <item>
      <title>Using the Observer Pattern in Games</title>
      <link>https://blog.jonmikeys.com/posts/observer-pattern-in-games/</link>
      <pubDate>Sun, 05 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/observer-pattern-in-games/</guid>
      <description>A practical look at the observer pattern, event buses, and why game objects should communicate without dragging the whole scene graph into the conversation.</description>
    </item>
    <item>
      <title>A* Pathfinding: A Practical Guide for Game Developers</title>
      <link>https://blog.jonmikeys.com/posts/astar-pathfinding/</link>
      <pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/astar-pathfinding/</guid>
      <description>A practical explanation of A* pathfinding, why it works, and how to use it in game projects.</description>
    </item>
    <item>
      <title>Behavior Trees: A Cleaner Way to Organize Game AI</title>
      <link>https://blog.jonmikeys.com/posts/behavior-trees-for-game-ai/</link>
      <pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/behavior-trees-for-game-ai/</guid>
      <description>A practical introduction to behavior trees, how they work, and when they are a better fit than state machines.</description>
    </item>
    <item>
      <title>Blackboard Architecture for Game AI: Shared State Without the Mess</title>
      <link>https://blog.jonmikeys.com/posts/blackboard-architecture-for-game-ai/</link>
      <pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/blackboard-architecture-for-game-ai/</guid>
      <description>A practical explanation of blackboard architecture for game AI, why it exists, and how it helps behavior trees and GOAP share state cleanly.</description>
    </item>
    <item>
      <title>GOAP for Game AI: Let Actions Build the Plan</title>
      <link>https://blog.jonmikeys.com/posts/goap-for-game-ai/</link>
      <pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.jonmikeys.com/posts/goap-for-game-ai/</guid>
      <description>An introduction to GOAP, how it differs from behavior trees and FSMs, and how to use it in game AI.</description>
    </item>
  </channel>
</rss>
