<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.jacobsl.com/rollinggallery</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-11-09</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507846041220-7ABJZU3CIBCXMR3ZLTUM/ItemRolls.gif</image:loc>
      <image:title>Table Examples - Item Table</image:title>
      <image:caption>Example of the inspector in action, testing the chance to spawn and filter mechanisms.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507846041220-7ABJZU3CIBCXMR3ZLTUM/ItemRolls.gif</image:loc>
      <image:title>Table Examples - Item Table</image:title>
      <image:caption>Example of the inspector in action, testing the chance to spawn and filter mechanisms.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507854863762-AW6W61PRYWHQPVJ7O2BG/explorableRolls2.gif</image:loc>
      <image:title>Table Examples - Explorable Placer</image:title>
      <image:caption>A component that places mixes of 3D assets in the game world. The designer places the box in the game world, and the placer rolls against a table that contains explorables at runtime.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507855004689-SB8O2TS7GT85MFDSNIPS/interiorRolls.gif</image:loc>
      <image:title>Table Examples - Interior Roll</image:title>
      <image:caption>Constructs the interiors of the Ships and Explorables, allowing for a small adventure when docking to something new. The rooms also roll for loot according to how much value the area allows.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507854890041-84G95VHKTT3SX05MWLOP/shipRolls2.gif</image:loc>
      <image:title>Table Examples - Ship Encounter</image:title>
      <image:caption>Builds an enemy ship. Can take a reference to a part, or a table containing parts, constructing it on the fly constraining it by a danger value that the designer can assign to an area.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/unity-scripting-gallery</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-10-13</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507852395682-E6MIE8OTHIR387W4F4TI/alltables.png</image:loc>
      <image:title>Unity Scripting Gallery - Roll Tables</image:title>
      <image:caption>Our procedural content system to keep game variation high given our small team size.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507852395682-E6MIE8OTHIR387W4F4TI/alltables.png</image:loc>
      <image:title>Unity Scripting Gallery - Roll Tables</image:title>
      <image:caption>Our procedural content system to keep game variation high given our small team size.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507927024757-E0KGWT21NK10SNR3VMQR/pathfinding.PNG</image:loc>
      <image:title>Unity Scripting Gallery - 3D Pathfinding</image:title>
      <image:caption>A Set of tools to allow AI to successfully navigate a complex world.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/pathfinding-examples</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-10-13</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507930870867-T8G6095DKOMP0XS134P9/terrain+point+populationfast.gif</image:loc>
      <image:title>Pathfinding examples - Path Node Editor</image:title>
      <image:caption>A tool for quickly setting up nodes around obstacles. The tool can create, connect and disconnect links between nodes, and the connection color turns from green to gray if some obstacle is between two connected points. The video is showcasing the surface population tool, which places points in an offset from the hovered mesh.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507930870867-T8G6095DKOMP0XS134P9/terrain+point+populationfast.gif</image:loc>
      <image:title>Pathfinding examples - Path Node Editor</image:title>
      <image:caption>A tool for quickly setting up nodes around obstacles. The tool can create, connect and disconnect links between nodes, and the connection color turns from green to gray if some obstacle is between two connected points. The video is showcasing the surface population tool, which places points in an offset from the hovered mesh.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507931178182-J6JVNHXOFGT2FVVA3N74/world+navigation.gif</image:loc>
      <image:title>Pathfinding examples - Agent navigating Terrain</image:title>
      <image:caption>The agent sets a path to a point of interest on the other side of the rocks, and uses the path network to find its way to its target.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/aiexamples</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-11-09</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510259064235-E1P7H8JZEI4LCKGPI9U6/image-asset.jpeg</image:loc>
      <image:title>AI Examples - Vertical move</image:title>
      <image:caption />
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510259296878-ZUQ1OF9Z9ZB077S5RRQ1/image-asset.jpeg</image:loc>
      <image:title>AI Examples - AI V Player</image:title>
      <image:caption>A in-game combat example vs the player.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://static1.squarespace.com/static/59dbce89f9a61e6c50b991c1/5a03b804e2c4838e3f147003/5a04b597b30b680f13930b3e/1510258025293/</image:loc>
      <image:title>AI Examples</image:title>
      <image:caption />
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510259273653-8OQIQF8QMKLV1NG3QO1C/image-asset.jpeg</image:loc>
      <image:title>AI Examples - AI v AI interior.</image:title>
      <image:caption>Combat example in an enclosed interior.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510259259517-6WA1J8K0ADPUWW1J5M3X/image-asset.jpeg</image:loc>
      <image:title>AI Examples - Vertical move</image:title>
      <image:caption>AI navigating an enclosed fully 3D space.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510258071288-KAV18FU89GJRB78X6UOF/image-asset.jpeg</image:loc>
      <image:title>AI Examples - Vertical move</image:title>
      <image:caption />
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510259332543-L4RZ74KJUMUGA96VHENO/image-asset.jpeg</image:loc>
      <image:title>AI Examples - Flee and Chase</image:title>
      <image:caption>An agressive Captain chasing a meek captain. The foreground AI recognized that it would lose this fight and is attempting evasive maneuers.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/yamatogallery</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-11-10</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510265934327-YVX7FZMTHAMMLTW2V8F2/crabwalk+in+unity.gif</image:loc>
      <image:title>Yamato Crab</image:title>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510265934327-YVX7FZMTHAMMLTW2V8F2/crabwalk+in+unity.gif</image:loc>
      <image:title>Yamato Crab</image:title>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510266032480-W259DPIBA5FIAB0IDFYV/crabwalkless.gif</image:loc>
      <image:title>Yamato Crab - Dynamic IK Legs</image:title>
      <image:caption>Using Final IK, a Unity asset store package for dynamic locomotion, I realized the crab to walk about on uneven terrain in unity.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510268118433-VNJIWHBBZMIWHVJ7FPCD/image-asset.jpeg</image:loc>
      <image:title>Yamato Crab - Crab Walk Terrain Interaction</image:title>
      <image:caption>Scene view of the crab making its way around the boss test arena, and engaging the player.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510273143022-FGSLF6THDOU5JFOTCNJL/image-asset.jpeg</image:loc>
      <image:title>Yamato Crab - In-Game crab fight.</image:title>
      <image:caption>Crab fight from the perspective of the player.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/new-gallery</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-11-10</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510270149439-LW1Z80NK2BKQH3WPIIWN/image-asset.jpeg</image:loc>
      <image:title>Creatures - Angler Fish Bite</image:title>
      <image:caption>Angler Fish Encounter, only the bait and jaw were rigged as it was a stationary creature, only moving when the player docked with the bait.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510270149439-LW1Z80NK2BKQH3WPIIWN/image-asset.jpeg</image:loc>
      <image:title>Creatures - Angler Fish Bite</image:title>
      <image:caption>Angler Fish Encounter, only the bait and jaw were rigged as it was a stationary creature, only moving when the player docked with the bait.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://static1.squarespace.com/static/59dbce89f9a61e6c50b991c1/5a04e4a80d92978f14c30dd9/5a04e4c4501a10694bc0480a/1510270148395/</image:loc>
      <image:title>Creatures - AnglerFish Bite</image:title>
      <image:caption />
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510271715268-TJZ18YMYG2YG9EH6YBFR/Carrier.gif</image:loc>
      <image:title>Creatures - Carrier</image:title>
      <image:caption>Slow moving creature with dynamic legs.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510271727653-MXEO7MXY08S8WB1VVPA0/Jaeger.gif</image:loc>
      <image:title>Creatures - Jaeger</image:title>
      <image:caption>Hunter creature with a dynamic tail.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/constantcontact</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-10-10</lastmod>
  </url>
  <url>
    <loc>https://www.jacobsl.com/gameai</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-11-09</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510192076578-6PCG5HO6V8VBZXC73GVW/Captain.PNG</image:loc>
      <image:title>Game AI - Captains</image:title>
      <image:caption>Captains are the designer's interface with the AI system.  Nodecanvas is a broad tool that requires time and a skillset that the designers might not have. The Captain allows the designer to start creating behaviors by mixing and matching subtrees as default and reactionary behaviors. This way, each subtree created adds an order of magnitude possibilities for the designer to create interesting encounters.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507933764905-D22N29WNCQG5RASVGDPO/NodeCanvas.PNG</image:loc>
      <image:title>Game AI - NodeCanvas</image:title>
      <image:caption>We needed a way to accurately inspect and iterate on AI behavior. I determined that researching and writing a way to do this would take a long time, without adding anything for the end user. I spent a couple of days on the Unity Asset Store trying various State Machine and Behaviour Tree solutions. My metrics were: Open Source, Functionality, Documentation, Presentation, recent updates and forum activity. NodeCanvas scored highest in all categories.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510191235683-UF2CA4X905U3GM31N6NZ/navTarget.PNG</image:loc>
      <image:title>Game AI - Subtrees</image:title>
      <image:caption>Another major feature of NodeCanvas, was the ability to save trees as their own, reusable objects called Subtrees.  This allowed for much easier organization, and customization of behaviors. Pictured is the go to navTarget tree,  for moving an agent safely though the world, which is reused in every behavior that requires movement.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/about</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2023-07-26</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510275227907-OMMJPF7UWB9EHWCNUIT5/My+Face.png</image:loc>
      <image:title>About</image:title>
      <image:caption>Its me!</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/contact-2</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-08-12</lastmod>
  </url>
  <url>
    <loc>https://www.jacobsl.com/pipeline</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-11-10</lastmod>
  </url>
  <url>
    <loc>https://www.jacobsl.com/rigging</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-11-10</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510266032480-W259DPIBA5FIAB0IDFYV/crabwalkless.gif</image:loc>
      <image:title>Rigging - Dynamic IK Legs</image:title>
      <image:caption>Using Final IK, a Unity asset store package for dynamic locomotion, I realized the crab to walk about on uneven terrain in unity.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510271715268-TJZ18YMYG2YG9EH6YBFR/Carrier.gif</image:loc>
      <image:title>Rigging - Carrier</image:title>
      <image:caption>Slow moving creature with dynamic legs.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1510271727653-MXEO7MXY08S8WB1VVPA0/Jaeger.gif</image:loc>
      <image:title>Rigging - Jaeger</image:title>
      <image:caption>Hunter creature with a dynamic tail.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/explorableplacer</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-10-11</lastmod>
  </url>
  <url>
    <loc>https://www.jacobsl.com/unityscripting</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <lastmod>2017-11-09</lastmod>
  </url>
  <url>
    <loc>https://www.jacobsl.com/rolltables</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-11-09</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507852705328-VK24WZFBPS1ALO02N3S7/entries.png</image:loc>
      <image:title>Procedural Content - Entry</image:title>
      <image:caption>The parent class of anything that can be rolled for. Determines a Base Rarity, Balance Cost and any Tags for filtering.  Has several child classes for handling many kinds of entries.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507846041220-7ABJZU3CIBCXMR3ZLTUM/ItemRolls.gif</image:loc>
      <image:title>Procedural Content - Item Table</image:title>
      <image:caption>Example of the inspector in action, testing the chance to spawn and filter mechanisms.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507854863762-AW6W61PRYWHQPVJ7O2BG/explorableRolls2.gif</image:loc>
      <image:title>Procedural Content - Explorable Placer</image:title>
      <image:caption>A component that places mixes of 3D assets in the game world. The designer places the box in the game world, and the placer rolls against a table that contains explorables at runtime.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507855004689-SB8O2TS7GT85MFDSNIPS/interiorRolls.gif</image:loc>
      <image:title>Procedural Content - Interior Roll</image:title>
      <image:caption>Constructs the interiors of the Ships and Explorables, allowing for a small adventure when docking to something new. The rooms also roll for loot according to how much value the area allows.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507854890041-84G95VHKTT3SX05MWLOP/shipRolls2.gif</image:loc>
      <image:title>Procedural Content - Ship Encounter</image:title>
      <image:caption>Builds an enemy ship. Can take a reference to a part, or a table containing parts, constructing it on the fly constraining it by a danger value that the designer can assign to an area.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507753090781-NJXR2WHXOQPDD2OOCO25/loot+table.PNG</image:loc>
      <image:title>Procedural Content - Table</image:title>
      <image:caption>The class that holds and compares the rarity of all Entries in it.   Asking a Table to roll returns an entry of the requested inherited type, along with any amount of filtering requests you wish.  Its worth noting that Tables are also entries, and as such can be rolled themselves, which recursively rolls for the contents of the entry table.  </image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507852371412-RDRJQIJRK2LCCZYQ2GH7/alltables.png</image:loc>
      <image:title>Procedural Content - Roll Tables</image:title>
      <image:caption>The Goal: Keep the game  feeling fresh for many hours. The Constraint: One artist, one designer, one programmer. The Solution: Build modular Art, Enemy and Reward parts, paired with Roll Tables, a tool to give the designer control over the chance of any given part appearing in game.  Had to be generalized to be used in multiple systems.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/pathfinding</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2017-10-13</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507928490131-IJPXR0P5GNFWBS9V1HSQ/PathTools.png</image:loc>
      <image:title>3D Pathfinding - Path Creation Tool</image:title>
      <image:caption>An editor window for placing and editing the path nodes around obstacles quickly. Will connect any new node created to any currently selected nodes, allowing for a network to be established very quickly.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507927965641-6G6VXCIG23UAU39Z2TNE/pathmono+object.PNG</image:loc>
      <image:title>3D Pathfinding - Path Node</image:title>
      <image:caption>Represents a "safe" position for an agent to move to. Links together with other nodes to create a network to run path finding algorithms on.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507930870867-T8G6095DKOMP0XS134P9/terrain+point+populationfast.gif</image:loc>
      <image:title>3D Pathfinding - Path Node Editor</image:title>
      <image:caption>A tool for quickly setting up nodes around obstacles. The tool can create, connect and disconnect links between nodes, and the connection color turns from green to gray if some obstacle is between two connected points. The video is showcasing the surface population tool, which places points in an offset from the hovered mesh.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507931178182-J6JVNHXOFGT2FVVA3N74/world+navigation.gif</image:loc>
      <image:title>3D Pathfinding - Agent navigating Terrain</image:title>
      <image:caption>The agent sets a path to a point of interest on the other side of the rocks, and uses the path network to find its way to its target.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/59dbce89f9a61e6c50b991c1/1507927122891-PDWRZVR3LJ68CWKEPC3O/pathfinding.PNG</image:loc>
      <image:title>3D Pathfinding</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.jacobsl.com/training-model</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2023-07-20</lastmod>
  </url>
</urlset>

