<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2026-06-29T20:31:16+00:00</updated><id>/feed.xml</id><title type="html">KLG digital games</title><subtitle>Doing games and stuff</subtitle><entry><title type="html">Progress Report: November 2021</title><link href="/2021/11/26/progress-report-november-2021/" rel="alternate" type="text/html" title="Progress Report: November 2021" /><published>2021-11-26T00:00:00+00:00</published><updated>2021-11-26T00:00:00+00:00</updated><id>/2021/11/26/progress-report-november-2021</id><content type="html" xml:base="/2021/11/26/progress-report-november-2021/"><![CDATA[<p>As the game engine and fundamentals have progressed into a semi-usable state now, it is time to start working on actual gameplay design. So this month has been about continuing engine work on missions and dialogue and also to start planning gameplay!</p>

<h1 id="gameplay-planning">Gameplay planning</h1>
<p>First let’s have a look at some concept art. These are drafts of the world and the planned gameplay loop.</p>

<h2 id="world">World</h2>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-11-24-gameworld-concept-art.jpg" alt="Concept art of the game world" title="Concept art of the game world" width="70%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>Concept art of the game world</em></td>
    </tr>
  </tbody>
</table>

<p>The player will be progressing through multiple areas from the “Stranded Beach” to “The Volcano”. Each area is supposed to have distinct features and enemies and should require the player to prepare and adapt.</p>

<p>The Ninja Village is different from the other areas as it is the main hub where shops, quest givers, etc. are located. It will be a safe area.</p>

<h2 id="gameplay-loop">Gameplay-loop</h2>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-11-24-gameplay-loop-concept-art.jpg" alt="Concept art of the gameplay-loop" title="Concept art of the gameplay-loop" width="70%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>Concept art of the gameplay-loop</em></td>
    </tr>
  </tbody>
</table>

<p>The planned gameplay-loop is a mix of fighting, exploring and upgrading the character. It repeats for every of the aforementioned regions.</p>

<h1 id="complex-dialogues--lua-missions">Complex Dialogues &amp; Lua missions</h1>

<p>To enable this kind of complex gameplay there has been progress on complex dialogues and Lua missions.</p>

<h2 id="complex-dialogues">Complex Dialogues</h2>
<p>Dialogues can now be prepared in .json files. They can be interactive, meaning the player can choose different answer options and Lua scripts can be called at arbitrary points in the dialogue.</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-11-24-example-dialogue-file.png" alt="Example of a dialogue .json file" title="Example of a dialogue .json file" width="95%" /></td>
      <td style="text-align: center"><img src="/images/2021-11-24-dialogue-example.gif" alt="One path of the resulting dialogue" title="One path of the resulting dialogue" width="95%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>Example of a dialogue .json file</em></td>
      <td style="text-align: center"><em>One path of the resulting dialogue</em></td>
    </tr>
  </tbody>
</table>

<p>As you can see the dialogue changes depending on the player’s choices and, in this demo specifically, the time of day is modified by an internal Lua script at specific points in the dialogue.</p>

<h2 id="lua-missions">Lua Missions</h2>

<p>Lastly, missions can now also be defined in .json files. They are rather complex files containing various entry points for Lua scripts and will likely be a backbone of game-scripting and the environment reacting to the player’s actions and choices.</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-11-24-mission-json-file-example.png" alt="Example of a .json mission file" title="Example of a .json mission file" width="70%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>Example of a .json mission file</em></td>
    </tr>
  </tbody>
</table>

<h1 id="thats-it-for-this-month">That’s it for this month</h1>
<p>See you next time! 👋</p>]]></content><author><name></name></author><summary type="html"><![CDATA[As the game engine and fundamentals have progressed into a semi-usable state now, it is time to start working on actual gameplay design. So this month has been about continuing engine work on missions and dialogue and also to start planning gameplay!]]></summary></entry><entry><title type="html">Progress Report: October 2021</title><link href="/2021/10/29/progress-report-october-2021/" rel="alternate" type="text/html" title="Progress Report: October 2021" /><published>2021-10-29T00:00:00+00:00</published><updated>2021-10-29T00:00:00+00:00</updated><id>/2021/10/29/progress-report-october-2021</id><content type="html" xml:base="/2021/10/29/progress-report-october-2021/"><![CDATA[<p>After a small hiatus in September, due to exam period at university and taking some time off afterwards, I’m back to game development.
Let’s have a look at the exciting progress that happened in October.</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-07-28-dungeon-progress.png" alt="Picture of a dungeon" title="A dungeon like is a prime example for a world that can be shipped as a world preset" width="70%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>Dungeons like this can now be shipped as a world preset!</em></td>
    </tr>
  </tbody>
</table>

<p>This month has been all about technical improvements to the save system.</p>

<p>As is widely known the player’s progress data has to be stored in some way. Also, the player is able to interact with the environment and modify it. Therefore, the different worlds (i.e. the overworld or the dungeon) need to be written to the save file too. What lead to a problem so far was that save file data and loaded world data were strongly interconnected. Meaning it was not possible to have only a certain world loaded at a time, but instead all data from the save file had to be loaded and deserialized at once.</p>

<p>For the current pre-alpha.0.3 this was so far not an issue, as two worlds is still not a lot. Nonetheless, going forward and potentially having dozens of worlds in a save file, there needs to be a way to only deserialize <em>part of it</em> at any given time.</p>

<h1 id="new-save-structure">New save structure</h1>
<p>The new save structure allows for single worlds to be deserialized on demand. While the entire file is parsed and loaded into RAM when a savegame is opened, only the necessary worlds will be deserialized and initialized as game world objects.</p>

<p>The structure loosely looks like this:</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-10-27-save-structure.png" alt="An illustration of the new save file structure" title="An illustration of the new save file structure" width="100%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>The new save file structure</em></td>
    </tr>
  </tbody>
</table>

<p>As you can see the world data are neatly available in a list to be selected and deserialized into actual game objects when needed.</p>

<h1 id="world-presets--the-preset-editor">World presets &amp; The preset editor</h1>
<p>Another addition this month has been separate world presets. Up until now all world data was included in the single savegame that shipped with the game. It is now possible to include pre-made worlds in the games files. They can be loaded into a savegame on demand.</p>

<p>Here is a little glimpse of the new world preset editor:</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-10-27-preset-editor.png" alt="A picture of the new preset editor" title="A picture of the new preset editor" width="70%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>The new preset editor</em></td>
    </tr>
  </tbody>
</table>

<p>This editor allows for editing and easy management of world presets in the game’s data directory in order to create unique game environments (i.e. special dungeons or boss fight areas).</p>

<p>The world preset editor is available by pressing F2 in the main menu.</p>

<h1 id="thanks-for-reading">Thanks for reading!</h1>
<p>See you next month!</p>]]></content><author><name></name></author><summary type="html"><![CDATA[After a small hiatus in September, due to exam period at university and taking some time off afterwards, I’m back to game development. Let’s have a look at the exciting progress that happened in October.]]></summary></entry><entry><title type="html">Pre-alpha 0.3 now available</title><link href="/2021/08/28/release-pre-alpha-0-3/" rel="alternate" type="text/html" title="Pre-alpha 0.3 now available" /><published>2021-08-28T00:00:00+00:00</published><updated>2021-08-28T00:00:00+00:00</updated><id>/2021/08/28/release-pre-alpha-0-3</id><content type="html" xml:base="/2021/08/28/release-pre-alpha-0-3/"><![CDATA[<p>Today marks the first public release of this game. Below is a download link for this very early development version.</p>

<h1 id="impressions-from-the-game">Impressions from the game</h1>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-08-04-game-screenshot-prealpha-0-3.png" alt="Screenshot of the pre-alpha.0.3 world" title="Screenshot of the pre-alpha.0.3 world" width="95%" /></td>
      <td style="text-align: center"><img src="/images/2021-08-04-game-screenshot-prealpha-0-3b.png" alt="Screenshot of the pre-alpha.0.3 dungeon" title="Screenshot of the pre-alpha.0.3 dungeon" width="95%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>The overworld</em></td>
      <td style="text-align: center"><em>The dungeon</em></td>
    </tr>
  </tbody>
</table>

<h1 id="try-it-now">Try it now</h1>

<p>Download: <a href="/files/Mountain.Island.pre-alpha.0.3.404ef9cf0470f84402e926b7bdd652bc169fa58e.zip">here</a> (Windows 64-bit only)</p>

<h2 id="installation">Installation</h2>
<p>Extract the zip to your PC and run sacb.exe.<br />
If that causes errors, try installing the accompanying “Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019” (VC_redist.x64.exe)</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Today marks the first public release of this game. Below is a download link for this very early development version.]]></summary></entry><entry><title type="html">Progress report: July 2021</title><link href="/2021/07/30/progress-report-july-2021/" rel="alternate" type="text/html" title="Progress report: July 2021" /><published>2021-07-30T00:00:00+00:00</published><updated>2021-07-30T00:00:00+00:00</updated><id>/2021/07/30/progress-report-july-2021</id><content type="html" xml:base="/2021/07/30/progress-report-july-2021/"><![CDATA[<p>This month has been all about AI &amp; graphics, let’s get started.</p>

<h1 id="ai-steering">AI Steering</h1>
<p>The entities are now able to seek certain positions and pursuit entities (for example the player). These actions are performed using a logic called ‘Steering Behaviors’. These behaviors can be used to calculate movement from simple A → B navigation, to complex movement in a group. Currently, only the aforementioned simple behaviors are implemented.</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-07-12-frogs-are-moving.gif" alt="Screen-capture of a frog seeking a point in the world" title="Screen-capture of a frog seeking a point in the world" width="70%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>A frog seeking a point in the world</em></td>
    </tr>
  </tbody>
</table>

<h3 id="a-note-on-pathfinding">A note on pathfinding</h3>
<p>I spent a lot of time getting <a href="/2021/07/07/state-of-navmesh/">navmeshes and pathfinding</a> to work. Its current state is API-complete and integrated in the game engine, but still contains a lot of bugs and crashes. Therefore, the implementation will probably need a rewrite that won’t make it into the next build.</p>

<p>Luckily, steering and pathfinding work mostly independent of each other and steering produces good results for simple worlds like the current one.</p>

<h1 id="ai-behavior-trees--frog-ai">AI Behavior-Trees &amp; Frog AI</h1>
<p>Aside from navigation, the second key element to game AI is defining how entities behave and interact in certain situations. For this task the game engine now uses behavior trees. These trees are used to model complex AI behavior in games and robotics. Below are behavior trees for the frog AI from different stages of development.</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-07-15-frog-wander-ai-tree.png" alt="Screenshot of a simple behavior tree" title="Screenshot of a simple behavior tree" width="95%" /></td>
      <td style="text-align: center"><img src="/images/2021-07-22-frog-ai-tree.png" alt="Screenshot of a more complex behavior tree" title="Screenshot of a more complex behavior tree" width="95%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>An early sample of the frog behavior tree</em></td>
      <td style="text-align: center"><em>A more recent example</em></td>
    </tr>
  </tbody>
</table>

<h1 id="graphics--copyrighted-assets">Graphics &amp; copyrighted assets</h1>
<p>There has been progress on improving graphics and removing copyrighted assets. As mentioned in <a href="/2021/06/30/whats-to-come-until-august/">“What’s to come until August”</a>, some assets need to be removed or redone before publishing a public build due to potential copyright issues. There has been some progress on that.</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-07-22-current-graphics.png" alt="A screenshot of the current graphics" title="A screenshot of the current graphics" width="70%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>Updated Graphics</em></td>
    </tr>
  </tbody>
</table>

<p>The shallow water, deep water and sand textures have been remade and added to the game. A lot of steps can still be taken to further improve graphics. Some smaller changes will be implemented in the course of August.</p>

<h1 id="thats-it-for-this-progress-report">That’s it for this progress report</h1>
<p>There has been a variety of smaller changes, fixes and balancing that would not fit in this list. From now on development will focus on preparing the game for the prealpha-0.3 release on August 28. Stay tuned people.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[This month has been all about AI &amp; graphics, let’s get started.]]></summary></entry><entry><title type="html">The state of navmesh(es)</title><link href="/2021/07/07/state-of-navmesh/" rel="alternate" type="text/html" title="The state of navmesh(es)" /><published>2021-07-07T00:00:00+00:00</published><updated>2021-07-07T00:00:00+00:00</updated><id>/2021/07/07/state-of-navmesh</id><content type="html" xml:base="/2021/07/07/state-of-navmesh/"><![CDATA[<p>How entities like enemies and NPC’s move from A to B is one of the key elements of game AI. For this project I have decided to use navmeshes.</p>

<h1 id="what-is-a-navmesh">What is a navmesh?</h1>
<p>A navmesh is a representation of the game world in which walkable areas are stored as polygons. Obstacles get cut out of the navmesh to ensure the AI does not try to move to regions where it could or should not walk.</p>

<p>A navmesh representation in the current implementation looks somewhat like this:</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-07-03-screenshot-navgraph.png" alt="screenshot with an example of a navmesh" title="screenshot of an example navmesh" width="70%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>A navmesh</em></td>
    </tr>
  </tbody>
</table>

<p>The different colored polygons are walkable areas. Each area is <em>convex</em>. That means every point in an area can be reached from any other point in the same area by walking to it in a straight line. This makes pathfinding a lot easier since we now have to only find a path of colored areas from the start to the goal. The pink dots are the vertices of the polygons and the green lines are all possible connections between vertices for each individual polygon.
Pathfinding from A to B now consists of these steps:</p>
<ul>
  <li>Find the closest vertex to point A (va) &amp; find the closest vertex to point B (vb).</li>
  <li>Run A* on the generated vertices and edges from va to vb.</li>
  <li>Return A ⇾ va ⇾ A*path… ⇾ bv ⇾ B as the final path.</li>
  <li>Shorten the path were possible (not implemented yet).</li>
</ul>

<h1 id="how-it-looks-in-the-game">How it looks in the game</h1>
<p>This is an example of a currently generated navmesh for a game world:</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-07-07-screenshot-ingame.png" alt="screenshot of an ingame world" title="screenshot of an ingame world" width="95%" /></td>
      <td style="text-align: center"><img src="/images/2021-07-07-screenshot-navgraph-ingame.png" alt="screenshot of the corresponding navmesh" title="screenshot of the corresponding navmesh" width="95%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>The game world</em></td>
      <td style="text-align: center"><em>The corresponding navmesh</em></td>
    </tr>
  </tbody>
</table>

<p>As is clearly visible, there are a couple of fairly wide polygons between the trees. This should not turn out to be an issue as the total number of polygons is reasonably close to optimal and path smoothing will make entities move more efficiently.</p>

<p>The entities will be able to use this navmesh to find a good path from A to B or determine that there is no such path.</p>

<h1 id="area-transitions">Area transitions</h1>
<p>Lastly, I want to talk about “areas” in the navmesh. It is important that an entity can recognize different terrain types. The entity can then avoid areas where it would be slow or even dangerous to move (like water or lava) and prefer areas that give a speed bonus (like roads).</p>

<p>The navmesh implements a way to define areas and their types and movement cost. With this information better paths can be found. Currently, there is one issue with this system though:</p>

<table width="100%" class="tb_fixed">
  <thead>
    <tr>
      <th style="text-align: center"> </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center"><img src="/images/2021-07-07-navmesh-area-navigation-issue.png" alt="drawing of the navmesh navigation issue" title="drawing of the navmesh navigation issue" width="60%" /></td>
    </tr>
    <tr>
      <td style="text-align: center"><em>Path from A to B</em></td>
    </tr>
  </tbody>
</table>

<p>The blue area is water. It slows the player down and should therefore be avoided. What’s currently happening is that while the area is perfectly avoided in the path itself, it does not take into account the width of the entity. The path goes along the edge <em>between</em> the water and the ground area. The entity would still touch the water and be slowed down or take damage if the area was lava.<br />
This issue is what’s going to be addressed in the upcoming days of development.</p>

<h1 id="thanks-for-reading">Thanks for reading</h1>

<p>That’s it for today. If you want to know more about what’s to come in the near future, check out the <a href="/2021/06/30/whats-to-come-until-august/">previous post</a>. Bye.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[How entities like enemies and NPC’s move from A to B is one of the key elements of game AI. For this project I have decided to use navmeshes.]]></summary></entry><entry><title type="html">What’s to come until August</title><link href="/2021/06/30/whats-to-come-until-august/" rel="alternate" type="text/html" title="What’s to come until August" /><published>2021-06-30T00:00:00+00:00</published><updated>2021-06-30T00:00:00+00:00</updated><id>/2021/06/30/whats-to-come-until-august</id><content type="html" xml:base="/2021/06/30/whats-to-come-until-august/"><![CDATA[<p>As some of you might already know, there are already two playable super-duper early™ releases of the game ready to be played.
Unfortunately these versions cannot simply be made public due to the fact that there might be copyrighted materials in them. I’ve been working on this project for quite a long time now and have not really cared about which (maybe copyrighted) files end up in the folders.
That changes now!</p>

<p><img src="/images/2021-06-29-previous-releases.png" alt="Screenshot of the previously released preview versions." title="screenshot of the previously released preview versions" /></p>

<p>As you can see from this screenshot, progress on the project has been quite slow. (Game development is just a hobby for me.) What’s interesting though is that the very first preview has been released on 28. August 2019 and the second preview version on 28. August 2020. So you can guess what’s coming for this year’s 28. August 2021 ;).</p>

<p>Until then, I have a couple of additions planned which might or might not work out in this timeframe:</p>
<ul class="task-list">
  <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" checked="checked" />Implement “auto-tiling” to allow terrain to be more flexible and pleasing to the eye
    <ul class="task-list">
      <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />Add “auto-tiling” for all the available terrain types. So far it is only available for the “grass” tile. (Sneak peek in <a href="/2021/06/29/lets-gooo/">yesterday’s post</a>.)</li>
    </ul>
  </li>
  <li class="task-list-item">
    <p><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" checked="checked" />Integrate Lua as a scripting language for later use (As of this point there is an ingame debug-console which has very limited commands. This is to be extended going forward.)</p>
  </li>
  <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />AI
    <ul class="task-list">
      <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />Navmesh ← <em>actively working on this currently</em></li>
      <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />Pathfinding</li>
      <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />Steering behaviors
<br />
 </li>
    </ul>
  </li>
  <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />Set up a working demo game (quest giver/storyline/etc.)</li>
  <li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" disabled="disabled" />Give credit to the awesome open-source game assets (It’s only a few as I’ve designed most of the game myself, but I will look through the files and give appropriate credit where it’s due. Also, open-source software.)</li>
</ul>

<p>The last two points are, as you might have guessed, the most important ones out of all of them. I am going to continue working on the other stuff for now, but will eventually have to cut some of it short in order to have something “playable” on publishing day.
Unfortunately it is not entirely possible to load up the save data from the last preview version, since some things have changed internally. That being said, some of it can be used effortlessly and some of it is supposed to be extended anyway.</p>

<p>I will see how it goes and keep you guys updated, see you!</p>]]></content><author><name></name></author><summary type="html"><![CDATA[As some of you might already know, there are already two playable super-duper early™ releases of the game ready to be played. Unfortunately these versions cannot simply be made public due to the fact that there might be copyrighted materials in them. I’ve been working on this project for quite a long time now and have not really cared about which (maybe copyrighted) files end up in the folders. That changes now!]]></summary></entry><entry><title type="html">Let’s gooo!</title><link href="/2021/06/29/lets-gooo/" rel="alternate" type="text/html" title="Let’s gooo!" /><published>2021-06-29T00:00:00+00:00</published><updated>2021-06-29T00:00:00+00:00</updated><id>/2021/06/29/lets-gooo</id><content type="html" xml:base="/2021/06/29/lets-gooo/"><![CDATA[<p>Here’s a teaser of the current state of the game…</p>

<p><img src="/images/2021-06-29-screenshot.png" alt="Super early screenshot of the project." title="super early screenshot of the project" /></p>]]></content><author><name></name></author><summary type="html"><![CDATA[Here’s a teaser of the current state of the game…]]></summary></entry></feed>