<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Leading Zeroes</title>
    <link>https://blog.leadingzeroes.com/</link>
    <description>Public thoughts of a private person</description>
    <pubDate>Sat, 23 May 2026 16:10:16 +0000</pubDate>
    <item>
      <title>The Games I Played at Breakout Con 2026: Something is Wrong with the Chickens</title>
      <link>https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-something-is-wrong-with-the-chickens</link>
      <description>&lt;![CDATA[I&#39;ve already covered Brindlewood Bay, The Wildsea, and Sock Puppets. The fourth game I played at Breakout Con 2026 was... !--more--&#xA;&#xA;Something is Wrong with the Chickens&#xA;&#xA;Game homepage&#xA;&#xA;Something is Wrong with the Chickens is a single page TTRPG in the vein of Honey Heist. Very few rules, just a handful of dice, and a madcap premise. Our session was run by the author, Elliot Davis.&#xA;&#xA;In this game you play a randomly-selected chicken (or turkey, or duck) that has acquired a randomly-selected Eldritch Trait. Tentacles, spikes, that sort of thing. If you want to know how this came about you&#39;re asking too many questions. Suspension of disbelief is mandatory. The party barrels through a randomly-selected scenario as they try to get revenge on Bryson Foods for their crimes against chickenkind.&#xA;&#xA;Chickens has a single, simple dice mechanic that handles all skill checks as well as the push and pull between your chicken nature and your eldritch nature. There are three outcomes: A success (yay!), a chicken failure, and an eldritch failure. If you roll an eldritch failure you gain a (randomly-selected) eldritch trait. If you roll a chicken failure, you lose one instead. Gain too many traits and you transcend this world, removing your character from the game. Losing all your traits makes you too delicious and you are immediately taken away to be turned into nuggets. This also removes your character from the game.&#xA;&#xA;I liked this system a lot. It feels silly to talk about &#39;depth&#39; in a game featuring eldritch chickens but there are legitimately times where you&#39;re hoping for one kind of failure or another to keep your traits balanced out. Narrating failures based on the trait lost or gained was also a tonne of fun.&#xA;&#xA;Chickens was great, and I would 100% play it again. One thing I think would be worth doing is expanding the list of traits that your chicken can acquire, as after a few rounds of losing and gaining them there was a fair amount of duplication between players. Rather than d6, a d66 or even a d100 table of traits would make for a richer and more surprising game, but then you&#39;d need a second page for it so maybe that breaks the rules. Perhaps you could ask the players to come up with some at the beginning of the game?&#xA;&#xA;BreakoutCon2026]]&gt;</description>
      <content:encoded><![CDATA[<p>I&#39;ve already covered <a href="https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-brindlewood-bay">Brindlewood Bay</a>, <a href="https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-the-wildsea">The Wildsea</a>, and <a href="https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-sock-puppets">Sock Puppets</a>. The fourth game I played at <a href="https://breakoutcon.com/">Breakout Con 2026</a> was... </p>

<h2 id="something-is-wrong-with-the-chickens">Something is Wrong with the Chickens</h2>

<p><a href="https://moreblueberries.itch.io/chickens">Game homepage</a></p>

<p>Something is Wrong with the Chickens is a single page TTRPG in the vein of Honey Heist. Very few rules, just a handful of dice, and a madcap premise. Our session was run by the author, Elliot Davis.</p>

<p>In this game you play a randomly-selected chicken (or turkey, or duck) that has acquired a randomly-selected Eldritch Trait. Tentacles, spikes, that sort of thing. If you want to know how this came about you&#39;re asking too many questions. Suspension of disbelief is mandatory. The party barrels through a randomly-selected scenario as they try to get revenge on Bryson Foods for their crimes against chickenkind.</p>

<p><img src="https://img.leadingzeroes.com/doris.jpg" alt=""></p>

<p>Chickens has a single, simple dice mechanic that handles all skill checks as well as the push and pull between your chicken nature and your eldritch nature. There are three outcomes: A success (yay!), a chicken failure, and an eldritch failure. If you roll an eldritch failure you gain a (randomly-selected) eldritch trait. If you roll a chicken failure, you lose one instead. Gain too many traits and you transcend this world, removing your character from the game. Losing all your traits makes you too delicious and you are immediately taken away to be turned into nuggets. This also removes your character from the game.</p>

<p>I liked this system a lot. It feels silly to talk about &#39;depth&#39; in a game featuring eldritch chickens but there are legitimately times where you&#39;re hoping for one kind of failure or another to keep your traits balanced out. Narrating failures based on the trait lost or gained was also a tonne of fun.</p>

<p>Chickens was great, and I would 100% play it again. One thing I think would be worth doing is expanding the list of traits that your chicken can acquire, as after a few rounds of losing and gaining them there was a fair amount of duplication between players. Rather than d6, a d66 or even a d100 table of traits would make for a richer and more surprising game, but then you&#39;d need a second page for it so maybe that breaks the rules. Perhaps you could ask the players to come up with some at the beginning of the game?</p>

<p><a href="https://blog.leadingzeroes.com/tag:BreakoutCon2026" class="hashtag"><span>#</span><span class="p-category">BreakoutCon2026</span></a></p>
]]></content:encoded>
      <guid>https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-something-is-wrong-with-the-chickens</guid>
      <pubDate>Mon, 30 Mar 2026 14:41:53 +0000</pubDate>
    </item>
    <item>
      <title>The Games I Played at Breakout Con 2026: Sock Puppets</title>
      <link>https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-sock-puppets</link>
      <description>&lt;![CDATA[I&#39;m writing about each of the games I played at Breakout Con this year. I&#39;ve already covered Brindlewood Bay and The Wildsea, so it&#39;s time to talk about the hands down most chaotic session, which was...!--more--&#xA;&#xA;Sock Puppets&#xA;&#xA;Game homepage&#xA;&#xA;Sock Puppets stands out amongst the games I played at Breakout. It has no character sheets, no stats or skills, and you don&#39;t roll any dice. The game is basically one long improv scene acting out an episode of a dysfunctional children&#39;s TV show, and I had a great time playing it.&#xA;&#xA;Our session was run by the creator of Sock Puppets, Kurt. He took us through the game&#39;s few rules, and regaled us with stories from its development while we made our puppets. The first half hour of the session was spent cutting and sticking brightly coloured paper, foam, and googly eyes to a brown paper bag that we then wore on our hands for the rest of the session. Here&#39;s my creation, Pip.&#xA;&#xA;Each player had a couple of prompts to seed the game with, which include relationships such as one player being another&#39;s step-parent and agendas like slipping in &#39;subtle&#39; product placement messages. I had to try and shoehorn in references to Luxembourg while trying to one-up everything another player did. Then Kurt said &#34;Go!&#34;, started a timer, and the rest of the game was us improvising an episode of children&#39;s television in real time.&#xA;&#xA;This was as chaotic as it sounds, and definitely not for everyone. Without the common structures of most TTRPGs, and no GM to help distribute focus (Kurt made a puppet and played a character along with the rest of us), each player needs the discipline and awareness to share the spotlight without prompting. There&#39;s also the classic &#34;Yes, and&#34; rule of improv which I think would be worth calling out at the beginning if you run this game yourself. Our table did a good job with these things about 80% of the time, I reckon? Pretty good for a group of strangers at a con.&#xA;&#xA;Sock Puppets was a unique experience for me, and I am glad that I got to play it with the creator. It&#39;s definitely not a game I&#39;d recommend playing remotely over a video call though, you&#39;d lose 90% of the fun that way. If you&#39;ve got a local group and some craft supplies handy though, I&#39;d say go for it.&#xA;&#xA;BreakoutCon2026]]&gt;</description>
      <content:encoded><![CDATA[<p>I&#39;m writing about each of the games I played at Breakout Con this year. I&#39;ve already covered <a href="https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-brindlewood-bay">Brindlewood Bay</a> and <a href="https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-the-wildsea">The Wildsea</a>, so it&#39;s time to talk about the hands down most chaotic session, which was...</p>

<h2 id="sock-puppets">Sock Puppets</h2>

<p><a href="https://a-smouldering-lighthouse.itch.io/sock-puppets">Game homepage</a></p>

<p>Sock Puppets stands out amongst the games I played at Breakout. It has no character sheets, no stats or skills, and you don&#39;t roll any dice. The game is basically one long improv scene acting out an episode of a dysfunctional children&#39;s TV show, and I had a great time playing it.</p>

<p>Our session was run by the creator of Sock Puppets, Kurt. He took us through the game&#39;s few rules, and regaled us with stories from its development while we made our puppets. The first half hour of the session was spent cutting and sticking brightly coloured paper, foam, and googly eyes to a brown paper bag that we then wore on our hands for the rest of the session. Here&#39;s my creation, Pip.</p>

<p><img src="https://img.leadingzeroes.com/pip.jpg" alt=""></p>

<p>Each player had a couple of prompts to seed the game with, which include relationships such as one player being another&#39;s step-parent and agendas like slipping in &#39;subtle&#39; product placement messages. I had to try and shoehorn in references to Luxembourg while trying to one-up everything another player did. Then Kurt said “Go!”, started a timer, and the rest of the game was us improvising an episode of children&#39;s television in real time.</p>

<p>This was as chaotic as it sounds, and definitely not for everyone. Without the common structures of most TTRPGs, and no GM to help distribute focus (Kurt made a puppet and played a character along with the rest of us), each player needs the discipline and awareness to share the spotlight without prompting. There&#39;s also the classic “Yes, and” rule of improv which I think would be worth calling out at the beginning if you run this game yourself. Our table did a good job with these things about 80% of the time, I reckon? Pretty good for a group of strangers at a con.</p>

<p>Sock Puppets was a unique experience for me, and I am glad that I got to play it with the creator. It&#39;s <em>definitely</em> not a game I&#39;d recommend playing remotely over a video call though, you&#39;d lose 90% of the fun that way. If you&#39;ve got a local group and some craft supplies handy though, I&#39;d say go for it.</p>

<p><a href="https://blog.leadingzeroes.com/tag:BreakoutCon2026" class="hashtag"><span>#</span><span class="p-category">BreakoutCon2026</span></a></p>
]]></content:encoded>
      <guid>https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-sock-puppets</guid>
      <pubDate>Fri, 27 Mar 2026 12:34:02 +0000</pubDate>
    </item>
    <item>
      <title>The Games I Played at Breakout Con 2026: The Wildsea</title>
      <link>https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-the-wildsea</link>
      <description>&lt;![CDATA[Playing 8 new (to me) games over 4 days at Breakout Con 2026 was a rewarding but tiring experience. Now that I&#39;m back I&#39;m writing a little bit about each one. Here&#39;s what I thought about Brindlewood Bay. Next is my favourite session of the con, which was...!--more--&#xA;&#xA;The Wildsea&#xA;&#xA;Game homepage&#xA;&#xA;I travelled to Breakout with my good friend Carson, who runs SSTO Press. On the drive back he told me about playing the LotR RPG The One Ring. A particular point he raised was that he quickly felt at home because the game was set in a world with such well-known lore. Lord of the Rings is the lore in many cases. It is the most familiar fantasy format and tropes found there make their ways into almost all fantasy media.&#xA;&#xA;The Wildsea is the opposite of that. Every aspect of the setting is novel. The world is a sea of trees that the players traverse on ships that are also giant chainsaws, cutting their way across the canopy. There are humans, but they&#39;re joined by cacti, funguses, moths, and sentient colonies of spiders(!) as playable character types.&#xA;&#xA;One downside of this is that there is a fair bit of terminology to learn up front. Ektus, Char, Tallshank, The Thrash. It was a little overwhelming looking at my pre-generated character sheet. Standard RPG terms are also thrown out for the most part. You don&#39;t have attributes, you have Edges. Injuries become Mires. Rather than an inventory you have Salvage, Specimens, Whispers, and Charts. I still don&#39;t understand all of those.&#xA;&#xA;Our Firefly (that&#39;s what Wildsea calls the GM) was fantastic. She had all the information we needed about our characters and the world at hand and did a wonderful job of introducing us to the game. Ektus? Cactus person. Char? A ship&#39;s cook. I learned afterwards that she writes games too, so check out Mint-Rabbit over on Itch.&#xA;&#xA;Once over the initial terminology hurdle, the novel setting of The Wildsea means that there&#39;s a lot of space for the players to add their own details. Being a narrative-focussed game we spent a lot of time asking and answering questions about the situations we found ourselves in. We made many decisions about the world that would already have been answered had we been in a well-known setting. What we built over the three hour session was ours, and I enjoyed that a lot.&#xA;&#xA;My Wildsea session was definitely a high point of the convention. If the opportunity to play again comes up I&#39;ll definitely take it.&#xA;&#xA;BreakoutCon2026]]&gt;</description>
      <content:encoded><![CDATA[<p>Playing 8 new (to me) games over 4 days at <a href="https://breakoutcon.com/">Breakout Con 2026</a> was a rewarding but tiring experience. Now that I&#39;m back I&#39;m writing a little bit about each one. <a href="https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-brindlewood-bay">Here&#39;s what I thought about Brindlewood Bay</a>. Next is my favourite session of the con, which was...</p>

<h2 id="the-wildsea">The Wildsea</h2>

<p><a href="https://www.myth.works/collections/the-wildsea-homepage">Game homepage</a></p>

<p>I travelled to Breakout with my good friend Carson, who runs <a href="https://ssto.press">SSTO Press</a>. On the drive back he told me about playing the LotR RPG The One Ring. A particular point he raised was that he quickly felt at home because the game was set in a world with such well-known lore. Lord of the Rings is <em>the</em> lore in many cases. It is the most familiar fantasy format and tropes found there make their ways into almost all fantasy media.</p>

<p>The Wildsea is the opposite of that. Every aspect of the setting is novel. The world is a sea of trees that the players traverse on ships that are also giant chainsaws, cutting their way across the canopy. There are humans, but they&#39;re joined by cacti, funguses, moths, and sentient colonies of spiders(!) as playable character types.</p>

<p>One downside of this is that there is a fair bit of terminology to learn up front. Ektus, Char, Tallshank, The Thrash. It was a little overwhelming looking at my pre-generated character sheet. Standard RPG terms are also thrown out for the most part. You don&#39;t have attributes, you have Edges. Injuries become Mires. Rather than an inventory you have Salvage, Specimens, Whispers, and Charts. I still don&#39;t understand all of those.</p>

<p>Our Firefly (that&#39;s what Wildsea calls the GM) was fantastic. She had all the information we needed about our characters and the world at hand and did a wonderful job of introducing us to the game. Ektus? Cactus person. Char? A ship&#39;s cook. I learned afterwards that she writes games too, so check out <a href="https://mint-rabbit.itch.io/">Mint-Rabbit over on Itch</a>.</p>

<p>Once over the initial terminology hurdle, the novel setting of The Wildsea means that there&#39;s a lot of space for the players to add their own details. Being a narrative-focussed game we spent a lot of time asking and answering questions about the situations we found ourselves in. We made many decisions about the world that would already have been answered had we been in a well-known setting. What we built over the three hour session was ours, and I enjoyed that a lot.</p>

<p>My Wildsea session was definitely a high point of the convention. If the opportunity to play again comes up I&#39;ll definitely take it.</p>

<p><a href="https://blog.leadingzeroes.com/tag:BreakoutCon2026" class="hashtag"><span>#</span><span class="p-category">BreakoutCon2026</span></a></p>
]]></content:encoded>
      <guid>https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-the-wildsea</guid>
      <pubDate>Thu, 26 Mar 2026 12:42:06 +0000</pubDate>
    </item>
    <item>
      <title>The Games I Played at Breakout Con 2026: Brindlewood Bay</title>
      <link>https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-brindlewood-bay</link>
      <description>&lt;![CDATA[I attended Breakout Con 2026 last week. It was my first big convention in over a decade. I played 8 new (to me) TTRPGs over 4 days which is a record I don&#39;t think I&#39;ll beat any time soon. I hope to write down my thoughts on all of them eventually, starting with...&#xA;&#xA;!--more--&#xA;&#xA;Brindewood Bay&#xA;&#xA;Game homepage&#xA;&#xA;In Brindlewood Bay you play a team of little old ladies who solve murders in the titular coastal village. It&#39;s got all your daytime TV and literary mystery tropes, with each player choosing a &#34;Maven Move&#34; named after an iconic fictional detective. I chose Ms Marple, which meant that I could breeze my way into any location regardless of whether I was supposed to be there or not.&#xA;&#xA;The game revolves around collecting clues, which are vague enough that they don&#39;t narrow down the list of suspects too quickly. In fact, the key thing is that there isn&#39;t a pre-written solution to the mystery. It is the player&#39;s job to concoct a narrative based on the clues they find. The more clues they incorporate, the greater the bonus they can add when they make a &#34;Theorize&#34; move to try and solve the case.&#xA;&#xA;Building this narrative was satisfying, and the scenes where we gathered clues were a good mix of investigation, interrogation, and intrigue. Things escalated quickly and the pace felt well-suited to a game based on hour-long TV episodes.&#xA;&#xA;The one thing that I didn&#39;t grasp especially well was when or how we were should transition from gathering clues to solving the mystery. Given that we&#39;d stand a better chance of succeeding in our Theorize roll with more clues, we wanted to gather as many as possible. We had over a dozen when we reached the end of our session, which allowed us to solve with ease. If we hadn&#39;t had the constraints of the convention schedule I felt that we&#39;d have continued picking up clues until we simply couldn&#39;t fail. In theory there was a narrative time pressure too, but that didn&#39;t really come into play.&#xA;&#xA;Essentially, it never felt like it made sense to Theorize while the option of searching for clues was present. Maybe that&#39;s not a choice that the players are expected to be considering. Without a &#39;real&#39; solution to be uncovered there&#39;s no &#34;ah ha!&#34; moment where things fall into place. That&#39;s a big part of the material this game draws from, and I felt its absence.&#xA;&#xA;I really enjoyed my session playing Brindlewood Bay. If someone in my home group picked it up I&#39;d be very happy to play some more. There&#39;s a whole overarching mystery that I haven&#39;t even touched on here which you&#39;d uncover as you play through the course of a campaign.&#xA;&#xA;BreakoutCon2026]]&gt;</description>
      <content:encoded><![CDATA[<p>I attended <a href="https://breakoutcon.com/">Breakout Con 2026</a> last week. It was my first big convention in over a decade. I played 8 new (to me) TTRPGs over 4 days which is a record I don&#39;t think I&#39;ll beat any time soon. I hope to write down my thoughts on all of them eventually, starting with...</p>



<h2 id="brindewood-bay">Brindewood Bay</h2>

<p><a href="https://www.gauntlet-rpg.com/brindlewood-bay.html">Game homepage</a></p>

<p>In Brindlewood Bay you play a team of little old ladies who solve murders in the titular coastal village. It&#39;s got all your daytime TV and literary mystery tropes, with each player choosing a “Maven Move” named after an iconic fictional detective. I chose Ms Marple, which meant that I could breeze my way into any location regardless of whether I was supposed to be there or not.</p>

<p>The game revolves around collecting clues, which are vague enough that they don&#39;t narrow down the list of suspects too quickly. In fact, the key thing is that there isn&#39;t a pre-written solution to the mystery. It is the player&#39;s job to concoct a narrative based on the clues they find. The more clues they incorporate, the greater the bonus they can add when they make a “Theorize” move to try and solve the case.</p>

<p>Building this narrative was satisfying, and the scenes where we gathered clues were a good mix of investigation, interrogation, and intrigue. Things escalated quickly and the pace felt well-suited to a game based on hour-long TV episodes.</p>

<p>The one thing that I didn&#39;t grasp especially well was when or how we were should transition from gathering clues to solving the mystery. Given that we&#39;d stand a better chance of succeeding in our Theorize roll with more clues, we wanted to gather as many as possible. We had over a dozen when we reached the end of our session, which allowed us to solve with ease. If we hadn&#39;t had the constraints of the convention schedule I felt that we&#39;d have continued picking up clues until we simply couldn&#39;t fail. In theory there was a narrative time pressure too, but that didn&#39;t really come into play.</p>

<p>Essentially, it never felt like it made sense to Theorize while the option of searching for clues was present. Maybe that&#39;s not a choice that the players are expected to be considering. Without a &#39;real&#39; solution to be uncovered there&#39;s no “ah ha!” moment where things fall into place. That&#39;s a big part of the material this game draws from, and I felt its absence.</p>

<p>I really enjoyed my session playing Brindlewood Bay. If someone in my home group picked it up I&#39;d be very happy to play some more. There&#39;s a whole overarching mystery that I haven&#39;t even touched on here which you&#39;d uncover as you play through the course of a campaign.</p>

<p><a href="https://blog.leadingzeroes.com/tag:BreakoutCon2026" class="hashtag"><span>#</span><span class="p-category">BreakoutCon2026</span></a></p>
]]></content:encoded>
      <guid>https://blog.leadingzeroes.com/the-games-i-played-at-breakout-con-2026-brindlewood-bay</guid>
      <pubDate>Wed, 25 Mar 2026 18:01:29 +0000</pubDate>
    </item>
    <item>
      <title>Turns Out Making Games is Hard, Actually?</title>
      <link>https://blog.leadingzeroes.com/turns-out-making-games-is-hard-actually</link>
      <description>&lt;![CDATA[I&#39;ve been plugging away at my little prototype that I mentioned last time. At the time I said I was hoping to have something to show off at the end of the week. That was a couple of weeks ago, and I don&#39;t have anything to show off. Let&#39;s examine that a little bit.&#xA;!--more--&#xA;I&#39;ve had a mental screenshot of the final puzzle design for a while now. The coded message on the right, the character conversation table in the middle, and the output on the right. Once it&#39;s part of a larger game there would also likely be a button to bring up notes/clues/reference that you&#39;ve gathered elsewhere. But for the prototype that will be absent.&#xA;&#xA;The only thing I&#39;ve been spending my time on so far is the underlying encoding/decoding implementation. I&#39;ve found this slow to complete for a couple of reasons.&#xA;&#xA;As I alluded to in the last post, I&#39;m unfamiliar with the environment. GDScript, the built-in language Godot provides, has enough little differences from my preferred language (ruby) that getting to grips with simple tasks is non-trivial. Consider joining the elements of an array into a String. In ruby that would by myarray.join(&#34;,&#34;). In GDScript, join is an instance method on String, so you write &#34;,&#34;.join(myarray)&#34; which throws me off every time. It also has significant whitespace which is just evil.&#xA;&#xA;I have a bad habit of over-optimising code before even writing it down. My first implementation of the encoding had an array whose values were Godot Key constants, which are integers. This storage efficient, but required extra steps to actually use as the values had to be converted back to printable strings through another lookup table before they could be displayed. Storage efficiency isn&#39;t even a good thing to optimise for here! This array will only ever have a couple of hundred of entries at the absolute maximum, so organising it to make it easy for me, the developer, to work with is far more important.&#xA;&#xA;Now I store the actual character I want to print at its corresponding index in the array. so my encoding might be [&#34;a&#34;, &#34;b&#34;, &#34;c&#34;, &#34;d&#34;]. To encode a piece of text I simply run a find for each character, convert the index to its hex value, and throw that into an array. When I&#39;ve finished I join the array into a space-separated string and I&#39;m done. The reverse is also easy. Split the incoming string on spaces, find the decimal values of each item, and use those to index into my encoding array. String goes in, String comes out, with only one intermediate representation required. Much better.&#xA;&#xA;It&#39;s been a longer haul than I expected getting to the stage where I can start working on actual gameplay, but I think it&#39;s close now. We&#39;ll see. Sitting down to do the work is proving difficult, so I&#39;m not spending as much time as I want on the project and the gaps are long enough that I have to reorient myself each time I start. I&#39;ll have to see if I can improve on the frequency with which I spend time on this.&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>I&#39;ve been plugging away at my little prototype that I mentioned <a href="https://blog.leadingzeroes.com/a-concept-for-a-video-game-puzzle-mechanic">last time</a>. At the time I said I was hoping to have something to show off at the end of the week. That was a couple of weeks ago, and I don&#39;t have anything to show off. Let&#39;s examine that a little bit.

I&#39;ve had a mental screenshot of the final puzzle design for a while now. The coded message on the right, the character conversation table in the middle, and the output on the right. Once it&#39;s part of a larger game there would also likely be a button to bring up notes/clues/reference that you&#39;ve gathered elsewhere. But for the prototype that will be absent.</p>

<p>The only thing I&#39;ve been spending my time on so far is the underlying encoding/decoding implementation. I&#39;ve found this slow to complete for a couple of reasons.</p>

<p>As I alluded to in the last post, I&#39;m unfamiliar with the environment. GDScript, the built-in language Godot provides, has enough little differences from my preferred language (ruby) that getting to grips with simple tasks is non-trivial. Consider joining the elements of an array into a String. In ruby that would by <code>my_array.join(&#34;,&#34;)</code>. In GDScript, <code>join</code> is an instance method on String, so you write <code>&#34;,&#34;.join(my_array)&#34;</code> which throws me off <em>every</em> time. It also has significant whitespace which is just evil.</p>

<p>I have a bad habit of over-optimising code before even writing it down. My first implementation of the encoding had an array whose values were Godot <code>Key</code> constants, which are integers. This storage efficient, but required extra steps to actually use as the values had to be converted back to printable strings through another lookup table before they could be displayed. Storage efficiency isn&#39;t even a good thing to optimise for here! This array will only ever have a couple of hundred of entries at the absolute maximum, so organising it to make it easy for me, the developer, to work with is far more important.</p>

<p>Now I store the actual character I want to print at its corresponding index in the array. so my encoding might be <code>[&#34;a&#34;, &#34;b&#34;, &#34;c&#34;, &#34;d&#34;]</code>. To encode a piece of text I simply run a <code>find</code> for each character, convert the index to its hex value, and throw that into an array. When I&#39;ve finished I join the array into a space-separated string and I&#39;m done. The reverse is also easy. Split the incoming string on spaces, find the decimal values of each item, and use those to index into my encoding array. String goes in, String comes out, with only one intermediate representation required. Much better.</p>

<p>It&#39;s been a longer haul than I expected getting to the stage where I can start working on actual gameplay, but I think it&#39;s close now. We&#39;ll see. Sitting down to do the work is proving difficult, so I&#39;m not spending as much time as I want on the project and the gaps are long enough that I have to reorient myself each time I start. I&#39;ll have to see if I can improve on the frequency with which I spend time on this.</p>
]]></content:encoded>
      <guid>https://blog.leadingzeroes.com/turns-out-making-games-is-hard-actually</guid>
      <pubDate>Sat, 14 Mar 2026 16:40:59 +0000</pubDate>
    </item>
    <item>
      <title>A Concept for a Video Game Puzzle Mechanic</title>
      <link>https://blog.leadingzeroes.com/a-concept-for-a-video-game-puzzle-mechanic</link>
      <description>&lt;![CDATA[If you&#39;ve ever used Wireshark or other network packet inspection tools, you&#39;ll be familiar with seeing raw byte data presented as a string of pairs of hexadecimal digits.&#xA;&#xA;If you haven&#39;t, then perhaps you&#39;ll know what ASCII or Unicode is. Because of how text is stored on computers, each character is assigned a number. Sometimes it&#39;s valuable to display those numbers, and thanks to the underlying binary representation, this can be done compactly by using the hexadecimal representation of the number. This is much easier to understand with a picture:&#xA;&#xA;Source: https://en.wikipedia.org/wiki/ASCII#Character_set&#xA;&#xA;Converting hex values to their character equivalents is trivial when you have the appropriate lookup table, like the one above. My question is, would it be an interesting puzzle to build that lookup table yourself based on some encoded input?&#xA;&#xA;!--more--&#xA;&#xA;The gameplay I&#39;m picturing is this. Each puzzle is a block of hex data which you know represents the text someone typed, and you have to build the lookup table to decode it. You&#39;d be able to make some deductions based on common themes. If you know the code for d, then your next step should probably be to try assigning increasing numbers to e, f, g, and so on. There wouldn&#39;t be hard logical steps to solving each puzzle like you&#39;d get with a Nonogram or Sudoku. Rather it would be obvious when you&#39;re making progress because the output text would become more and more readable. I imagine you&#39;d need to start out with a few characters placed on the lookup table to get you started.&#xA;&#xA;A concern is that the novelty might quickly run out. With that in mind, I&#39;m working on a small prototype that will let me quickly create these puzzles and then put them up on the web for people to explore. I&#39;m working with the Godot engine for this. It&#39;s still very new to me so I&#39;m at the stage where every line of code I write requires me to look at the documentation. The going is slow, but I&#39;m making progress. Here&#39;s an underwhelming screenshot of where I&#39;m at today:&#xA;&#xA;With any luck I&#39;ll have something to actually show off by the end of the week.&#xA;&#xA;#GameDev #GodotEngine #IndieDev]]&gt;</description>
      <content:encoded><![CDATA[<p>If you&#39;ve ever used Wireshark or other network packet inspection tools, you&#39;ll be familiar with seeing raw byte data presented as a string of pairs of hexadecimal digits.</p>

<p>If you haven&#39;t, then perhaps you&#39;ll know what ASCII or Unicode is. Because of how text is stored on computers, each character is assigned a number. Sometimes it&#39;s valuable to display those numbers, and thanks to the underlying binary representation, this can be done compactly by using the hexadecimal representation of the number. This is much easier to understand with a picture:</p>

<p><img src="https://img.leadingzeroes.com/hex-ascii-table.png" alt="">
Source: <a href="https://en.wikipedia.org/wiki/ASCII#Character_set">https://en.wikipedia.org/wiki/ASCII#Character_set</a></p>

<p>Converting hex values to their character equivalents is trivial when you have the appropriate lookup table, like the one above. My question is, would it be an interesting puzzle to build that lookup table yourself based on some encoded input?</p>



<p>The gameplay I&#39;m picturing is this. Each puzzle is a block of hex data which you know represents the text someone typed, and you have to build the lookup table to decode it. You&#39;d be able to make some deductions based on common themes. If you know the code for <code>d</code>, then your next step should probably be to try assigning increasing numbers to <code>e</code>, <code>f</code>, <code>g</code>, and so on. There wouldn&#39;t be hard logical steps to solving each puzzle like you&#39;d get with a Nonogram or Sudoku. Rather it would be obvious when you&#39;re making progress because the output text would become more and more readable. I imagine you&#39;d need to start out with a few characters placed on the lookup table to get you started.</p>

<p>A concern is that the novelty might quickly run out. With that in mind, I&#39;m working on a small prototype that will let me quickly create these puzzles and then put them up on the web for people to explore. I&#39;m working with the <a href="https://godotengine.org/">Godot engine</a> for this. It&#39;s still very new to me so I&#39;m at the stage where every line of code I write requires me to look at the documentation. The going is slow, but I&#39;m making progress. Here&#39;s an underwhelming screenshot of where I&#39;m at today:</p>

<p><img src="https://img.leadingzeroes.com/early-prototype.png" alt=""></p>

<p>With any luck I&#39;ll have something to actually show off by the end of the week.</p>

<p><a href="https://blog.leadingzeroes.com/tag:GameDev" class="hashtag"><span>#</span><span class="p-category">GameDev</span></a> <a href="https://blog.leadingzeroes.com/tag:GodotEngine" class="hashtag"><span>#</span><span class="p-category">GodotEngine</span></a> <a href="https://blog.leadingzeroes.com/tag:IndieDev" class="hashtag"><span>#</span><span class="p-category">IndieDev</span></a></p>
]]></content:encoded>
      <guid>https://blog.leadingzeroes.com/a-concept-for-a-video-game-puzzle-mechanic</guid>
      <pubDate>Sun, 15 Feb 2026 16:20:03 +0000</pubDate>
    </item>
    <item>
      <title>My (Lack of) History with Video Game Development</title>
      <link>https://blog.leadingzeroes.com/my-lack-of-history-with-video-game-development</link>
      <description>&lt;![CDATA[I&#39;ve always loved video games, or &#34;computer games&#34;, which I think is a British-ism although I&#39;m not sure if it&#39;s still in use. My family had a PC in our house from the early 90s, and before that a BBC Micro. There&#39;s a photograph somewhere of me as a toddler sitting at the Micro with my Dad crouched behind me.&#xA;!--more--&#xA;The point is that I have a long history playing video games. A big one was the original Half-Life, from 1998. It was the first game that I understood could be modded with user contributions. I swapped the crowbar for a light sabre. I added Trinity from The Matrix as a playable skin in multiplayer. Opponents in online matches couldn&#39;t see these customisations, that functionality didn&#39;t exist, but it was still fun.&#xA;&#xA;The big thing I did was download and play custom maps. The quality was all over the place, but there were some real gems. I remember one in particular that was a series of connected rooms and corridors that you had to clear of soldiers, and each time you played their placement was randomised. To control this, the player spawned in a small chamber that contained a mounted machine gun pointing at a blank wall several feet away. The wall had several invisible buttons on it, each of which would spawn some soldiers in the main level when hit with a bullet. Because the bullets fired in a random spread pattern, you&#39;d get a different set of spawns each time. Even better, the longer you fired the gun for before leaving, the harder the level would be. Genius!&#xA;&#xA;Half-Life shipped with a level editor, which was called WorldCraft at the time. I spent many hours building my own little levels, learning about its capabilities and limitations. I built everything in the editor, I don&#39;t know if importing meshes was even a thing back then. Whenever I&#39;ve looked at 3D game engines more recently, I&#39;m daunted by the prospect of so much work being done to build meshes in external programs and then bringing them in.&#xA;&#xA;I never published any of my work, and I have to imagine that the hard drives they were on are long gone. Making my own games has always remained a &#34;one day&#34; thing at the back of my head. I&#39;ve learned how to program and made it my career in the 25+ years since I last touched a Half-Life level. Several times I&#39;ve thought &#34;Now&#39;s the time&#34; but each time I&#39;ve opened up Unreal Engine (or other 3D engines) I&#39;ve been scared away by the complexity.&#xA;&#xA;There&#39;s a mantra in film-making that I learned recently, which goes &#34;Only write what you can shoot&#34;. This makes sense, and made me realise that I should apply the same idea to my own attempts to make video games. For me, this means ditching the third dimension and looking at 2D games. In fact, the real-time aspect can probably go too. I&#39;m a big problem solver, so maybe some kind of puzzle or mystery aspect? Games like the Golden Idol series, The Roottrees are Dead, and Type Help are some of my favourites that don&#39;t have complex technical systems behind them (not to diminish the work that went into them, of course. Just that the kind of work is more up my street).&#xA;&#xA;Spoilers: Yes. That&#39;s the kind of game I&#39;m exploring. I&#39;m slowly picking up the Godot engine, which has robust 2D capabilities. I hope to write more about that in the future through the lens of the game idea(s) I&#39;m exploring.]]&gt;</description>
      <content:encoded><![CDATA[<p>I&#39;ve always loved video games, or “computer games”, which I think is a British-ism although I&#39;m not sure if it&#39;s still in use. My family had a PC in our house from the early 90s, and before that a BBC Micro. There&#39;s a photograph somewhere of me as a toddler sitting at the Micro with my Dad crouched behind me.

The point is that I have a long history playing video games. A big one was the original Half-Life, from 1998. It was the first game that I understood could be modded with user contributions. I swapped the crowbar for a light sabre. I added Trinity from The Matrix as a playable skin in multiplayer. Opponents in online matches couldn&#39;t see these customisations, that functionality didn&#39;t exist, but it was still fun.</p>

<p>The big thing I did was download and play custom maps. The quality was all over the place, but there were some real gems. I remember one in particular that was a series of connected rooms and corridors that you had to clear of soldiers, and each time you played their placement was randomised. To control this, the player spawned in a small chamber that contained a mounted machine gun pointing at a blank wall several feet away. The wall had several invisible buttons on it, each of which would spawn some soldiers in the main level when hit with a bullet. Because the bullets fired in a random spread pattern, you&#39;d get a different set of spawns each time. Even better, the longer you fired the gun for before leaving, the harder the level would be. Genius!</p>

<p>Half-Life shipped with a level editor, which was called <a href="https://combineoverwiki.net/wiki/Valve_Hammer_Editor">WorldCraft</a> at the time. I spent many hours building my own little levels, learning about its capabilities and limitations. I built everything in the editor, I don&#39;t know if importing meshes was even a thing back then. Whenever I&#39;ve looked at 3D game engines more recently, I&#39;m daunted by the prospect of so much work being done to build meshes in external programs and then bringing them in.</p>

<p>I never published any of my work, and I have to imagine that the hard drives they were on are long gone. Making my own games has always remained a “one day” thing at the back of my head. I&#39;ve learned how to program and made it my career in the 25+ years since I last touched a Half-Life level. Several times I&#39;ve thought “Now&#39;s the time” but each time I&#39;ve opened up Unreal Engine (or other 3D engines) I&#39;ve been scared away by the complexity.</p>

<p>There&#39;s a mantra in film-making that I learned recently, which goes “Only write what you can shoot”. This makes sense, and made me realise that I should apply the same idea to my own attempts to make video games. For me, this means ditching the third dimension and looking at 2D games. In fact, the real-time aspect can probably go too. I&#39;m a big problem solver, so maybe some kind of puzzle or mystery aspect? Games like <a href="https://www.thegoldenidol.com/">the Golden Idol series</a>, <a href="https://roottrees.com/">The Roottrees are Dead</a>, and <a href="https://william-rous.itch.io/type-help">Type Help</a> are some of my favourites that don&#39;t have complex technical systems behind them (not to diminish the work that went into them, of course. Just that the <em>kind</em> of work is more up my street).</p>

<p>Spoilers: Yes. That&#39;s the kind of game I&#39;m exploring. I&#39;m slowly picking up the <a href="https://godotengine.org/">Godot engine</a>, which has robust 2D capabilities. I hope to write more about that in the future through the lens of the game idea(s) I&#39;m exploring.</p>
]]></content:encoded>
      <guid>https://blog.leadingzeroes.com/my-lack-of-history-with-video-game-development</guid>
      <pubDate>Fri, 13 Feb 2026 16:41:10 +0000</pubDate>
    </item>
  </channel>
</rss>