<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://story-dwelling.com/blog/index.php?action=history&amp;feed=atom&amp;title=Blog%3A20250716-Hexagons</id>
	<title>Blog:20250716-Hexagons - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://story-dwelling.com/blog/index.php?action=history&amp;feed=atom&amp;title=Blog%3A20250716-Hexagons"/>
	<link rel="alternate" type="text/html" href="https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;action=history"/>
	<updated>2026-04-17T02:54:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=203&amp;oldid=prev</id>
		<title>Ecki: /* Coordinate systems for hexagons */</title>
		<link rel="alternate" type="text/html" href="https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=203&amp;oldid=prev"/>
		<updated>2025-08-25T15:58:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Coordinate systems for hexagons&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:58, 25 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Coordinate systems for hexagons ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Coordinate systems for hexagons ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hexagons-cube-coordinates.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;jpg&lt;/del&gt;|right|700px]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hexagons-cube-coordinates.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;png&lt;/ins&gt;|right|700px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The gridding of square-based game boards is trivial. Here we have two axes, usually x and y, which are at right angles to each other. The x value describes the column number and the y value describes the row number of a square. The basic calculations within this Cartesian coordinate system are taught early on in school. So far, so good.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The gridding of square-based game boards is trivial. Here we have two axes, usually x and y, which are at right angles to each other. The x value describes the column number and the y value describes the row number of a square. The basic calculations within this Cartesian coordinate system are taught early on in school. So far, so good.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ecki</name></author>
	</entry>
	<entry>
		<id>https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=201&amp;oldid=prev</id>
		<title>Ecki at 17:28, 25 July 2025</title>
		<link rel="alternate" type="text/html" href="https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=201&amp;oldid=prev"/>
		<updated>2025-07-25T17:28:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:28, 25 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Coordinate systems for hexagons ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Coordinate systems for hexagons ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hexagons-cube-coordinates.jpg|right|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;600px&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hexagons-cube-coordinates.jpg|right|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;700px&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The gridding of square-based game boards is trivial. Here we have two axes, usually x and y, which are at right angles to each other. The x value describes the column number and the y value describes the row number of a square. The basic calculations within this Cartesian coordinate system are taught early on in school. So far, so good.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The gridding of square-based game boards is trivial. Here we have two axes, usually x and y, which are at right angles to each other. The x value describes the column number and the y value describes the row number of a square. The basic calculations within this Cartesian coordinate system are taught early on in school. So far, so good.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l25&quot;&gt;Line 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;But how does this translate to a hexagon-based grid? Well, here too we have columns (q) and rows (r). However, due to the shape of a hexagon, some neighbors are offset, meaning they are not directly below or next to each other. If you arrange the hexagons with the tip pointing upwards, every second row is offset to the right by half the width. If you point the tip to the right, every second column is offset. This arrangement is called offset coordinates. In principle, we can work with this type of coordinates. However, they do not support the use of vector operations as in a 2D Cartesian coordinate system.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;But how does this translate to a hexagon-based grid? Well, here too we have columns (q) and rows (r). However, due to the shape of a hexagon, some neighbors are offset, meaning they are not directly below or next to each other. If you arrange the hexagons with the tip pointing upwards, every second row is offset to the right by half the width. If you point the tip to the right, every second column is offset. This arrangement is called offset coordinates. In principle, we can work with this type of coordinates. However, they do not support the use of vector operations as in a 2D Cartesian coordinate system.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There is an elegant solution to this problem. We can project a three-dimensional coordinate system onto our hex grid. Each coordinate correlates with a line of hex fields on the grid. When we increase a coordinate by 1, we move from one line to the next one that runs parallel to it. The beauty of this system is that it allows us to adapt vector operations as in a 3D Cartesian coordinate system.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There is an elegant solution to this problem. We can project a three-dimensional coordinate system onto our hex grid. Each coordinate correlates with a line of hex fields on the grid. When we increase a coordinate by 1, we move from one line to the next one that runs parallel to it. The beauty of this system is that it allows us to adapt vector operations as in a 3D Cartesian coordinate system &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;such as addition and multiplication. It is also very easy to apply algorithms for calculating distances and pathfinding. If you are interested in hexagonal grids and cube coordinates, have a look at this great [https://www.redblobgames.com/grids/hexagons/ introduction] by Amit Patel&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ecki</name></author>
	</entry>
	<entry>
		<id>https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=200&amp;oldid=prev</id>
		<title>Ecki at 14:57, 25 July 2025</title>
		<link rel="alternate" type="text/html" href="https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=200&amp;oldid=prev"/>
		<updated>2025-07-25T14:57:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:57, 25 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Coordinate systems for hexagons ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Coordinate systems for hexagons ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hexagons-cube-coordinates.jpg|right|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;500px&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hexagons-cube-coordinates.jpg|right|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;600px&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The gridding of square-based game boards is trivial. Here we have two axes, usually x and y, which are at right angles to each other. The x value describes the column number and the y value describes the row number of a square. The basic calculations within this Cartesian coordinate system are taught early on in school. So far, so good.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The gridding of square-based game boards is trivial. Here we have two axes, usually x and y, which are at right angles to each other. The x value describes the column number and the y value describes the row number of a square. The basic calculations within this Cartesian coordinate system are taught early on in school. So far, so good.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ecki</name></author>
	</entry>
	<entry>
		<id>https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=198&amp;oldid=prev</id>
		<title>Ecki at 09:48, 25 July 2025</title>
		<link rel="alternate" type="text/html" href="https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=198&amp;oldid=prev"/>
		<updated>2025-07-25T09:48:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:48, 25 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot;&gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hexagons-cube-coordinates.jpg|right|500px]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hexagons-cube-coordinates.jpg|right|500px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The gridding of square-based game boards is trivial. Here we have two axes, usually x and y, which are at right angles to each other. The basic calculations within &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/del&gt;Cartesian coordinate system are taught early on in school.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The gridding of square-based game boards is trivial. Here we have two axes, usually x and y, which are at right angles to each other&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. The x value describes the column number and the y value describes the row number of a square&lt;/ins&gt;. The basic calculations within &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;this &lt;/ins&gt;Cartesian coordinate system are taught early on in school&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. So far, so good.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;But how does this translate to a hexagon-based grid? Well, here too we have columns (q) and rows (r). However, due to the shape of a hexagon, some neighbors are offset, meaning they are not directly below or next to each other. If you arrange the hexagons with the tip pointing upwards, every second row is offset to the right by half the width. If you point the tip to the right, every second column is offset. This arrangement is called offset coordinates. In principle, we can work with this type of coordinates. However, they do not support the use of vector operations as in a 2D Cartesian coordinate system.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;There is an elegant solution to this problem. We can project a three-dimensional coordinate system onto our hex grid. Each coordinate correlates with a line of hex fields on the grid. When we increase a coordinate by 1, we move from one line to the next one that runs parallel to it. The beauty of this system is that it allows us to adapt vector operations as in a 3D Cartesian coordinate system&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ecki</name></author>
	</entry>
	<entry>
		<id>https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=196&amp;oldid=prev</id>
		<title>Ecki at 00:08, 24 July 2025</title>
		<link rel="alternate" type="text/html" href="https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=196&amp;oldid=prev"/>
		<updated>2025-07-24T00:08:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:08, 24 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Is that a bad thing? In many cases it is not. In games like chess, it&amp;#039;s even a feature. The different movements of the pieces are designed for exactly this kind of grid and harmonize wonderfully with it. Real distances don&amp;#039;t play a role here. However, if game pieces need to be able to move as freely as possible over a fixed distance, then a grid of squares quickly reaches its limits. If you only allow movement across the horizontal and vertical neighbors, the distance to squares in between increases enormously. If you also allow movement across the diagonal, you can no longer divide movements into equally sized steps.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Is that a bad thing? In many cases it is not. In games like chess, it&amp;#039;s even a feature. The different movements of the pieces are designed for exactly this kind of grid and harmonize wonderfully with it. Real distances don&amp;#039;t play a role here. However, if game pieces need to be able to move as freely as possible over a fixed distance, then a grid of squares quickly reaches its limits. If you only allow movement across the horizontal and vertical neighbors, the distance to squares in between increases enormously. If you also allow movement across the diagonal, you can no longer divide movements into equally sized steps.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hexagonal grids reduce the first problem and eliminate the second. Even with hexagonal grids, there is not always a linear path from one &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;grid &lt;/del&gt;to another. However, the six possible basic directions allow a much better approximation. The largest possible deviation here is 15.5 % compared to a maximum of 41.4 % &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;with &lt;/del&gt;squares. And the individual steps are always the same distance. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hexagonal &lt;/del&gt;grids &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;also have disadvantages&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;For example, &lt;/del&gt;it &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is &lt;/del&gt;more difficult to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;map &lt;/del&gt;rectangular structures such as buildings and corridors. Here you often have to work with split fields. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The &lt;/del&gt;coordinate systems for hexagons are &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;also &lt;/del&gt;somewhat more complex &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;if they &lt;/del&gt;are &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;required&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hexagonal grids reduce the first problem and eliminate the second. Even with hexagonal grids, there is not always a linear path from one &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hex &lt;/ins&gt;to another. However, the six possible basic directions allow a much better approximation. The largest possible deviation here is 15.5 % compared to a maximum of 41.4 % &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for &lt;/ins&gt;squares &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;that allow diagonal movement&lt;/ins&gt;. And the individual steps are always the same distance. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Of course, hexagonal &lt;/ins&gt;grids &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;are not perfect either&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;An obvious disadvantage is that the hexagonal shape of the fields makes &lt;/ins&gt;it more difficult to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;depict &lt;/ins&gt;rectangular structures such as buildings and corridors. Here you often have to work with split fields&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, which complicates the movement rules in a game&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Another disadvantage is that the &lt;/ins&gt;coordinate systems for hexagons are somewhat more complex&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Fortunately, there &lt;/ins&gt;are &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;practicable solutions for this&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Cube coordinates &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Coordinate systems for hexagons &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hexagons-cube-coordinates.jpg|right]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Hexagons-cube-coordinates.jpg|right&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|500px&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The gridding of square-based game boards is trivial. Here we have two axes, usually x and y, which are at right angles to each other. The basic calculations within the Cartesian coordinate system are taught early on in school.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ecki</name></author>
	</entry>
	<entry>
		<id>https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=190&amp;oldid=prev</id>
		<title>Ecki: Created page with &quot;= The beauty of hexagons =  400px  Hexagons are beautiful! For me, they are little masterpieces. A simple geometric shape that somehow conveys something magical. Depending on the context, they are organic or artificial, historical or futuristic, stable or flexible, but always elegant and efficient.  Maybe my view is a bit biased. I&#039;ve always associated hexagons with games of all kinds and that&#039;s why they are part of some of my fonde...&quot;</title>
		<link rel="alternate" type="text/html" href="https://story-dwelling.com/blog/index.php?title=Blog:20250716-Hexagons&amp;diff=190&amp;oldid=prev"/>
		<updated>2025-07-16T20:50:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= The beauty of hexagons =  &lt;a href=&quot;/blog/index.php?title=File:Hexagons-honey-bees.jpg&quot; title=&quot;File:Hexagons-honey-bees.jpg&quot;&gt;right|400px&lt;/a&gt;  Hexagons are beautiful! For me, they are little masterpieces. A simple geometric shape that somehow conveys something magical. Depending on the context, they are organic or artificial, historical or futuristic, stable or flexible, but always elegant and efficient.  Maybe my view is a bit biased. I&amp;#039;ve always associated hexagons with games of all kinds and that&amp;#039;s why they are part of some of my fonde...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= The beauty of hexagons =&lt;br /&gt;
&lt;br /&gt;
[[File:Hexagons-honey-bees.jpg|right|400px]]&lt;br /&gt;
&lt;br /&gt;
Hexagons are beautiful! For me, they are little masterpieces. A simple geometric shape that somehow conveys something magical. Depending on the context, they are organic or artificial, historical or futuristic, stable or flexible, but always elegant and efficient.&lt;br /&gt;
&lt;br /&gt;
Maybe my view is a bit biased. I&amp;#039;ve always associated hexagons with games of all kinds and that&amp;#039;s why they are part of some of my fondest memories. The first strategy games I had to lose to my big brother. But hey, at least I got to play with him. And the many rounds of Settlers of Catan at the table with good friends. That&amp;#039;s where friendships were put to the test. Some of the best games of all time rely on hexagonal boards. But why are hexagons so popular in game design? Well, there&amp;#039;s a good reason.&lt;br /&gt;
&lt;br /&gt;
== Hexagonal grids ==&lt;br /&gt;
&lt;br /&gt;
[[File:Hexagons-HexMapDistance.png|left|400px]]&lt;br /&gt;
&lt;br /&gt;
If you arrange squares on a game board as equilateral hexagons, then all neighboring squares are equidistant from each other. This means that each hexagon has six neighbors and the path to each of them is the same. Compare this to a classic game board consisting of squares. Here, each square has eight neighbors, four on each side and four diagonally. So the first question is how a piece can be moved here. If you only move across the sides, each step covers the same distance. However, if you want to move diagonally, the distance is √2 times (about 1.42 times) that of the other neighbors.&lt;br /&gt;
&lt;br /&gt;
Is that a bad thing? In many cases it is not. In games like chess, it&amp;#039;s even a feature. The different movements of the pieces are designed for exactly this kind of grid and harmonize wonderfully with it. Real distances don&amp;#039;t play a role here. However, if game pieces need to be able to move as freely as possible over a fixed distance, then a grid of squares quickly reaches its limits. If you only allow movement across the horizontal and vertical neighbors, the distance to squares in between increases enormously. If you also allow movement across the diagonal, you can no longer divide movements into equally sized steps.&lt;br /&gt;
&lt;br /&gt;
Hexagonal grids reduce the first problem and eliminate the second. Even with hexagonal grids, there is not always a linear path from one grid to another. However, the six possible basic directions allow a much better approximation. The largest possible deviation here is 15.5 % compared to a maximum of 41.4 % with squares. And the individual steps are always the same distance. Hexagonal grids also have disadvantages. For example, it is more difficult to map rectangular structures such as buildings and corridors. Here you often have to work with split fields. The coordinate systems for hexagons are also somewhat more complex if they are required.&lt;br /&gt;
&lt;br /&gt;
== Cube coordinates ==&lt;br /&gt;
&lt;br /&gt;
[[File:Hexagons-cube-coordinates.jpg|right]]&lt;/div&gt;</summary>
		<author><name>Ecki</name></author>
	</entry>
</feed>