<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://blog.gridbattles.com/</id>
    <title>Grid Battles Dev Blog Blog</title>
    <updated>2022-10-09T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://blog.gridbattles.com/"/>
    <subtitle>Grid Battles Dev Blog Blog</subtitle>
    <icon>https://blog.gridbattles.com/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Game Rules]]></title>
        <id>https://blog.gridbattles.com/2022/10/09/rules</id>
        <link href="https://blog.gridbattles.com/2022/10/09/rules"/>
        <updated>2022-10-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This article is a brief summary of the currently implemented (and some planned) rules for Grid Battles.]]></summary>
        <content type="html"><![CDATA[<p>This article is a brief summary of the currently implemented (and some planned) rules for Grid Battles.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="basic-game-overview">Basic Game Overview<a href="https://blog.gridbattles.com/2022/10/09/rules#basic-game-overview" class="hash-link" aria-label="Direct link to Basic Game Overview" title="Direct link to Basic Game Overview" translate="no">​</a></h2>
<p>Before the game starts, players have to decide which scenario they are going to play. This is done in the so called <em>lobby</em>.
After selecting the scenario and sides, the players begin the game.</p>
<p>The game is divided into <strong>rounds</strong>. In each round, players take <strong>turns</strong> to <strong>activate</strong> their <em>fresh</em> units. At the end of a turn, activated units become <em>fatigued</em>.
If there are no <em>fresh</em> units to activate on either side, the round ends, all fatigued units become fresh again and a new round begins.</p>
<p>Each player's turn is divided into three phases:</p>
<ul>
<li class=""><strong>Activation</strong>: Player designate which of his/her units will be active for this turn. The scenario specifies how many units the player must activate. If there are not enough units to activate, he/she activates as many as possible.</li>
<li class=""><strong>Movement</strong>: All activated units have the possibility to move or stay in place. Movement of one unit must be completed before another unit can begin their movement.</li>
<li class=""><strong>Attack</strong>: Each activated unit can attack one enemy unit, if eligible (melee units must be adjacent to an enemy, ranged units must have a clear <em>Line of Sight</em> to an enemy and be in <em>range</em>). Every combat is resolved separately, one after another.</li>
</ul>
<p>Every scenario specifies victory conditions. These are usually something like "destroy X enemy units". The game ends immediately when the victory conditions are met.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="scenario">Scenario<a href="https://blog.gridbattles.com/2022/10/09/rules#scenario" class="hash-link" aria-label="Direct link to Scenario" title="Direct link to Scenario" translate="no">​</a></h2>
<p>You begin your game by selecting a scenario. The scenario dictates the basic aspects of the battle to be played, such as:</p>
<ul>
<li class="">the map features</li>
<li class="">types, numbers and positions of the units for both sides</li>
<li class="">how many actions per turn the players will have</li>
<li class="">what the victory conditions are</li>
<li class="">which side will start the battle</li>
</ul>
<p><img decoding="async" loading="lazy" alt="While selecting a scenario in the lobby, the game will show you all the important information in a form of a small preview." src="https://blog.gridbattles.com/assets/images/scenario-preview-261039e4873c86fea29d1b084c964d31.png" width="769" height="747" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="map">Map<a href="https://blog.gridbattles.com/2022/10/09/rules#map" class="hash-link" aria-label="Direct link to Map" title="Direct link to Map" translate="no">​</a></h2>
<p>The battle is played on a map consisting of hexagonal tiles. Each tile is called a <strong>hex</strong>. Every hex has a predominant terrain feature. Right now it can be either plain terrain (light green background color),
woods (dark green) or a hill (brown).
In the future, terrain on the hex will have an effect on combat and/or movement of units. But right now, it serves no other purpose than the aesthetic one. (As small as it is, with the current graphics 😅)</p>
<p>In any given moment, there can be only one unit present on a hex. Even while moving, units are not allowed to occupy the same hex.</p>
<blockquote>
<p>Every unit counter (token) represents a few dozens of men in a formation. Therefore it is very difficult to fit two formations on the same space. It would have a huge impact
on the cohesion of the formation and it would severly disrupt their ability to manouver and fight. So, for the sake of simplicity, I decided not to allow it.</p>
</blockquote>
<p>There is a unique code on the side of every hex. It has no effect on the game, it is just the position information (column and row number) printed there for your convenience.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="units">Units<a href="https://blog.gridbattles.com/2022/10/09/rules#units" class="hash-link" aria-label="Direct link to Units" title="Direct link to Units" translate="no">​</a></h2>
<p>Players armies consists of units. Each of these units is a formation of men equipped with the same (or similar) weapons, eg. archers, pikemen, knights. Every formation
is represented by a counter showing the unit icon, name and statistics. These statistics are:</p>
<ul>
<li class=""><strong>Movement Points</strong> (top left corner): how many movement points the unit has, indicating how far it can move.</li>
<li class=""><strong>Health</strong> (bottom left corner): the reamining health of the unit. Should this value ever reach zero, the formation is no longer effective in combat, its men rout and run away. The unit is effectively destroyed and its counter is automatically removed from play, possibly granting a victory point to the opponent (depending on the scenario).</li>
<li class=""><strong>Attack Die</strong> (top right corner): what kind of die is used when this unit is attacking. Possible values are <em>yellow</em>, <em>blue</em> or <em>red</em>. (See <strong>Dice</strong> section)</li>
<li class=""><strong>Defense Die</strong> (bottom right corner): what kind of die is used when the unit is defending itself against an attack. Possible values are <em>brown</em>, <em>grey</em> or <em>black</em>. (See <strong>Dice</strong> section)</li>
</ul>
<p><img decoding="async" loading="lazy" alt="Unit counter shows all the important information about the unit" src="https://blog.gridbattles.com/assets/images/unit-5fa9e266651678a06b958441a396ba21.png" width="177" height="204" class="img_ev3q"></p>
<p>The units have more statistics than it is possible to fit on the counter. The other important ones are:</p>
<ul>
<li class=""><strong>Base Type</strong>: Every unit is of one or more base types. Those can be <em>infantry</em>, <em>mounted</em> or <em>missile</em>. These types are important while resolving combats, because each base type has bonuses against some other base type. See table below.</li>
<li class=""><strong>Attack Type</strong>: <em>Melee</em> or <em>ranged</em>. Units capable of melee attacks (<em>Pikeman</em>, <em>Knight</em>) can attack only adjacent enemies. Ranged attacks (<em>Archer</em>) are possible even when there is no adjacency between attacker and defender, but the attacker must have clear <em>Line of Sight</em> to its target.</li>
<li class=""><strong>Range</strong>: Only for units capable of <em>ranged</em> attacks. How far the units can shoot its projectiles.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="bold-unit">Bold Unit<a href="https://blog.gridbattles.com/2022/10/09/rules#bold-unit" class="hash-link" aria-label="Direct link to Bold Unit" title="Direct link to Bold Unit" translate="no">​</a></h2>
<p>Every unit which has at least two friendly adjacent units is considered to be <strong>bold</strong>. Bold status has an effect on combat because it allows a defending unit to fight back.
If a bold unit find itself in a melee combat and it survives the initial attack, it immediately (and automatically) attacks back. See <strong>Combat Resolution</strong> below for detailed explanation.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="units-table">Units table<a href="https://blog.gridbattles.com/2022/10/09/rules#units-table" class="hash-link" aria-label="Direct link to Units table" title="Direct link to Units table" translate="no">​</a></h2>
<!-- -->
<table class="table is-bordered is-striped is-hoverable"><thead><tr><th>&nbsp;</th><th>Unit name</th><th>Base Type</th><th>Attack Type</th><th>Range</th><th>Movement Points</th><th>Health</th><th>Attack die</th><th>Defense die</th></tr></thead><tbody><tr><td><img src="data:image/png;base64,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" style="max-width:64px"></td><td>Archer</td><td>Missile</td><td>Ranged</td><td>4</td><td>2</td><td>4</td><td>yellow</td><td>brown</td></tr><tr><td><img src="data:image/png;base64,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" style="max-width:64px"></td><td>Pikeman</td><td>Infantry</td><td>Melee</td><td>-</td><td>2</td><td>4</td><td>blue</td><td>grey</td></tr><tr><td><img src="data:image/png;base64,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" style="max-width:64px"></td><td>Knight</td><td>Mounted</td><td>Melee</td><td>-</td><td>3</td><td>3</td><td>red</td><td>black</td></tr></tbody></table>
<p>* There are more units to be added to the game. These three are just good representants of all the basic mechanics, so they were implemented first.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="attack-bonus-table">Attack Bonus Table<a href="https://blog.gridbattles.com/2022/10/09/rules#attack-bonus-table" class="hash-link" aria-label="Direct link to Attack Bonus Table" title="Direct link to Attack Bonus Table" translate="no">​</a></h2>
<table class="table is-bordered is-striped is-hoverable"><thead><tr><th>Base Type</th><th>Has bonus against</th></tr></thead><tbody><tr><td>Missile</td><td>Infantry</td></tr><tr><td>Infrantry</td><td>Mounted</td></tr><tr><td>Mounted</td><td>Missile</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="movement">Movement<a href="https://blog.gridbattles.com/2022/10/09/rules#movement" class="hash-link" aria-label="Direct link to Movement" title="Direct link to Movement" translate="no">​</a></h2>
<p>Activated units can spend movement points to move to another location. Each hex terrain type has a specific cost for entering. The unit pays for entering a hex with it's the movement points. It can move through several hexes as long as it has enough movement points to pay for entering each new hex (and the hex is not already occupied by a different unit)
Movement points that were not spent are not "saved" to the next round. After the unit is refreshed, its number of movement points is reset to its base value again, giving the unit the full amount of movement points it can have.</p>
<p>Currently, every terrain type has a cost of 1 movement point to enter.</p>
<p>In the future, the price will differ between terrains and there can even be further movement restrictions or bonuses.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="combat-resolution">Combat Resolution<a href="https://blog.gridbattles.com/2022/10/09/rules#combat-resolution" class="hash-link" aria-label="Direct link to Combat Resolution" title="Direct link to Combat Resolution" translate="no">​</a></h2>
<p>After the movement phase the active player can decide which of his/hers units (if any) will attack first and designate which defending enemy it is attacking.
The system then shows the active player some information about the statistics of both units and their attack and defending dice. If the active player
confirms the attack, it is resolved as follows:</p>
<ol>
<li class="">Attack Dice of the Attacker are thrown.</li>
<li class="">Defense Dice of the Defender are thrown.</li>
<li class="">The actual hits are determined by subtracting the number of 🛡 on Defense Dice from the number of 🗡 and possibly 💥 on Attack Dice.</li>
<li class="">Hits are deducted from the health of the Defender. If Defender's health reaches zero, its unit is destroyed, removed from play and the active player gets one victory point.</li>
<li class="">If Defender survives and has <em>bold</em> status, it fights back and the sides are reversed:<!-- -->
<ul>
<li class="">Attack Dice of the Defender are thrown</li>
<li class="">Defense Dice of the Attacker are thrown</li>
<li class="">The hits to the Attacker are determined the same way as in the step 3</li>
<li class="">Hits are deducted from the health of the Attacker. If Attacker's health reaches zero, its unit is destroyed, removed from play and the enemy (passive) player gets on victory point.</li>
</ul>
</li>
<li class="">Combat is over. (Possible <em>bold</em> status of an Attacker has no effect on combat.)</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="dice">Dice<a href="https://blog.gridbattles.com/2022/10/09/rules#dice" class="hash-link" aria-label="Direct link to Dice" title="Direct link to Dice" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="attack-dice">Attack Dice<a href="https://blog.gridbattles.com/2022/10/09/rules#attack-dice" class="hash-link" aria-label="Direct link to Attack Dice" title="Direct link to Attack Dice" translate="no">​</a></h3>
<p>Attack Dice are six-sided dice. On their sides are zero or more of these symbols:</p>
<ul>
<li class="">🗡 : represents a hit dealt to the enemy. More symbols on a side means more hits were dealt.</li>
<li class="">💥 : represents a bonus hit applicable when the currently attacking unit type has an advantage against the defender's base type (see <em>Attack Bonus Table</em> above).</li>
</ul>
<table class="table is-bordered is-striped is-hoverable"><tbody><tr><th>Yellow</th><td class="has-text-right">💥</td><td class="has-text-right">🗡</td><td class="has-text-right">🗡</td><td class="has-text-right">🗡</td><td class="has-text-right">🗡 🗡</td><td class="has-text-right">🗡 🗡 💥</td></tr><tr><th>Blue</th><td class="has-text-right">💥</td><td class="has-text-right">🗡</td><td class="has-text-right">🗡</td><td class="has-text-right">🗡 🗡</td><td class="has-text-right">🗡 🗡 💥</td><td class="has-text-right">🗡 🗡 🗡</td></tr><tr><th>Red</th><td class="has-text-right">💥</td><td class="has-text-right">🗡</td><td class="has-text-right">🗡 🗡</td><td class="has-text-right">🗡 🗡 💥</td><td class="has-text-right">🗡 🗡 🗡</td><td class="has-text-right">🗡 🗡 🗡 🗡</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="defense-dice">Defense Dice<a href="https://blog.gridbattles.com/2022/10/09/rules#defense-dice" class="hash-link" aria-label="Direct link to Defense Dice" title="Direct link to Defense Dice" translate="no">​</a></h3>
<p>Defense Dice are also six-sided dice. On their sides are zero or more symbols of a shield (🛡). Each 🛡 rolled means one negated hit (or bonus hit).</p>
<table class="table is-bordered is-striped is-hoverable"><tbody><tr><th>Brown</th><td class="has-text-right"></td><td class="has-text-right"></td><td class="has-text-right"></td><td class="has-text-right">🛡</td><td class="has-text-right">🛡</td><td class="has-text-right">🛡 🛡</td></tr><tr><th>Grey</th><td class="has-text-right"></td><td class="has-text-right"></td><td class="has-text-right">🛡</td><td class="has-text-right">🛡</td><td class="has-text-right">🛡 🛡</td><td class="has-text-right">🛡 🛡</td></tr><tr><th>Black</th><td class="has-text-right"></td><td class="has-text-right">🛡</td><td class="has-text-right">🛡</td><td class="has-text-right">🛡 🛡</td><td class="has-text-right">🛡 🛡</td><td class="has-text-right">🛡 🛡 🛡</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="line-of-sight">Line of Sight<a href="https://blog.gridbattles.com/2022/10/09/rules#line-of-sight" class="hash-link" aria-label="Direct link to Line of Sight" title="Direct link to Line of Sight" translate="no">​</a></h2>
<p>If a player wants to perform a ranged attack with its unit, its target must be within <strong>range</strong>&nbsp;and the unit must have a clear <strong>Line of Sight</strong>. Both of these are calculated automatically
and the game will always show the possible targets. But, it could be beneficial to know the rules and be able to predict future situations on the battlefield.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="range">Range<a href="https://blog.gridbattles.com/2022/10/09/rules#range" class="hash-link" aria-label="Direct link to Range" title="Direct link to Range" translate="no">​</a></h3>
<p>Range is a number of hexes between the attacker and its target. The target hex is counted, but the attacker's (source) is not.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="line-of-sight-los">Line of Sight (LOS)<a href="https://blog.gridbattles.com/2022/10/09/rules#line-of-sight-los" class="hash-link" aria-label="Direct link to Line of Sight (LOS)" title="Direct link to Line of Sight (LOS)" translate="no">​</a></h3>
<p>Line of Sight is calculated as a straight line between the center of the source and the center of the target hex. If this line crosses a hex containing a unit or a blocking terrain, then the LOS is blocked, otherwise it is clear.
The calculation does not consider the units and terrain of the source and the target hex, just of those between them. It the LOS goes along the edge betweeen two hexes,
it considers both sides and if any one of them is clear of obstacles, then the LOS is clear.</p>
<p>Blocking terrains are:</p>
<ul>
<li class="">woods</li>
<li class="">hills</li>
</ul>
<p>Any unit, be it enemy or friendly, blocks the LOS.</p>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Hello World!]]></title>
        <id>https://blog.gridbattles.com/2022/10/08/hello-world</id>
        <link href="https://blog.gridbattles.com/2022/10/08/hello-world"/>
        <updated>2022-10-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[I'm working on a new project 🎉. I call it Grid Battles and it's an online tactical wargame for two players in a quasi-medieval setting,]]></summary>
        <content type="html"><![CDATA[<p>I'm working on a new project 🎉. I call it Grid Battles and it's an online tactical wargame for two players in a quasi-medieval setting,
with boardgame elements like dice thorwing.
The game is still under development, but you can try it if you want.
On this blog I'm planning to write about my plans, progress in the development and all the new things introduced to the game.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="okay-but-what-is-the-game-about-">Okay, but what is the game about? 🤔<a href="https://blog.gridbattles.com/2022/10/08/hello-world#okay-but-what-is-the-game-about-" class="hash-link" aria-label="Direct link to Okay, but what is the game about? 🤔" title="Direct link to Okay, but what is the game about? 🤔" translate="no">​</a></h2>
<p>What is a tactical wargame you ask? Well, as the word <em>wargame</em> suggests it will be a game about conflicts, wars or battles.
And the <em>tactical</em> means the focus will be put on the individual battles, not on whole wars or campaigns. So you will be commanding your
troops on a relatively small battlefield, trying to outthink and outmanouver your opponent in a single battle.</p>
<p>From a player perspective, you will choose one of the many possible maps (scenarios), invite your friend and then your armies will clash together on
the battlefield. You both will be trying to fullfill your victory conditions before the other can fullfil theirs.</p>
<p>For now, there is no story. Every scenario is planned to be an independent battle. But who knows, maybe during development I will decide to link
some of the scenarios into a bigger campaign. Right now, everythink is possible, but my primary objective is to have the independent battles working.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-does-it-look-like-">What does it look like? 👀<a href="https://blog.gridbattles.com/2022/10/08/hello-world#what-does-it-look-like-" class="hash-link" aria-label="Direct link to What does it look like? 👀" title="Direct link to What does it look like? 👀" translate="no">​</a></h2>
<p>The game is under development and I am using only minimal graphics as you can clearly see from the screenshot below 😅.</p>
<p><img decoding="async" loading="lazy" alt="Part of the game board" src="https://blog.gridbattles.com/assets/images/2020-10-31-game-03c07b82e46152afde6bfbb181a50e92.png" width="849" height="698" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-about-the-rules-">What about the rules? 📕<a href="https://blog.gridbattles.com/2022/10/08/hello-world#what-about-the-rules-" class="hash-link" aria-label="Direct link to What about the rules? 📕" title="Direct link to What about the rules? 📕" translate="no">​</a></h2>
<p>Battles take place on a hex board. Every hex has a terrain that can affect movement and fighting abilities of a unit occupying it. Units have only a few statistics
like movement points, health, attack, defense and bonuses against other units. I am trying to keep it simple, so the game should be very easy to learn.
The attacks are resolved by throwing some dice - for the attacker, for the defender - and applying possible bonuses for unit types and terrain.
I will talk more about the rules in some of the later posts.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="technology-">Technology ⚙<a href="https://blog.gridbattles.com/2022/10/08/hello-world#technology-" class="hash-link" aria-label="Direct link to Technology ⚙" title="Direct link to Technology ⚙" translate="no">​</a></h2>
<p>Grid Battles is a browser game, so everything you will need to play it is any of the modern browsers.
From the developer perspective, the frontend is written in JavaScript, using React and Redux.
On the backend I decided to go with the technologies I am most familiar with, so PHP with Symfony framework and a relational database (MariaDB) it is.
I have considered using JavaScript on the backend as well but I went with server-side technologies
I feel more confident and better aware about the security risks. At least for now.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="is-it-possible-to-try-the-game">Is it possible to try the game?<a href="https://blog.gridbattles.com/2022/10/08/hello-world#is-it-possible-to-try-the-game" class="hash-link" aria-label="Direct link to Is it possible to try the game?" title="Direct link to Is it possible to try the game?" translate="no">​</a></h2>
<p>Yes, it is. You can find the latest released version of the game on the URL&nbsp;address <a href="https://www.gridbattles.com/" target="_blank" rel="noopener noreferrer" class="">https://www.gridbattles.com</a>. You are welcome to try and test it. I'm doing
my best to release only bug-free versions, but be aware it is still under development, so the rules might change and you may even loose some data.</p>
<p>I hope I will be able to deliver a good enough version of the game in some reasonable time. Wish me luck.</p>]]></content>
    </entry>
</feed>