<?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.zachchale.com/shatter-ball</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2020-07-01</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1570937058493-BFCGVCWFJ7JN5LPJYYSZ/ShatterBall.PNG</image:loc>
      <image:title>Shatter Ball</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.zachchale.com/shatter-ball/2020/7/1/to-be-continued</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2024-04-10</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/shatter-ball/2019/11/30/new-main-menu</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2019-11-30</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/shatter-ball/2019/11/17/menu-concept-charge-cubes-test-level-and-supercharge</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2019-11-17</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1574009414904-3YSNA5W30WMKFTCM8KTZ/Drained.jpg</image:loc>
      <image:title>Shatter Ball - Menu Concept, Charge Cubes, Test Level, and Charge States</image:title>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1574009443392-45QD0Z92KOKGKPPVM022/Charged.jpg</image:loc>
      <image:title>Shatter Ball - Menu Concept, Charge Cubes, Test Level, and Charge States</image:title>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1574009449944-61S1JXWY2H53C1YJUP0U/Supercharged.jpg</image:loc>
      <image:title>Shatter Ball - Menu Concept, Charge Cubes, Test Level, and Charge States</image:title>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1574009473638-49Q5MSQTLCHEBADNIX16/OldMenu.jpg</image:loc>
      <image:title>Shatter Ball - Menu Concept, Charge Cubes, Test Level, and Charge States</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.zachchale.com/shatter-ball/2019/10/26/magnitized-ground-and-siplified-controls</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2019-10-26</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/shatter-ball/2019/10/12/10122019-intro-to-shatter-ball</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <lastmod>2019-10-18</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/home</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <lastmod>2024-12-10</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/7031b164-9b95-485a-933b-69ffa0759d88/BalloonBeach+SS.png</image:loc>
      <image:title>Home - Balloon Beach</image:title>
      <image:caption>Use a giant slingshot to hit innocent bystanders with water balloons. Use power-ups to your advantage and try to beat your friends scores at a variety of levels. Earn coins from each play to spend on cosmetic balloons. -Read More</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1551731291953-AJUACH7TTG6ONJRRL94T/LittleGolemSSZoomed.PNG</image:loc>
      <image:title>Home - Little Golem</image:title>
      <image:caption>Puzzle adventure game that revolves around the mechanic of tilting the world and rolling around. -See More</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1551730830798-EHS957TRPD0PAT8U1VPJ/SkelInHatsSC.png</image:loc>
      <image:title>Home - Skeletons In Hats</image:title>
      <image:caption>Players must frantically search the level for powerful hats while improving their skeleton’s stats to better suit their abilities. -See More</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/26c98ff6-0f97-4794-a4b1-9838690514d6/Screenshot+2024-02-15+172631.png</image:loc>
      <image:title>Home - Tileable System Sample</image:title>
      <image:caption>Basic Tileable System to be used as a starting point for any projects that may need tile building controls. -Read More</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1551731598723-MUG6PBR4NYPHRNTZN81V/CouchCoonsScreenShot.png</image:loc>
      <image:title>Home - Couch Raccoons</image:title>
      <image:caption>Two players must share a controller and communicate in order to successfully move their new couch to the top of the apartment building. -See More</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/481a0bb3-afea-4f75-8826-24775fc3a9b3/Goblin+Squire+SS.png</image:loc>
      <image:title>Home - Goblin Squire</image:title>
      <image:caption>Roguelike where you defend your village from hordes of goblins. Gather resources, build defenses, earn gold, and purchase upgrades to survive as long as you can. -Read More</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1593643736082-31502N5QTJP9ME7QTSU2/Shatterball_menu_screenshot.png</image:loc>
      <image:title>Home - Shatter Ball</image:title>
      <image:caption>Mobile game where you shoot a ball to the goal as fast as possible, while slowing down time and dodging obstacles. -See More</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1551731365513-TAUBBTUE3B263P72F64K/CouchCoonsSS.png</image:loc>
      <image:title>Home - Killed In Transmission</image:title>
      <image:caption>Players must defeat each other by teleportation through one another. Each kill grants a speed boost for the round, and each round increases the winner’s cooldown. -See More</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/4fd02a8f-f692-4e65-a7b3-342f218cdd87/Screenshot+2024-12-10+143256.png</image:loc>
      <image:title>Home - Multiplayer GAS Sample</image:title>
      <image:caption>Currently In Development Minimalized project resembling a prototype for a “Vampire Survivors” like game. Makes use of the Gameplay Ability System to implement attributes, simple abilities, damage calculations, and support for multiplayer. -Read More -Current Release</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/10e552fb-9d80-4e56-aa8e-3282cb1a7a93/UESS1.png</image:loc>
      <image:title>Home - UE5 Template Project</image:title>
      <image:caption>Key Features: - A working settings system with common settings. - A Custom UI Navigation System (Supports Mouse and Controller input) - Menus to interact with Settings and demonstrate UI System. -Read More -Current Release</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1593643374557-IXZ0FCBBOHG99BE9YDJJ/TFDSC.png</image:loc>
      <image:title>Home - The Final Disaster</image:title>
      <image:caption>The Final Disaster is an isometric game where you run away from the New Years ball while saving anyone on your way. -Read More</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1521752775606-3I5MVT0CVMAEZXICO647/GolemSceenShot.png</image:loc>
      <image:title>Home</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.zachchale.com/contact</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-02-16</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/read-me</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2018-03-22</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/what-i-do</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-02-16</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/little-golem</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2019-01-28</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1525454799314-5UW9WC22B0A46UFG03FB/TPotterScreenShot.png</image:loc>
      <image:title>Little Golem - NPC AI</image:title>
      <image:caption>The AI system in Little Golem is one of the more complicated systems I developed for the game. My goal for the AI was to make it easy for anyone on the team to write the AI for a character. Currently, the AI works by giving the character a file that contains a list of actions. When the player enters a room containing an NPC, the character will begin reading from the file and performing the listed actions. The current actions include saying something, walking to a location, turning in place, waiting a specific amount of time, starting and ending the theme song associated with the character, changing and saving information about the character (Current room, spawn location for that room, current action script, etc.), and removing the character from the scene.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1521756841239-K2UGOLKDONTCF20RJSSF/GolemSceenShot.png</image:loc>
      <image:title>Little Golem - Camera</image:title>
      <image:caption>The camera in Little Golem was one of the first things I developed for the game. The camera smoothly follows the player once they have strayed a specified distance from the center of view. The speed that the camera moves scales according to how far from the center the player is, allowing it to quickly catch up with a fast moving player, and smoothly slow down as it approaches the player. When entering tilt mode, the camera smoothly zooms out, allowing the player to see a larger portion of the level they are tilting. When tilting in a direction, the camera rotates in that direction to make it look like the world is being tilted.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1521756878032-LAVR9FNNSHS4YF6N4E0K/GolemSceenShot.png</image:loc>
      <image:title>Little Golem - Tilt Physics</image:title>
      <image:caption>No, the whole game world is not tilting, its just looks like it is. If you already read how the camera works, you know that the camera rotates in the direction of the tilt, in order to make it look like the world is tilting. When the player tilts in a direction, a force in that direction is added to all objects containing a script that inherits from the TiltableObject class. My primary goal for the tilt physics in this game was to have the least amount of constraints on the physics objects while retaining usability in a grid-like puzzle system. For the crates in the game, this meant constraining the rotation on the upward axis. This prevents the the crates from ever becoming unaligned so that right is always right, and forward is always forward. If a crate were to tip over on its side, the constrained "upward axis" would now be pointing horizontal, which means that the crate is now constrained on a horizontal axis, relative to the world axis. My solution was to add a rotational force that scales with difference in angle between the crate's rotation and the ground beneath it. Basically the crates act like round-bottomed dolls that always sit upright, the only difference being that the crates consider the normal of the ground beneath them to be the "upright direction" so that the crates can slide up and down ramps like a normal crate would.</image:caption>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1525455887086-N1MB6HI4DXCDPECJXNHG/Control+Manager+Demo.png</image:loc>
      <image:title>Little Golem - Control Manager</image:title>
      <image:caption>While developing Little Golem, the team found Unity's built-in input manager to be disorganized and overall hard to use. The control manager allows the team to quickly change the controls for the game as well as disable controls for the player during certain scenes and when paused. The Control Manager functions similarly to the Unity Input Manager, allowing you to check if a button or key is pressed. Each action(key down, key hold, and key up) also has a corresponding event that can be used. This gave us the option of coding using accessor methods or using events.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://www.zachchale.com/skeletons-in-hats</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2019-05-14</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/multiplayer-input-manager</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2019-02-17</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1542002435945-HX1LMR2EPT8TPDU4IJSH/ControllerDiagram.png</image:loc>
      <image:title>Multiplayer Controller Input Manager</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.zachchale.com/game-jams</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-04-10</lastmod>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1548955721518-KX9R6ZC81RK0GQ1J8HJ6/KITSS.png</image:loc>
      <image:title>Game Jams</image:title>
    </image:image>
    <image:image>
      <image:loc>https://images.squarespace-cdn.com/content/v1/5aae8205372b9655294796c2/1548955278612-YI1AM99SYMYOKHJJY0QT/CouchCoonsSS.png</image:loc>
      <image:title>Game Jams</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.zachchale.com/balloon-beach</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-02-16</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/goblin-squire</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-02-16</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/tileable-system-sample</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-02-21</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/ue5-template-project</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2024-12-06</lastmod>
  </url>
  <url>
    <loc>https://www.zachchale.com/multiplayer-gas-sample</loc>
    <changefreq>daily</changefreq>
    <priority>0.75</priority>
    <lastmod>2025-01-07</lastmod>
  </url>
</urlset>

