<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>James Poole&apos;s Game Dev Bits</title><link>https://james.poole.ie</link><description>Notes and thoughts on game development and my process.</description><item><title>Mind Your Memory! A Tiny Bevy Performance Investigation Story.</title><link>https://james.poole.ie/notes/wee-3-memory.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-3-memory.html</guid><pubDate>Wed, 17 Apr 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Mind Your Memory! A Tiny Bevy Performance Investigation Story.</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Mind Your Memory! A Tiny Bevy Performance Investigation Story.</h1>
<h4 id="date">2024-04-17</h4>
<p>I've spent the last couple of days trying to track down some performance problems with Wee Boats. It hasn't been a lot of fun but I have learnt some things and I want to write them down so I don't forget. Maybe I'm a thick eejit for not knowing this, and my conclusions are probably wrong in many ways but sure look, what can ya do.</p>
<p>For a little context, we are making Wee Boats using Rust and the Bevy Game Engine.</p>
<h2>Main Learning</h2>
<p><em>Files take up much more space when they are loaded into RAM than when they are on disk. An example is a jpg can expand to about 10 to 12 times its size when loaded into memory. :O</em></p>
<h2>The Initial Situation</h2>
<p>We want everything to load as fast as possible in Wee Boats. The easiest way to do this is to load all our assets into the game on startup and then everything is ready to go. Super! Our assets folder with images and music is currently around 200MB so my assumption was that we would be dropping about 200MB into RAM, and I was ok with that! I generally test on my desktop with far too much RAM for its own good so I didn't see any problems.</p>
<h2>Ah shite, there's a problem?</h2>
<p>It was only when moving to my laptop with 8GB RAM that I would notice the game really struggling on startup. I thought this was just the game being a bit slow to read from disk. My initial thought for solving this was just to pause running the actual game until we finish this loading process.</p>
<p>For the craic, I went to check the system monitor to see if it showed anything interesting and then I saw that the game would suddenly want to hog about 3GB of RAM, all in one munch. And then the stalling of the game was the laptop running out of RAM and needing to turn to slower SWAP memory.</p>
<h2>3GB of RAM?</h2>
<p>How is that even possible? That's a load and this is only a lil game.</p>
<p>My initial hunch was wondering if I was loading images several times into memory for every time it was spawned into the world. Turns out this wasn't the case as the <code>asset_server.load()</code> function in Bevy keeps track if the asset has already been loaded and returns back an id of the asset to you. Alright, I've learned something there.</p>
<p>I headed desperately to the Discord for help where I was told that files like .jpgs and .pngs are actually compressed on disk and expand by about 10 to 12 times their size when loaded into memory. Ah bugger, I didn't know that! I suppose that's a new thing learnt.</p>
<h2>Change in Plan!</h2>
<p>Well now I need to re think my &quot;load everything on startup&quot; strategy. I can't be at that any more. Knowing this, I now see the worst offender images and am in the middle of implementing a lazy loading system. For our logbook sketches, we will load in the images for the nearest pages that you're on and load and unload as you page through the logbook. Its a bit more of a hassle to implement but we now use about 600MB of RAM. I can defo still improve on that but we have the back broken in this now!</p>
<h2>Profiling Troubles with Bevy</h2>
<p>I find profiling with Bevy difficult. I have tried using Tracy but firstly its tricky to get running. I can't get it running on Linux for love nor money and then have to go to Windows where they have an easier to run binary. The time I did get it running, I couldn't understand what was going on with my readings. It was hard to parse the data at all to find actionable areas of improvements. This friction is enough for me to fall off from using these tools at all with Bevy which is a big loss. It would be class if Bevy made it easy to get into the details of how my game runs and where the problem areas are!</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Submitting Wee Boats to A Maze 2024</title><link>https://james.poole.ie/notes/wee-2.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-2.html</guid><pubDate>Wed, 03 Apr 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Submitting Wee Boats to A Maze 2024</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Submitting Wee Boats to A Maze 2024</h1>
<h4 id="date">2024-04-03</h4>
<h2>1 Week Before Submission</h2>
<p>It is currently January 24 and we have a week left before the submission date for A Maze. A Maze is a small festival for experimental games and interactive art that I have attended the last few years.</p>
<p>Its very easy to feel like nobody is out there or trying your games when you release them online. In my experience, even with a nice amount of downloads, I hear very little back from those who do try out the games. Did they have a nice time? Did they hate it? Did it inspire them to do something afterwards? I'm not sure, because even if they did, that get's lost over the internet.</p>
<p>This is why I value the likes of A Maze because it brings like minded people together, to play cool games and share experiences. It felt like real people were playing the things that we made :O !</p>
<p>This is why bringing Wee Boats to the festival has been a big goal since the outset of the project. We want to get it into people's hands and feel how they experience it! However its not something that we can take for granted as we must first submit and be nominated for an award to be able to exhibit a project. It's a long shot with the quality of the games there but lets see how we go.</p>
<p>The game is not finished so we are doing our best to pull together a demo that we can submit that will portray the feel of the game. Its so cool to see everything coming together after about a year of the project looking quite janky in some way. We have lots of ingredients all over the place and now is when we start to put them together into a neat little package.</p>
<p>We have music coming in, logbook sketches and the world continues to be filled with life and new things to find!</p>
<p>Submitting it is also forcing me to think about a lot of the things important for releasing a game that I have not needed to think about over the last year.
Some of these are:</p>
<ol>
<li>Figuring out how to make builds for Windows, Mac and Linux.</li>
<li>Coming up with an app icon.</li>
<li>Making sure the window opens in the right way in full screen.</li>
<li>Explaining the controls.</li>
<li>User testing D:</li>
</ol>
<p>Currently, I have managed to get a working build for Windows and for Linux. Mac has decided that it won't cooperate. This is an important one to have though so I am going to pray to the Apple gods and give this another go in the coming days.</p>
<h2>2 Months After Submission</h2>
<p>It is now April 3rd and I am back writing again to give a little post-mortem of the last months. We went hell for leather in the run up to the submission deadline. It was a week of late evenings Wee Boating. Its crazy the number of things that need to get done in order to prepare a game for any kind of a release, even for this vertical slice demo.</p>
<p>There is a lot of hidden work in getting a game ready for a new person to pick up it up and have a fun time with it. Creating builds, reducing build size, explaining controls, last minute features, testing on the different platforms, fixing bugs.</p>
<p>The Mac version of the game was being a nightmare so we threw that in the bin and went to focus on just the Windows version and getting that as robust as we could.</p>
<p>And of course, after a pretty chill year of dev with very few bugs, the last day is when a couple of humdingers came to say hello. The game would give a white screen and nothing else sometimes and sometimes the music wouldn't start. Super!</p>
<p>We managed to submit a demo that we were happy with but it fairly wrecked us! If you look at the picture below, you can see us scrambling in those dark green days at the end of January and then it goes dead in the subsequent weeks where I couldn't face the computer again. I'm still recovering from it to be honest and still trying to get back on the saddle.</p>
<p><img src="images/Pasted%20image%2020240403215859.png" alt="Github Activity" /></p>
<p>In the end we didn't get nominated for an award which is a shame but it is to be expected because the game is still in quite an early state. While its charming now, I don't think it has that punch that a properly polished piece has yet. We do however have a 2 hour demo slot at the festival to show it off so that will be another milestone to aim towards and get some people trying it out.</p>
<h2>Working on a New Area!</h2>
<p>As a part of trying to wrap up development on Wee Boats, we are working on what we want the end game to be like. The goal is to have a nice surprise for those who stick around until the end and have it feel fulfilling in a Wee Boatsy way.</p>
<p>I am not going to spoil what that is yet but we have something in the works that we are pretty hyped about!</p>
<h2>Working on the Wheel!</h2>
<p><img src="images/wip_papier_mache_wheel.jpg" alt="Picture of a Papier Mache Wheel" /></p>
<p>As a part of our on site demo, we have been constructing some of our own hardware to control the game! One of the pieces is a ships wheel to mount to the desk. The logic for controlling the boat is different to how we have so far been doing it with the keyboard so recently we have been doing little bits with getting that wheel experience nice. More specific info and videos will come for this soon!</p>
<h2>Starting work on the online components!</h2>
<p>While Wee Boats will be fully playable offline, we are planning on adding some optional online elements to add extra depth to the experience. The first part that we are working on is adding messages in bottles!</p>
<p>The idea is that you might come across a bottle from another player, dropped sometime in the past and see what their little message to the world was. And likewise, you can then drop a thought into the Wee Boats ocean for a future sailor to find.</p>
<p>We are programming our server and client code for this at the moment to save and update the messages. Its going well so far and we will then be moving on to implementing the UI and in game assets for it!</p>
<h2>That's all for now</h2>
<p>We have about a month until the demo in Berlin so the focus will be on bringing the game further and then polishing like heck again before that. Hopefully I will get some more pieces written for it because I have a growing list of things I want to share! See ye soon!</p>
<footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Game Number 3</title><link>https://james.poole.ie/notes/nr3.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/nr3.html</guid><pubDate>Sat, 01 Aug 2020 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Game Number 3</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Game Number 3</h1>
<h4 id="date">2020-08-01</h4>
<p>There is another game in the works! This time I have no clue if it is going to be any good at all. It is a slightly larger project than my previous outings so I am still trying to figure out how to go about it. I haven't fully wrapped my head around it yet but my hope for writing down these bits is to help clear my thoughts.</p>
<p>The goal of the game is to create an interactive environment to explore the mess of thoughts that we get on a daily basis. I can get easily carried away with negative or emotional thoughts and this is a project to try and make me pause and take control of some of them.</p>
<p><img src="images/post_1_dance_1.gif" alt="Dancing Character" /></p>
<p>While that is my goal and direction, how it will take shape as an interactive experience, I am still unsure. The initial brainstorming of a project can be fun and inspirational as you go off in different directions coming up with new and exciting ideas. Sitting down to make that a reality however is what I am finding so tough.</p>
<p> What is the game at its core?</p>
<p> How is the world going to look and feel?</p>
<p> What will the players find engaging in the world?</p>
<p><img src="images/post_1_dance_2.gif" alt="Dancing Character" /></p>
<p>I am currently creating a prototype of the world that is in my head to try and help answer some of these questions. A small space that contains the core ideas to be explored and give a representation of what the full game will be like. From this, I can get a feel of what works and what doesn't. I still have questions that I haven't fully solved but my hope is that by building upon this prototype, new ideas will come and go and one or two of them might give me something that will bring me forward.</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Do Your Own Research (Feck What Jonathan Blow Thinks)</title><link>https://james.poole.ie/notes/dyor.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/dyor.html</guid><pubDate>Mon, 09 Dec 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Do Your Own Research (Feck What Jonathan Blow Thinks)</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Do Your Own Research (Feck What Jonathan Blow Thinks)</h1>
<h4 id="date">2024-12-09</h4>
<h2>The Shite Talk</h2>
<p>I listen to far too much programming shite talk on the internet. Twitter opinions. YouTube opinions. Hacker News opinions. The whole feckn lot. I feel like I am constantly steered by it. Most of the shite talk comes from people with far more experience than I do and some of it is probably very valid. But also, who knows? It could be a load of useless nonsense.</p>
<p>Even if I can pull out the most truthful and wise morsels of signal from the noise, how good of a programmer am I ever going to be if I just parrot off what I have read online? Not very good probably. I'm about 2 questions away from not knowing what I'm talking about because I haven't done my own research.</p>
<p>I often feel guilty or ashamed for the things that I try out and work on. Guilty because it doesn't line up with what I've read someone say online. It's probably &quot;wrong&quot; or I am using &quot;the wrong tool for the job&quot; or that my architecture is not solving the problem optimally or some shite like that.</p>
<h2>2 Quick Examples</h2>
<ol>
<li>
<p>I learned about ECS a few years back and wanted to try out the concept. However, throughout the experience I am reading <a href="https://x.com/Jonathan_Blow/status/1427358365357789199">tweet</a> after <a href="https://x.com/Jonathan_Blow/status/1427357521371549705">tweet</a> about why ECS is a waste of my time. The thoughts are again, probably valid, but then I get more decision paralysis when my brain starts telling me that I'm wasting my time. But the point is to learn about ECS and what is good and bad about it. Ignore Jonathan Blow and do your own research.</p>
</li>
<li>
<p>Recently, I have seen some cool things with using Ruby for game development and I want to try it but DragonRuby in particular seems to have some neat things going on (fast iteration time, hot reloading, neat live console, apparently Ruby is nice to write). But by even writing that I feel like I will be forever put in the game developer bin. Who on earth would make a game in a slow yoke like Ruby? But I'm going to hold fast and follow my enthusiasm. Maybe it will lead to a new world of productivity. Or maybe I'll find some dealbreaking cons for me. Whatever happens, I'll have reached my own conclusions.</p>
</li>
</ol>
<h2>Its OK</h2>
<p>This little piece is a reminder to myself that its OK to go do the stupid thing. I'll learn my own way, using real experiences to form opinions and build my preferences. And who knows, maybe that will lead to some other discoveries that online ranters aren't going to see because they are too busy (Jonathan) blowing hot air up each others arses.</p>
<p>Feck Jonathan Blow for his know it all rants condescending on us all as if we are thick eejits. I'm still going to listen to the bollix because he is class but I am also not going to feel bad for trying out what he thinks is stupid. I'll learn me own way what works best for me and if I learn from experience why something doesn't work, then that's also class and I now have another bit of tested knowledge in the bank.</p>
<p>Dog bless</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Introducing the Wee Wheel!</title><link>https://james.poole.ie/notes/wee-wheel-1.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-wheel-1.html</guid><pubDate>Thu, 26 Dec 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Introducing the Wee Wheel!</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Introducing the Wee Wheel!</h1>
<h4 id="date">2024-12-26</h4>
<p>Over the last few months, we have brought early versions of Wee Boats to two different events where it would be playable on an exhibition floor. This poses some challenges to make the game fit the environment. I personally have a tough time engaging with games or interactive pieces in exhibition situations.</p>
<p>I walk up to a game...</p>
<ul>
<li>What are the controls?</li>
<li>Is the game in the middle of somebody else's previous play session?</li>
<li>Do I need to go through a tutorial?</li>
<li>What is the time commitment?</li>
<li>Am I able take part without blocking out those around me?</li>
</ul>
<p>With all these small mental barriers, I often will pass the games by with the aim of coming back when I am in the zone. I'm not sure if others feel the same way but if its something I definitely have noticed in myself at game festivals so maybe we can try and reduce that feeling for people walking past Wee Boats.</p>
<p>With this in mind, how can we make Wee Boats shine at events? We want people to be able pick it up at any point and feel like they can immediately take part. No controls to learn. No backstory or context required to understand whats going on. Just go boating and get lost in the exploration that comes!</p>
<h1>Bring in the Wee Wheel!</h1>
<p>The largest part of addressing this is with our handmade ship's wheel called the Wee Wheel! For exhibitions, instead of using a keyboard or a game controller, Wee Boats has been playable with this papier mache wheel.</p>
<p>We have found that people understand how to play from just seeing this at a distance. The goal is to signify that there are no complicated controls to learn, just grab the wheel and you are gaming! This has been extremely effective and has brought us a lot of joy seeing how people play with the game.</p>
<p>Laura and Brendan made the first version of the Wee Wheel that we brought to Berlin. This is us posing with our work of art.</p>
<p><img src="images/wee_team_amaze_dither.png" alt="" />
<img src="images/berlin_wheel.jpg" alt="" />
Due to logistical issues with getting this wheel to Norway, I made another version of the wheel for the Piksel Festival. This means that now at the time of writing, there are two Wee Wheels in existence! What a time to be alive!</p>
<p><img src="images/piksel_wheel.png" alt="" /></p>
<h2>Handmadeness</h2>
<p>The Wee Wheel is unashamedly toy like. It is made of cardboard, paper, masking tape and glue. It is playfully painted with acryllic paints and fat brushes. This is counter to the &quot;gamer&quot; style that computing is often associated with. RGB lights, hard pointed edges, neon green. Let's bring cardboard and duct tape into computing! DIY Punk computing! This scrappiness also is a signifier of a low barrier to entry and that this is something for everyone, not just &quot;gamers&quot;.</p>
<p><img src="images/piksel_wheel_wip_1.png" alt="" /></p>
<p>In an upcoming piece, I will write a bit more about how we actually made the wheel. Little bit of techin' and a little bit of paperin'.</p>
<p>Wee Boats is not out yet but you can sign up to the newsletter <a href="https://mailchi.mp/18efdca94182/newsletter">(here!)</a> to get a heads up when its coming out and you can check out the game page on <a href="https://jamespoole.itch.io/wee-boats">Itch.io here</a></p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>How We Arrived at Stuart&apos;s Perfect Day</title><link>https://james.poole.ie/notes/stuart-1.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/stuart-1.html</guid><pubDate>Sun, 13 Oct 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>How We Arrived at Stuart's Perfect Day</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>How We Arrived at Stuart's Perfect Day</h1>
<h4 id="date">2024-10-13</h4>
<p>We are a team of three based in Norway. This was our first game jam together so we are far from being seasoned jammers with effective plans and routines (We have none! :D). Our aim was to have a bit of fun and see if we could come up with something unexpected over the weekend.</p>
<p>The only prep we had done was from Fredrik, our in-house designer and artist, had done some concept sketches to get a feel for an art style that we wanted to aim for. These were the concepts:</p>
<p><img src="images/concepts.jpg" alt="" /></p>
<p>Saturday morning arrived, along with the theme and we started throwing out ideas around the Tiny Creatures.</p>
<h2>Quick Prototypes</h2>
<p>Fredrik also happens to be lethal at the oul Construct 3. He can bang out 2 prototypes before you can say &quot;So what engine are we using?&quot;. While we sat in the first coffee shop of the weekend, he took one of our early concepts and got a quick version going. We could then see how that played, riff off it and do a good few &quot;what if&quot;s and see where it would lead us.</p>
<p>We went through about 3 or 4 of these.</p>
<p>A platformer...
<img src="images/Squares0.gif" alt="" /></p>
<p>Another platformer...
<img src="images/Squares1b.gif" alt="" /></p>
<p>A circly platformer...
<img src="images/Circles0b.gif" alt="" /></p>
<p>An arty platformer...</p>
<p><img src="images/Pearl.gif" alt="" /></p>
<p>...and they all could have gone somewhere but they weren't lighting our world on fire. Instead of choosing one and going for it like we should have, we decided to park them and try something else.</p>
<p>We returned to Fredrik's concept sketches in search of inspiration and decided to capture the boat sketch in something simple that incorporated some tiny creatures. Fishing game! Lets go! Suddenly this brought life back into the gang imagining the world that could belong to the image.</p>
<p>Saturday evening, in the dark corner of a cafe/bar situation in Bergen, we set off at trying to figure out this world of Stuart and started bringing it all to life.</p>
<p><img src="images/vagal.jpg" alt="" /></p>
<p>At this point we are almost a day down with nothing substantial towards a submit-able project. However, without being able to try out those different ideas quickly, we wouldn't have found Stuart. Being able to test the ideas in reality as opposed to concepts in our heads or on paper was beyond helpful.</p>
<p>For the rest of the jam, we needed to scope down even more than normal since we had about 1 day to get the rest done but we were still able arrive at something that brought us joy!</p>
<p>You can see the Ludum Dare page for Stuart's Perfect Day here: <a href="https://ldjam.com/events/ludum-dare/56/stuarts-perfect-day">https://ldjam.com/events/ludum-dare/56/stuarts-perfect-day</a></p>
<p>And here is a timelapse of Stuart and is world coming to life...</p>
<p><img src="images/StuartsTimelapse.gif" alt="" /></p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Recreating an Image with Raylib</title><link>https://james.poole.ie/notes/19032025.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/19032025.html</guid><pubDate>Wed, 19 Mar 2025 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Recreating an Image with Raylib</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Recreating an Image with Raylib</h1>
<h4 id="date">2025-03-19</h4>
<p>Recently, a friend of mine, Micheál Keating, took some <a href="https://www.instagram.com/p/DGiKUgLtE3H/?utm_source=ig_web_copy_link&amp;igsh=MzRlODBiNWFlZA%3D%3D&amp;img_index=9">phenomenal photographs</a> that captured me. Thousands of Starlings moving together in a dance, mad patterns that disappear as fast as they form. Nature being a powerful and unreal force. Some yoke!</p>
<p>It moved me to try and create an interactive scene inspired by the photographs. An experience where a person could sit into the photograph for a moment and see the birds moving around them.</p>
<p>I feel like its a nice scope of a project and has a few areas that I can try and learn a few things.</p>
<p>I am going to write the game in C, use the Boid Algorithm to simulate the flock of birds and try out some shader programming to try and create the feel of the photograph.</p>
<h2>So Far...</h2>
<p>This video clip is a terrible quality visual of where I am at at the moment.</p>
<p><img src="images/Honeycam%202025-03-18%2022-28-36.webp" alt="" /></p>
<p>I have boids that are kinda boidish moving around the sky that I want to tune a little better. And I have a greyscale, film grain filter that is almost completely lost in that recording.</p>
<p>The code is available to look at and run here: <a href="https://github.com/JamesGallagherPoole/Birdwatching">My Github</a></p>
<h2>C and Raylib</h2>
<p>I have been wanting to get a feel for using C for game development recently so this is a good candidate for testing out that in.</p>
<p>Some questions around C for game development that I have are:</p>
<ul>
<li>What is it like to use Visual Studio as a development environment?
<ul>
<li>Programming</li>
<li>Testing</li>
<li>Debugging</li>
<li>Profiling</li>
</ul>
</li>
<li>Can I feel productive and creative using C?</li>
<li>What is building for different platforms like?</li>
<li>What are the issues and friction points for me?
<ul>
<li>Do any of these issues warrant moving to C++?</li>
</ul>
</li>
</ul>
<p>So far, I am having a good time with it! It feels much more like programming without training wheels in comparison to using Rust or C#. The program will either not compile for a completely unreadable reason, or the program will compile and have strange behaviour because of some typo somewhere hidden in the code. Those are the two things that have tripped me up so far but combatted with the VS debugging tools or by popping errors into Mistral AI.</p>
<h2>Shader</h2>
<p>I have next to no shader experience! It's always been something that puzzles me. Creating something to try and replicate this photograph felt like a nice challenge.</p>
<p>So far I have made a super simple shader (Inspired by examples <a href="https://github.com/raysan5/raylib/tree/master/examples/shaders/resources/shaders/glsl330">here</a>) that takes the output from the camera, grey scales it and adds a little noise. This shader is then written to a texture and that texture is then displayed onto the screen.</p>
<p>It works but it doesn't really feel like the photograph so I will see how I can tune that.</p>
<h2>Boidy Birds</h2>
<p>As I mentioned in a <a href="posts/05032025.md">previous post</a>, I am using the <a href="https://en.wikipedia.org/wiki/Boids">Boids Algorithm</a> to simulate the flock of Starlings. Its been quite a manageable process getting up and running with it and I now have some parameters that i can dial to tune the system. Im currently getting about 30FPS when processing about 500 boids so I will see if I can improve the performance of that with further iterations.</p>
<h2>Next Steps</h2>
<ul>
<li>Player movement and camera controls</li>
<li>Try process more boids and get her to 60FPS</li>
<li>Have the boids move around obstacles like trees</li>
<li>Some kind of environment setting</li>
<li>Audio for the birdeens</li>
</ul><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Wee Boats is a Short Game</title><link>https://james.poole.ie/notes/wee-short.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-short.html</guid><pubDate>Mon, 06 Jan 2025 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Wee Boats is a Short Game</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Wee Boats is a Short Game</h1>
<h4 id="date">2025-01-06</h4>
<p>You can finish Wee Boats in under half an hour. You can spend longer with the world if you would like but you can get the full experience in a short amount of time.</p>
<p>Part of this is to make it realistic for a small team to complete a project like this. Right now, it would be almost impossible for me to create something of a larger scope even with infinite time. The drive required to bring a game project to its completion and release is all too easy lost at some point along the way.</p>
<p>Thankfully, this constraint goes hand in hand with the kind of games that I want to create. It allows for creating games that are concrete experiences. It allows us to focus on a small amount of ideas and explore those in a unique way. The games are therefore accessible to more people because it doesn't require a lot of commitment or complex learning from players to play the games.</p>
<p>Games can be 5 minutes long. If that's the amount of time for the experience to be felt then that's perfect.</p>
<p>Games don't have to make you feel something intensely to be valid. They can be subtle. Portray a random memory that you want to capture or something like that.</p>
<p>Games don't have to have an objective or a puzzle to complete. Gway with that.</p>
<p>Wee Boats is designed to be a short moment of exploration. A time of surprises that hopefully give you a couple of smiles, laughs and &quot;aha thats gas!&quot; moments while you play.</p>
<p>Others have written about the subject much better than I can. Some of my favourite writings on the topic are:</p>
<ul>
<li><a href="https://stuffedwomb.at/the_small_game.html">Stuffed Wombat</a></li>
<li><a href="http://jtroyer.me/">John Tryer (Link seems to be down :( ))</a></li>
</ul><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Releasing Give Me Strength Today</title><link>https://james.poole.ie/notes/gms-release.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/gms-release.html</guid><pubDate>Sun, 15 Aug 2021 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Releasing Give Me Strength Today</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Releasing Give Me Strength Today</h1>
<h4 id="date">2021-08-15</h4>
<p><img src="../images/gms_release.png" alt="GMS" /></p>
<p>Proudly made in Limerick City, Ireland, I am delighted to say that Give Me Strength is out today, August 14!</p>
<p>I am constantly struggling with myself when I am making games or anything creative and this piece has ended up being about that. It is a short, experimental game where the player can go about the place and be barraged by my voice and the most amazing soundtrack from Laura Ryder.</p>
<p>It is completely different to anything I have made before and I believe that it is a very unique experience. Its weird and it won't be for everyone but if you would like to try out a 10 minute weird game, I hope you give it a go and get something from it!</p>
<p>The game is available on <a href="https://jamespoole.itch.io/give-me-strength">itch.io</a> and you can find more information on <a href="http://james.poole.ie">my website</a></p>
<p>It was supported by the Limerick Culture and Arts Office and Creative Ireland.</p>
<footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Day One Live Coding</title><link>https://james.poole.ie/notes/live-1.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/live-1.html</guid><pubDate>Mon, 23 Dec 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Day One Live Coding</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Day One Live Coding</h1>
<h4 id="date">2024-12-23</h4>
<p>Over the last few months I have been becoming more aware of the live coding world.</p>
<p>The first algorave that I went to was at <a href="https://piksel.no/">Piksel Festival</a> this year.</p>
<p>It was unreal! Improvised pieces, prepared pieces. Everything welcome and everything bringing something different.</p>
<p>I am writing this at a point where I think its unreal, but have not tried it out myself yet.</p>
<h1>Why am I drawn to it?</h1>
<ul>
<li>It can be chaotic.</li>
<li>It can be structured.</li>
<li>Experimentation is encouraged.</li>
<li>Collaboration is encouraged.</li>
<li>It is vulnerable.</li>
<li>It is free jazz.</li>
<li>It is programming for fun.</li>
</ul>
<h1>Tools I am trying out</h1>
<h2><a href="https://strudel.cc">Strudel</a></h2>
<p>A web based tool for live coding music!</p>
<p>I've tried it for the first time this morning and this was the (<a href="https://www.todepond.com/pondcast/demo/">scrappy fiddle</a>) <a href="https://strudel.cc/?8dDojaQCqLdB">result</a></p>
<p>(Here are the two lines in case the link dies at some stage:)</p>
<pre><code>$: n(&quot;[4*&lt;4 1 2&gt;] &lt;6 [~ 6]&gt; ~ 5&quot;).sound(&quot;jazz&quot;).scope()
$: s(&quot;cp hh sd hh&quot;).bank(&quot;&lt;RolandTR909 RolandTR505&gt;&quot;).fast(2).mask(&quot;&lt;0 1&gt;/2&quot;)
</code></pre>
<h2><a href="https://hydra.ojack.xyz">Hydra</a></h2>
<p>A web based tool for live coding visuals!</p>
<h2><a href="https://flok.cc">Flok</a></h2>
<p>A web based tool for collaborating with others using Strudel, Hydra and some others.</p>
<footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Games As Postcards</title><link>https://james.poole.ie/notes/22032025.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/22032025.html</guid><pubDate>Sat, 22 Mar 2025 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Games As Postcards</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Games As Postcards</h1>
<h4 id="date">2025-03-22</h4>
<p>Thought exercise!</p>
<p>Games don't need to be played by a lot of people to be deemed valid or successful.</p>
<p>What if making a game could be the equivalent of knitting a scarf for a friend or making them a nice meal.</p>
<p>This is possible! Maybe I should try it!</p>
<p>Enjoy the craft as a hobby.</p>
<p>Or I could make tiny games and make a few physical copies of them. Sell them at a market or give them to friends. Not to be distributed online.</p>
<p>What kind of things could we make?</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>The Online Server Setup for Wee Boats</title><link>https://james.poole.ie/notes/wee-online-setup.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-online-setup.html</guid><pubDate>Wed, 16 Apr 2025 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>The Online Server Setup for Wee Boats</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>The Online Server Setup for Wee Boats</h1>
<h4 id="date">2025-04-16</h4>
<p>In 2020, I came out with my first ever game which was <a href="https://jamespoole.itch.io/frog">FROG</a>. It was an online where you could hop around and chat with text. While it worked, god love it, it wouldn't take much to make the whole game fall over. There is only a single server available and once more than a handful of players connected, things would get a bit weird. Frogs would lag and get disconnected all over the place. Luckily enough, its a rare enough occasion that there are more than that amount of players online and for how dodgy it is, it is still up and running 5 years later! That's a win in my book!</p>
<p>So now when approaching our new game, Wee Boats, we wanted to try and tackle some of the main issues to make it a tiny bit more resilient than that beautifully naive setup! The main issues were:</p>
<ol>
<li>FROG doesn't handle load well. There is a single server with no limit. The more and more players that try to connect, the worse of an experience it becomes.</li>
<li>If a player connects to FROG in a part of the world far away from the server, they will have a very laggy experience. (And so will those observing that faraway player.)</li>
<li>There is no way to intentionally not connect to a server and have an offline experience.</li>
</ol>
<p>In this post, I will outline some of the parts of the Wee Boats online architecture. It's by no means perfect but for a small game like Wee Boats, I think it will go a long way.</p>
<h2>The Server Code</h2>
<p>So the server code is made up of separate Bevy application running headless on a server. It uses the <a href="https://github.com/lucaspoffo/renet/tree/master/bevy_renet">bevy_renet</a> crate to handle connections and messaging from and to the clients. It runs at about 120 ticks per second and is constantly polling for new messages. This uses a trickle of CPU on my cheapest 4$/month digitalocean droplet.</p>
<p>This is a completely separate project to the main game but it's neat that both the frontend and backend use the same language and the same game engine. It makes life a simpler.</p>
<p><strong>Multiple Servers!</strong></p>
<p>To start us off, we have created a way to list currently active servers and allow the player to choose the one that appeals to them the most based on location or how many is online. This is crazy technology in comparison to FROG!</p>
<p>When the game starts up, it immediately queries an address that will send back a JSON document which lists the currently active servers. These servers are then listed to the player and they can choose which one they would like to connect to.</p>
<p>Example JSON:</p>
<pre><code>{
	&quot;servers&quot;: [
		{
			&quot;name&quot;: &quot;Europe&quot;,
			&quot;location&quot;: &quot;Europe&quot;,
			&quot;ip&quot;: &quot;X.X.X.X:XXXX&quot;,
			&quot;online&quot;: &quot;0 / 64&quot;
		},
		{
			&quot;name&quot;: &quot;America&quot;,
			&quot;location&quot;: &quot;Europe&quot;,
			&quot;ip&quot;: &quot;X.X.X.X:XXXX&quot;,
			&quot;online&quot;: &quot;0 / 64&quot;
		},
		{
			&quot;name&quot;: &quot;Offline&quot;,
			&quot;location&quot;: &quot;Offline&quot;,
			&quot;ip&quot;: &quot;&quot;,
			&quot;online&quot;: &quot;No&quot;
		}
	]
}
</code></pre>
<p>How this looks in the game:
<img src="images/wb_server_list.png" alt="" /></p>
<p>This is going to improve things a whole lot in comparison to the FROG days. With multiple servers I can have players connect to servers that are closer to them for a better experience. It also allows me to introduce new servers on the fly if there happens to be a lot of players online at one time.</p>
<h2>How is the game synced?</h2>
<p>Because we are not worrying about cheating in Wee Boats, we can use a networking model called <em>Client Authoritative</em>. What this means is that each game client is in control of its own boat and it will rapidly send updates to the server with new information about the boat. If the boat is moving, the client sends the message with its new position to the server and then the server will broadcast the new information to all the other clients that are connected. Same goes for if the player honks or sends a text message. An update goes to the server and then the server broadcasts the update to the other boats. This has its flaws but for a casual game like Wee Boats, it fits perfectly!</p>
<p>When a client receives position updates for a networked boat, it will smoothly move the boat from the old position to the new position. With updates coming in rapidly, this makes the networked boats feel like they are being controlled nice and smooth!</p>
<h2>How to test 64 players online at once?</h2>
<p>Well I haven't and I don't really know how with my current resources! The max that I have tested so far is 5 clients online at once and that works great so at the moment I'm crossing my fingers that it works that well at 64 players online! I know that this is a recipe for disaster! :D</p>
<h2>Offline Option</h2>
<p>Something that is important to me is that Wee Boats can run independent of the servers being online to help it run long into the future. Because of that, we have added an offline option where the player can experience the entire game, just without the online components. Even if the initial server list http request doesn't go through, the offline option will populate.</p>
<h2>Potential Next Steps</h2>
<h3>Automatic Scaling</h3>
<p>Currently, adding and removing servers is a manual process. I need to keep an eye on the numbers online, manage the online servers and keep the active server list updated that gets sent to the games.</p>
<p>I am not expecting a lot of players to be coming into the game but if this is something that happens, it would be great to have a script monitor the player numbers and manage this itself. I just want to be careful that I dont create something that racks up crazy bills!</p>
<p>That's all for now! :D</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>How we are using Sprite Stacking for Wee Boats</title><link>https://james.poole.ie/notes/stack.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/stack.html</guid><pubDate>Sun, 11 Feb 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>How we are using Sprite Stacking for Wee Boats</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>How we are using Sprite Stacking for Wee Boats</h1>
<h4 id="date">2024-02-11</h4>
<p>Wee Boats was originally born out of wanting to try out an interesting technique that I had seen online a few years ago. I have seen it being called Sprite Stacking so let's use that name here!</p>
<p>Sprite Stacking is a way of creating pseudo 3D assets, using 2D horizontal slices that are stacked on top of each other. Especially when moving around, if you update the angle of each slice, it creates a convincing depth effect as you can see the asset from all sides.</p>
<p>Before I start to show any visuals, I want to say that all of the art used in this post was made by Brendan Hewson who is a part of the Wee Boating team!</p>
<p>Here is an example of what it looks like with one of our little boats:</p>
<p><img src="images/sprite_stack_2-2024-02-11_10.56.30.mp4" alt="Boats Moving Video" /></p>
<p>It looks beautiful! :')</p>
<h2>How Do We Make Our Wee Boats?</h2>
<p>There are so many options here with how you could go about this! I am going to highlight how we are doing it but don't let that limit you! See what mad ideas you have!</p>
<p>Firstly, we make our sprite slices using Aseprite as if we were making an animation. Each frame represents a slice of our model. Each slice needs to be drawn individually which isn't the easiest to do. If you turn on onion skinning it can help to see the previous and next frames. When we are ready to try out our creation, we then export this as a sprite sheet that we can use in the game.</p>
<p>Here is an example of an Aseprite project:
<img src="images/slice_aseprite.png" alt="Aseprite" /></p>
<p>This is an example of an exported sprite sheet:
<img src="images/new_boat_1.png" alt="Sprite Sheet" /></p>
<p>And then the game stacks these sprites to create our pseudo 3D boat:</p>
<p><img src="images/sprite_stack_1-2024-02-11_10.55.31.mp4" alt="Boat Honk Video" /></p>
<p>Here is a honk action shot that shows the slices slightly further apart:</p>
<p><img src="images/honk.png" alt="Honk" /></p>
<h2>Working with Challenges and Limitations</h2>
<p>While I find this method quite charming, it also comes with some challenges. Not even pseudo 3D methods come without cons god dammit.</p>
<p>It can be difficult to have an overview as to what the 3D model looks like while you are drawing the layers in Aseprite. We have found external tools that let us preview the model separately which has improved the workflow a lot but is still an extra step. The best one for us has been Jon Topielski's <a href="https://jontopielski.itch.io/stacked-sprite-viewer">Stacked Sprite Viewer</a>.</p>
<p>Another challenge is that it can be difficult to model little details using this system since you are working with cross section slices. We have been able to work around this by using the top most layer in some structures as a normal 2D sprite. This can be drawn nicely and add character to the game.</p>
<p>Animations are another one that will be challenging with Sprite Stacking! Animating across slices would be a big pain and it was one that we didn't try solving. We have worked around it by using simple animations transforming the slices themselves. An example of this would be the bounce that the boat does on a honk, shown in the videos above. I think its pretty cute! Another workaround here was using that top most layer of the structures saved for a traditional 2D sprite. We made a system for animating this sprite to add even more pazzazz!</p>
<p>Here is an example of an island that has a base constructed using the sprite stacking technique and then a layer on top to draw our animated 2D sprites. If you see it in the game, these Penguins are bopping like made yokes!</p>
<p><img src="images/penguins.png" alt="Penguins" /></p>
<p>We can also get in small details like windows on buildings by colouring edges of sprite slices.</p>
<p><img src="images/city.png" alt="City" /></p>
<h2>The Programming</h2>
<p>I won't get into this in too much detail here but I will give a couple of high level points as to how we went about this.</p>
<p>The engine we are using is Bevy which is open-source and written in Rust. This uses an ECS arcitecture which allowed us to get sprite stacking working with great performance.</p>
<p>A boat is an <strong>entity</strong> that holds data like the current angle within it as <strong>components</strong>. We then spawn children entities under that parent boat entity for each sprite slice. The <strong>systems</strong> then iterate quickly through each sprite slice and sets their rotation to match the boats current angle every tick.</p>
<p>I won't go into more detail on this right now but if some of those things sound new to you, and interesting, I recommend that you check out the <a href="https://bevyengine.org/">Bevy Engine</a> as a starting point for a simple entry into using ECS.</p>
<p>I am super happy with the performance that I am able to achieve with it. This screenshot was taken from my 2016 (7 years ago at time of writing) laptop with just an Intel i5 and I have hundreds of boats driving around at 60 FPS!</p>
<p><img src="images/Screenshot%202023-11-20%20230851.png" alt="Swarm" /></p>
<p>So that's it for the moment! We are still working on <a href="https://jamespoole.itch.io/wee-boats">Wee Boats</a> and will be posting updates here and on the Itch.io devlog. You can also sign up to the <a href="https://mailchi.mp/18efdca94182/newsletter">newsletter</a> which I use for larger updates.</p>
<p>Go raibh maith agat! All the best!</p>
<p>Honk</p>
<footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Give Me Strength Devlog 3</title><link>https://james.poole.ie/notes/gms-dl-3.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/gms-dl-3.html</guid><pubDate>Sat, 15 May 2021 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Give Me Strength Devlog 3</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Give Me Strength Devlog 3</h1>
<h4 id="date">2021-05-15</h4>
<p>I have been working on Give Me Strength for almost a year now and we still have a small way to go.</p>
<p>The bulk of the groundwork was done in 2020 and 2021 has been focused on improving and refining the experience of playing the game. I have left my last job in the last few weeks so I now have a couple of months where I can focus my time on the things that I have wanted to work on with this.</p>
<p>We are wrapping up the last things like final bug fixes and getting the promotional material ready for the game and we can then push it into the world.</p>
<p>There is also a phenomenal original dynamic soundtrack from Laura Ryder that will be in the game and its going to be awesome!</p>
<h1>New Projects</h1>
<p>I am currently thinking about what I want to work on next once I can get Give Me Strength out of my head. I have a couple of thoughts for prototypes to try out and see what might work. I would quite like to make this work more public to let anyone who is interested in the process see how I may go about things.</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>The Middle of the Process</title><link>https://james.poole.ie/notes/wee-4.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-4.html</guid><pubDate>Sun, 11 Feb 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>The Middle of the Process</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>The Middle of the Process</h1>
<h4 id="date">2024-02-11</h4>
<p>I'm hitting a tricky part of the process with Wee Boats. We have made a lot of process and have gotten to about 50%~60% of completion, I would say.</p>
<p>At the start of the project, there were clear things to work on.</p>
<p>Then it becomes less clear as most of the elements are implemented to a certain degree.</p>
<p>What I am seeing as the main next parts to work on are:</p>
<ol>
<li>Refactoring poorly written code.</li>
<li>Fixing bugs that have been lying around.</li>
<li>Improving poorly performing aspects of the code.</li>
<li>Improving features.</li>
</ol>
<p>Making sure that the code is easily built upon is super important for my own motivation. If I can feel myself saying &quot;Oh god, I'll have to tackle that&quot; in a disheartened way, that's enough to put me off starting the job and then that's a cycle that will continue. At this point of the project, motivation is super important to me because I want to move the project forward and get it finished.</p>
<p>I tend to like refactoring my code. I find it rewarding as you chip away through parts of the codebase and you make things better. I'm going to take a small amount of time and put it towards improving everything that I have in front of me. Make it easier to fix bugs, improve performance and add features going forward.</p>
<p>I have heard people say that they refactor after every session of programming. I should probably do that a bit more.</p>
<ul>
<li>Sometimes lack of time makes that tricky.</li>
<li>Sometimes its a higher level view when there are more pieces in place that make refactoring easier.</li>
<li>Sometimes I will have learned something new after a period of time that I can go back and improve</li>
</ul><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Announcing Give Me Strength</title><link>https://james.poole.ie/notes/gms-dl-1.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/gms-dl-1.html</guid><pubDate>Thu, 08 Oct 2020 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Announcing Give Me Strength</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Announcing Give Me Strength</h1>
<h4 id="date">2020-10-08</h4>
<p><img src="images/gms_cover_old.png" alt="GMS" /></p>
<p>Over the last few months, I have been developing my next project that I am calling &quot;Give Me Strength.&quot;.</p>
<p>This year, I have felt the most stressed and overwhelmed than I think I have ever felt. I have been trying to come up with ways to overcome this and take control again. Writing down thoughts as they pass through my mind has been a big help for me to come to terms with what is rattling round my skull. So much shite goes through my head that I normally wouldn't take notice of but carrying out this exercise has brought up some funny things that I wasn't expecting. I wanted to do something with this and where some people have the skills to put those thoughts into song or comedy or other forms of expression, I am going to try and use them as the basis for this experimental game.</p>
<p>I want to do my best to create a world where you are surrounded by hundreds of characters, each representing a single thought that he is vocalising to himself. On the surface, you won't be able to make out any discernible sentences but by exploring further into the world you can start to create a picture of what is going on and be led down different trains of thoughts. This is the general idea and I will play with it a bit to create different scenes that delve into different types of thoughts. I am not exactly sure how it will turn out but I want to give it my best shot to see how it will take form in the end.</p>
<p>So where am I at with development? I have been working it whenever I get the chance since July. It will probably be only about a ten minute play so I am setting myself a deadline to be finished working on it by early December so I won't be sinking any more of my life into something that may well be shite.</p>
<p>Thank you very much for the support. Shoot me a message wherever if you have any questions about it! There will be more bits and bobs to follow!</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Creating our own small tools to make our games</title><link>https://james.poole.ie/notes/small-tools.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/small-tools.html</guid><pubDate>Wed, 13 Mar 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Creating our own small tools to make our games</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Creating our own small tools to make our games</h1>
<h4 id="date">2024-03-13</h4>
<h2>What's The Problem?</h2>
<p>The Unity engine is a huge blob that I don't understand. The Godot engine is a smaller open source blob which is better but there are still lots of checkboxes to learn and scenes and nodes and stuff.</p>
<p>Even after learning enough to get by in these engines, I'm still only using about 20% of what they can do. The rest doesn't apply to me and is sitting there clogging up my game builds with hundreds of MB and draining me laptop battery. G'way with that.</p>
<h2>A Nudge in a New Direction</h2>
<p>I was listening to an episode (that I think was taken down because I can't find it anymore) of <a href="https://podcasts.apple.com/us/podcast/gamedev-breakdown/id1262767515">Gamedev Breakdown</a> where the presenter Todd Mitchel spoke about creating games from the ground up using XNA. He also spoke about a fellow called <a href="https://michaelarts.net/">Michael Hicks</a> who creates his own games and also has documented some of his own self-made tools on YouTube that went into his process.</p>
<p>This resonated with me a lot and sent me down a rabbit hole that gave me a bit of hope. Still, for some reason it felt a little out of reach. XNA and Windows Forms, the tools talked about mostly here, were not my comfort zone and I didn't jump head first into them.</p>
<h2>Enter Raylib</h2>
<p>A little while after, I came across <a href="https://www.raylib.com/">Raylib</a> which felt perfect for making game tooling. It's very similar to XNA, except in C as opposed to C#. It has a simple little API which gives lots of neat functionality like drag dropping files onto the window and drawing shapes onto the screen. Saying this, Raylib isn't the point of this post. It could be anything. It was just the piece of the jigsaw that made it seem possible for me to make my own tools. If you're on a similar buzz as me and want to try out a different tool, use whatever gets you hyped!</p>
<h2>My First Foray into Creating Tools</h2>
<p>For the game that myself and my friends are working on at the moment, <a href="https://jamespoole.itch.io/wee-boats">Wee Boats</a>, we quickly reached a bit of a snag that was how we are creating our map. We are using a JSON config file that defines the locations of every structure in the world. This is read by our game and it constructs the world on launch. Each structure has a location associated with it that has an X and Y coordinate. Editing this in text was grand when we had two or three structures but when it went any larger than that, it was impossible to use.</p>
<p>Whats this? I hear a tool coming on!</p>
<h2>Introducing the Wee Boats Map Editor! Come on ye'boya</h2>
<p>Using Raylib, we made a simple program that would read our JSON config and give us a visual representation of our world and easy ways to edit it.</p>
<p>Here is how it looks at the moment:
<img src="images/Pasted%20image%2020240319205929.png" alt="Map Editor" /></p>
<p>Each circle represents a structure in the Wee Boats world and through here we can move them around, add new structures and do other common actions that we are building up over development. We can then export it and it updates the JSON config that is then read by the game itself.</p>
<p>Here is a small example of some of those structures in game:
<img src="images/Pasted%20image%2020240319210332.png" alt="Game Example" /></p>
<h2>What are the best bits about this tool?</h2>
<ul>
<li>I understand how it works.</li>
<li>It's small. It does exactly what we need it to do and speeds us up a great deal.</li>
<li>We can quickly extend it to add new functionality.</li>
<li>We can quickly adapt it to work with future projects.</li>
<li>It was great craic to make.</li>
</ul>
<h2>A Small Toolier Future</h2>
<p>Making this Map Editor and the game around it has been a blast so far. Of course I am not going to be able to build as large and amazing games as people might be able with Unity but the feeling of understanding and mastery I get from this is amazing.</p>
<p>The idea of working in C freaked me out before. It sounds terrifying needing to worry about memory and all of this jazz. But that has rarely been an issue in making these. In fact, I have been moving much faster than I am used to. I feel like I have been tricked into thinking that big tools like Unity make the process easier but in reality, they have been bogging me down all along.</p>
<p>Us game makers don't need to be dependent on a company like Unity to be able to create work that we are proud of. Fuck them. Lets make and own our own stuff.</p>
<p>Maybe I am in a honeymoon phase and I am cruising for some doomed pit but where I am sitting right now, I have never felt better about making silly games.</p>
<footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Announcing Wee Boats</title><link>https://james.poole.ie/notes/wee-1.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-1.html</guid><pubDate>Thu, 12 Oct 2023 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Announcing Wee Boats</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Announcing Wee Boats</h1>
<h4 id="date">2023-10-12</h4>
<p>Whats going on? We're making a new game! Wahey! And there's a crew of us putting this one together! <a href="https://lauraryder.bandcamp.com/">Laura Ryder</a>, <a href="https://brentendo.itch.io/">Brendan Hewson</a> and myself are working on this and we're going to make something class!</p>
<p>The game is called Wee Boats! I'm so hyped with how its shaping up and I want to share more about how it's coming along!</p>
<p><img src="images/orange.png" alt="Wee Boats" /></p>
<p><img src="images/wee_boats_1.png" alt="Gameplay Image 1" /></p>
<p>Wee Boats will be there to provide a short, calm experience that is more an ambient bob about a body of water than a game. It's pretty simple. You control a small ship and can explore a world that is full of character and little surprises. Your only other control is that you can honk. Honk to yourself. Honk at other boats. Honk at lighthouses. The potential is endless! We are also creating a logbook that will keep track of the things that you have honked at. A nice record of your time boating at a wee scale.</p>
<p><img src="images/wee_boats_2.png" alt="Gameplay Image 2" /></p>
<p>Over the next few months, we want to explore different aspects of the making of the game as it develops. I find it tough opening up about the development because its exposing this small idea out to the world. Some of my current concerns are:</p>
<ul>
<li>Is it cool enough to get people excited?</li>
<li>Will we be able to get it finished?</li>
<li>Will I be able to keep up posting about it?</li>
<li>Will I have enough interesting things to talk about through the process of development?</li>
<li>Aaaaaaaa</li>
</ul>
<p>However, let's give it a whack anyway!</p>
<p>As an experiment and a challenge, I've opted to use Bevy as the game engine and write it as Rust. Its been mostly great and I'm now even happier with the decision after all the Unity shite. This is an open source engine and we own the game! I'll talk more about Bevy in another post because it's great.</p>
<p>So where are we at today?
We first started programming the game in March 2023. 6 months, feck. There has been a couple of main areas worked on so far:</p>
<ul>
<li>Building out the systems to display the sprites using a method called sprite stacking to create a pseudo 3D look.</li>
<li>Building out some small tools to make development flow a little easier.</li>
<li>Adding animations and interactions for birds and structures.</li>
<li>Adding a very primitive logbook and UI.</li>
<li>Testing out audio directions for the soundscapes.</li>
</ul>
<p>What's up next?</p>
<ul>
<li>Adding support for underwater creatures and things to pop up and say hello.</li>
<li>Making the logbook look nice.</li>
<li>Building more world!</li>
<li>Adding interactions to all of the structures and animals added so far.</li>
</ul>
<p>Cheers for reading. Sign up to the <a href="https://mailchi.mp/18efdca94182/newsletter">newsletter</a> to receive the odd update about my work and I'll let you know when you can get wee boating!</p>
<p>You can also find the pre-release game page on <a href="https://jamespoole.itch.io/wee-boats">Itch</a> where you can follow the development.</p>
<footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Messing With Boids</title><link>https://james.poole.ie/notes/05032025.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/05032025.html</guid><pubDate>Wed, 05 Mar 2025 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Messing With Boids</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Messing With Boids</h1>
<h4 id="date">2025-03-05</h4>
<p>I am trying to recreate a small scene where you can stand and watch a crowd of birds move around you. For this, I am using Boids Algorithm which I have heard come up hear and there over the last few years.</p>
<p><a href="https://vanhunteradams.com/Pico/Animal_Movement/Boids-algorithm.html">This is a resource that I am finding useful</a></p>
<p>I'm building it using C and Raylib which is a direction I think I want to move more towards to build up a better understanding of how games work at a lower level. I'm also not using copilot because efficiency isn't the goal here, its learning.</p>
<p>So far the experience has been good! Would love a bit of a foreach iterator right now because the amount of iterating over arrays is creating a fair amount of typing but I can live with that.</p>
<p>My boid birds don't feel like birds yet. More like bouncing balls that slightly group up together but hopefully it will come together over the next few days.</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Bookmarks to Cool Places on the Web</title><link>https://james.poole.ie/notes/bookmark.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/bookmark.html</guid><pubDate>Fri, 17 Nov 2023 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Bookmarks to Cool Places on the Web</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Bookmarks to Cool Places on the Web</h1>
<h4 id="date">2023-11-17</h4>
<p>I have discovered so much through finding people's personal websites and following to what they link to. This is my version of those pages with a list of some of the sites that have formed me. This is a living list that I am adding to.</p>
<h2>Code</h2>
<ul>
<li><a href="https://thesephist.com/">Linus Lee</a></li>
<li><a href="https://tumbleforth.hardcoded.net/">Tumble Forth</a></li>
<li><a href="https://100r.co/site/uxn.html">Uxn</a></li>
<li><a href="https://jvns.ca/">Julia Evans</a></li>
<li><a href="https://ratfactor.com/">Dave Gauer</a> - (Cool engineer with lots of great writings and a super About page. Great piece on Forth)</li>
</ul>
<h2>Game Development</h2>
<ul>
<li><a href="https://edw.is/">Elias Daler</a> - (Building games from scratch. Writings on C and Lua)</li>
<li><a href="https://pikuma.com/blog">Pikuma</a> - (Understanding game development fundamentals and mathematics)</li>
<li><a href="http://www-cs-students.stanford.edu/~amitp/gameprog.html">Amit's Game Programming Information</a> - An amazing collection of resources covering a wide array of topics.</li>
<li><a href="https://www.gamepoems.org/home">Game Poems</a> - A home for the idea of game poems. With lots of linked resources too.</li>
<li><a href="https://howtomarketagame.com/blog/">How To Market A Game</a> - Has been useful for knowing some best practices for getting people to see your game.</li>
</ul>
<h2>Permacomputing</h2>
<ul>
<li><a href="https://wiki.xxiivv.com/site/home.html">XXIIVV</a></li>
<li><a href="https://100r.co">Hundred Rabbits</a></li>
<li><a href="http://akkartik.name/feed">Kartik Agaram</a> - (Building Freewheeling Apps using Lua and Love2D)</li>
<li><a href="https://leetusman.com/nosebook/feed.xml">Lee Tusman</a> - (Artists and Hackers Podcast. Interesting writings.)</li>
</ul>
<h2>Handmade Web</h2>
<ul>
<li><a href="https://html.energy">html.energy</a></li>
<li><a href="https://j3s.sh/">Jes</a></li>
<li><a href="https://laurelschwulst.com/">Laurel Schwulst</a></li>
<li><a href="https://handmade-web.net/index.html">Handmade Web</a></li>
<li><a href="https://thehtml.review/">The HTML Review</a></li>
</ul>
<h2>Tiny Tools</h2>
<ul>
<li><a href="https://beyondloom.com/decker">Decker</a></li>
</ul>
<h2>Tadi</h2>
<ul>
<li><a href="https://todepond.com">Todepond</a> - (So much from Lu's work is amazing. Sharing scrappy fiddles. Working on small, interesting projects. Working in the open. Live programming investigations. Wikibloggarden.)</li>
</ul>
<h2>Low Tech</h2>
<ul>
<li><a href="https://idlewords.com/talks/website_obesity.htm">The Web's Obesity Crisis</a></li>
<li><a href="http://www.aptivate.org/webguidelines/topten.html">Low Bandwidth Guidelines</a></li>
<li><a href="https://solar.lowtechmagazine.com/2018/09/how-to-build-a-low-tech-website/">How to Build a Low Tech Website</a></li>
</ul>
<h2>Blogs</h2>
<ul>
<li>
<p><a href="https://www.marginalia.nu/log/">Marginalia</a></p>
</li>
<li>
<p><a href="https://sive.rs/">Derek Sivers</a></p>
</li>
</ul>
<p>Last Edited: 2nd April 2025</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Project 3D Newport</title><link>https://james.poole.ie/notes/3d-newport.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/3d-newport.html</guid><pubDate>Fri, 28 May 2021 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Project 3D Newport</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Project 3D Newport</h1>
<h4 id="date">2021-05-28</h4>
<h1>Project Baile Uí 3Dacháin Intro</h1>
<p>I am trying to build some ideas for what I want to work on next but its not coming to me very easily. Instead of sitting around and feeling bad for myself while I have no class ideas, I'm going to work on this and hopefully it will trigger some ideas as I work on it.</p>
<h2>What is it?</h2>
<p>I want to build a 3D environment that you can walk around and explore. It could be a scene that I use in a future game or it might not. The point is just making the thing.</p>
<p>I am going to build a town because square buildings are a good start I reckon for someone who is new to 3D modeling. More specifically, Main Street, Newport in County Mayo is going to be my target. I am using a real town so that I have no excuse to stop working on the project for any lack of inspiration reasons. If I am feeling like I don't know what to do, I just take the next building and model that in its basic form. It will be a stylised interpretation of the town or in other words, very simple and blocky.</p>
<p>I will be using Blender to model my town and I will use Unity if I make a playable walkthrough version of the town. I would quite like to use the same scene to create different feelings like Newport if it was Sunny LA or if it was Silent Hill.</p>
<p>I don't know why Newport hasn't been the location used for many video games previous to this. Even the name sounds great even to say. Listen. Newport. Wow!</p>
<h2>What do I want to get out of this?</h2>
<p>Primarily, this is an exercise for me to work my way out of being stuck for ideas. Second reason would be that I have only ever dipped in and out of Blender. This would be a larger project for me to get stuck into. There are a few concepts like Texture Mapping that are core basics to working in 3D and I don't have a clue how they work. This would be an opportunity to get some exposure to those.</p>
<p>Also I find it very difficult to post my work to Twitter. This will give me something to post consistently about. Most posts are going to be extremely boring given that some buildings are going to just look like cubes but that will be part of the fun of it.</p>
<h2>What does Newport look like?</h2>
<p><img src="images/town.png" alt="town" /></p>
<p>Phenomenal</p>
<h2>Some References</h2>
<p><img src="images/ref1.png" alt="ref1" /></p>
<p><img src="images/ref2.png" alt="ref2" /></p>
<p><img src="images/ref3.png" alt="ref3" /></p>
<p><img src="images/ref4.png" alt="ref4" /></p>
<h2>Rules</h2>
<ol>
<li>I must use a colour palette which has no more than 4 colours.</li>
<li>I must post each new building and the resulting town scene to Twitter as I complete it.</li>
<li>I don't need to strictly stick to the real buildings of Newport. If some wave of inspiration comes to change up Walsh's Shoes and turn it into a medieval castle, I'll go with it. It could be the thing that triggers my next game.</li>
<li>I must spend no longer than 30 minutes on one building. Capture the essence of it and move on.</li>
<li>I must open source the model and any files associated with it.</li>
</ol><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Thoughts a Couple of Months from Release</title><link>https://james.poole.ie/notes/wee-6.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-6.html</guid><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Thoughts a Couple of Months from Release</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Thoughts a Couple of Months from Release</h1>
<h4 id="date">2026-06-22</h4>
<p>We are coming to the last days of the Steam Next Fest now which has performed very badly and I am trying to pick myself up from a negative hole. Wishlists have barely moved and we have gotten one new review which is a kid telling us that its a game for kids. I am trying to think where we can go from here if a demo that is free is so poorly received. How are we going to be able to charge for the full game and for that to have a good launch? It probably won't!</p>
<p>With this kind of a forecast, how can I keep up the energy to see out the project and get it over the line?</p>
<p>However, we had a team call yesterday where we planned out the last features that we had promised for our last batch of funding. We have some nice, focused ideas that don't blow up the scope.</p>
<p>We have had ideas around what are potential things that could turn the game around and get people excited about it again but they would be larger changes. This is the kind of work that we have to turn away from and just focus on getting what we have finished and out.</p>
<p>I am so low on energy for the game now, I really want to move on from it but we have to send it out. I haven't worked on it for almost 4 years to fumble it at the end. While it is almost impossible to ignore the numbers I think I have to look in a different direction to them for a while and just work on this for the sake of making something that I am happy in and to put that out into the world.</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Learnings from Playtesting Wee Boats</title><link>https://james.poole.ie/notes/wee-testing.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-testing.html</guid><pubDate>Sun, 23 Jun 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Learnings from Playtesting Wee Boats</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Learnings from Playtesting Wee Boats</h1>
<h4 id="date">2024-06-23</h4>
<p>Development on Wee Boats continues! Over the last few days, I have been asking a few friends to try out the game to see how they experience it. The great bit is seeing people having fun with the game. Whew! Great! The not so great bit is that the process has been highlighting some gaps in the onboarding of the game. I am going to try to come to terms with it in this post!</p>
<p><img src="images/Pasted%20image%2020240623130332.png" alt="" /></p>
<h2>I have done a wupsie</h2>
<p>I haven't been thinking enough about making sure players know how I would like them to play. Saying that, I don't want to force a style a play, in fact quite the opposite! It's amazing when players carve out their own game or try things I never would have expected. But what I absolutely don't want is for the player to be confused as to what is going on because I didn't explain it to them well enough. The player should know what tools they have available to them and how they can be used. Once I am happy that I've communicated those things, then the player is welcome to feck about and break all the rules that they want!</p>
<p>Wee Boats is simple and I probably was hoping that that simplicity would sort itself out and players would just understand everything from the get go. But the reality of a computer game is that there is a laptop keyboard there with about 100 keys and about 4 of them are useful to this game. Which ones are they? How are they used? Another reality is that the player can go wherever they want from the start of the game which opens it up for infinite possibilities as to what they see first. Often designers create boxed-in tutorial areas where the player learns how to play the basics of the game before setting off on their adventure. However, I want to try and avoid this because I feel like whatever I do there will feel heavy handed and forced. I want our world to feel open for exploration right from the start.</p>
<h2>A note on Dredge</h2>
<p>A game that I feel did this very well is Dredge. You spend time in the initial area, learning the ropes and you are kept there in a natural way because the outer world seems terrifying and your boat starts off as a piece of shite. Once you do break out of that tutorial zone, it feels like a natural part of the world. It is your safe home that you can return back to. I find it impressive that it isn't a tutorial area tacked on to the side of the game like these things often can feel like.</p>
<h2>What have I been at?</h2>
<p>I have found these onboarding communication problems to be just as hard, if not harder than the various technical problems posed by making a game. And I think it is because of this that I have been procrastinating dealing with them or even avoiding looking for them in the first place. I find it much easier to look for new fun things to add on to the game like &quot;ooh lets add a social feature&quot; or &quot;ooh lets add multiplayer&quot; or &quot;ooh lets add a choose your own boat feature&quot;. This is also dangerous because for each new thing added, that is a new thing that needs to be explained and understandable.</p>
<h2>Let's fix this!</h2>
<p>I should have been testing those initial moments a year ago! And for future projects I will defo be keeping this more in mind. For now, I want to give this my best shot at fixing the problems that I am seeing before we call the game done. I have a list of about 5 things that are often problems at the start of the game that we need to sort out. I have some ideas for some but for others I am going to need to spend some time thinking! Let's go!</p>
<p>You can find the game page here which is where it will be downloadable when it's released: <a href="https://jamespoole.itch.io/wee-boats">Wee Boats</a></p>
<footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Give Me Strength Devlog 2</title><link>https://james.poole.ie/notes/gms-dl-2.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/gms-dl-2.html</guid><pubDate>Sun, 22 Nov 2020 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Give Me Strength Devlog 2</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Give Me Strength Devlog 2</h1>
<h4 id="date">2020-11-22</h4>
<p><img src="images/cover_2.png" alt="GMS" /></p>
<p>It is November and I am about 5 months into the development of my third game, Give Me Strength.</p>
<p>I have built out the chapters for the game and it is playable from start to finish although in not a very complete form. It is looking like it will be a short 5 to 10 minute playthrough. I would like if it was a bit longer but my goal now is to make that time worthwhile and provide something new for people to experience that they may not have seen before.</p>
<p>Each chapter has a concept that belongs to it and I am working to capture those concepts as best I can along with fixing the bugs that come along that.</p>
<p>The audio is going to be core to the experience and is still in the planning stages. We are putting together a plan for this and will start the recording in about a weeks time. I have some great help from friends in this department so I am excited (while nervous) to get stuck into that.</p>
<p>At this point I really have zero idea if this is something that I am going to be proud of or embarrassed about. It is short, weird and not a traditional game.</p>
<pre><code>“The moment that you feel, just possibly, you are walking down the street naked, exposing too much of your heart and your mind, and what exists on the inside, showing too much of yourself... That is the moment, you might be starting to get it right.”
</code></pre>
<p>I heard Neil Gaiman saying this recently in a podcast and it is what I needed to hear at this point of development to keep me going.</p>
<p>I am committed to finishing this thing just to be able to say that I weathered the doubt and shipped the work. It may be awful but what is important to me right now is that I bring it to a conclusion that I am happy with. Hopefully people will enjoy it but if they don't, hopefully they will like the next thing!</p>
<p>Expected release time is January 2021 and I will keep ye posted with the progress in the meantime.</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Programming as Cooking a Meal</title><link>https://james.poole.ie/notes/02042025.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/02042025.html</guid><pubDate>Wed, 02 Apr 2025 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Programming as Cooking a Meal</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Programming as Cooking a Meal</h1>
<h4 id="date">2025-04-02</h4>
<p>So I'm stuck in that productivity loop where even when I am not at work, I feel like I need to be productive with all the rest of my time. It doesn't feel good and its not good for my head.</p>
<p>I initially wanted to title this Programming as a Hobby but the problem with that is that even when I am programming as a hobby, I feel like I need to be working towards an output to be released. Programming towards something artistic that I am proud of.</p>
<p>Even though on the surface this is labelled as a hobby, it has the toxic side effects of myself feeling like I need to be productive at every moment, working towards something. This doesn't go down well in me head on the days when working on something in the evening isn't working or I try to just watch telly or play a game. That downtime feels like it needs to be productive.</p>
<p>It brings me back to this notion of <a href="https://www.robinsloan.com/notes/home-cooked-app/">an app can be a home cooked meal</a>. When you make a nice sandwich, its not destined to be published on a website and be rated and scaled out to hundreds of people. If I can could think about programming for a while in terms of making little sandwiches for myself, I think that would be beneficial</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Wee Boats May 2025 Progress Update</title><link>https://james.poole.ie/notes/wee-5.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-5.html</guid><pubDate>Sun, 25 May 2025 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Wee Boats May 2025 Progress Update</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Wee Boats May 2025 Progress Update</h1>
<h4 id="date">2025-05-25</h4>
<p>Wee Boats is coming together!</p>
<p>The start of the year felt like slow going. The slog towards the end of the project. Setting up a sole trader company, trying to get the Steam page up and running and small progress on the game here and there. But now over the last month, the engines feel like they are running again and we are having fun with the boats once more!</p>
<h2>A Maze</h2>
<p>Holy Moly did we need A Maze right now. It is truly something special where I always come away with a drive to keep going. We submitted Wee Boats for a two hour demo at the Open Screens. Even though it was a small period of time, we got so much great feedback from everyone who tried out the game and we were buzzing. We then set up the game outside in the garden of Silent Green where folks could play in the fresh air.</p>
<p><img src="images/amaze_outside_wheel%201.jpg" alt="" /></p>
<p>We saw a lot of things that we can improve about the game. Fantastic! We are working on it now! Feels like the first time we are adding fun improvements to the game in some time.</p>
<p>People were excited about the game. Fantastic! That's been good for the old self belief. This is a silly, small game. I go through cycles of thinking that people are going to really not like it for its smallness but maybe there is a place for this too. Hopefully it translates to the Steam audience!</p>
<h2>Steam</h2>
<p>About a month ago we got our Steam page up and online as Coming Soon (You can go there now and wishlist :) ). So now we need to play the game of Steam and get them wishlists up! If you want a game to make any bit of a splash on Steam, you need a rake of wishlists. I feel like 1000 wishlists is the minimum you need for Steam to bother giving you a glance and between 7000-10,000 is when you may start popping up in some Discovery Queues or something like that.</p>
<p>We are currently way off those numbers but we are giving it a go to get the word out there!</p>
<h2>How are we playing the wishlist game?</h2>
<ul>
<li>We are on the TikToks babyyy
<ul>
<li>I've actually been having good craic putting together videos over the last month of the game and how we are making it. It's mad to see how the algorithms are ticking away doing crazy shit. I'll put up a video, watch an episode of Adventure Time, then look back at my phone and itll have gotten 1000 views in those minutes, but then it won't be seen by another soul ever again. We are going to keep plugging away at it and see if we can build up some interest.</li>
</ul>
</li>
<li>Festivals
<ul>
<li>I've been applying to game festivals as their submissions open up. We are going to be sharing our work at Spillkonventet in Norway in June and hopefully a few more in the coming months after that. Hopefully some of these come through and maybe come with a Steam featuring.</li>
</ul>
</li>
<li>Demo
<ul>
<li>We want to get a Wee Boats demo out over the summer! Test the wheels of the game out in the wild and sort out any server issues before the launch of the full game. This might help build a bit of momentum over the coming months that we can charge into the Next Fest with!</li>
</ul>
</li>
</ul>
<h2>Boat Party</h2>
<p>This coming week we are bringing the game onboard one of the boats that we are featuring in the game! Litteraturbåten Epos, which is a library boat that travels the west of Norway, is hosting a boat party in Bergen and we can join in! It'll be interesting to see how it goes down in a party setting with a crowd that isn't a gamer crowd. I'm hyped to bring it to the boat anyway!</p>
<p>Ok, right, back to it! Let's feckn go!</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>My Objectives</title><link>https://james.poole.ie/notes/objectives.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/objectives.html</guid><pubDate>Tue, 09 Apr 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>My Objectives</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>My Objectives</h1>
<h4 id="date">2024-04-09</h4>
<ul>
<li>To be able to be expressive through software.</li>
<li>To be in control of the software that I write.</li>
<li>To understand the software that I write.</li>
<li>To create software that is sustainable.</li>
<li>To have the software that I write survive a long time.</li>
<li>To share what I learn with others so that we can all gain more power together.</li>
</ul>
<p>(Created 9th April 2024)</p>
<p>Recently, I have been going down all sorts of rabbit holes. The Indie Web, Gopher, Gemini, Solar servers, Programming languages like Forth, Uxn and Joy, microcontrollers and loads other things. These all pull me away from the things that I <em>should</em> be working on which makes me go &quot;ahhhh!&quot; but they all seem so exciting in the moment (and I realise how boring this all sounds)!</p>
<p>I was trying to take a step back and figure out why I get so enthusiastic about these topics which lead me to come to the list of objectives up above.</p>
<p>I feel like the direction of most modern technologies is moving in a way that is opposite to almost all of these objectives. We are losing control over our software and hardware. Software and hardware is becoming needlessly complex. Our software and hardware is very quickly becoming obsolete. It's important that we push back against this and be in the driving seat of the technology we use.</p>
<p>When I go into these rabbit holes, instead of coming out of them and losing whatever I find to the ether, I would like to document what I learn and share them in case others find anything interesting in them.</p>
<p>All the best</p>
<h3>Some Neat Readings</h3>
<ul>
<li>
<p><a href="https://100r.co/site/weathering_software_winter.html">Weathering Software Winter</a></p>
</li>
<li>
<p><a href="https://solar.lowtechmagazine.com/about/what-is-low-tech-magazine/">Low-Tech Magazine</a></p>
</li>
</ul>
<footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Sharing Scrappily</title><link>https://james.poole.ie/notes/scrappy.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/scrappy.html</guid><pubDate>Tue, 24 Dec 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Sharing Scrappily</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Sharing Scrappily</h1>
<h4 id="date">2024-12-24</h4>
<p>I need to lower the barrier to entry for publishing to this site.</p>
<p><a href="https://sive.rs/getme">The more I share, the better.</a></p>
<p>I need to be ok with posting <a href="https://www.todepond.com/pondcast/demo/">scrappy</a> writings to allow the sharing to flow and not get blocked.</p>
<p>Individually, a lot of the scrappy writings may be useless but hopefully, with time, they will coagulate into something useful to explore.</p>
<p>My favourite websites are the ones that are dense with ideas that allow me to get lost in a nest of links. My goal is to create something like that and to get as much of what I have learned out in the open as possible!</p>
<p>Come on in!</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Online Boating</title><link>https://james.poole.ie/notes/wee-online.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/wee-online.html</guid><pubDate>Mon, 28 Oct 2024 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Online Boating</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Online Boating</h1>
<h4 id="date">2024-10-28</h4>
<p>Wee Boats is rocketing to the onlines! Buckle up...Its gonna get mildly social!</p>
<p>We are still working on getting Wee Boats ready for release. It's looking like it could be early 2025 at this stage but we'll see how we get on! We have been working on some online components for the game so I thought I'd give a little overview of them here.</p>
<p>First up, it will be possible to cruise around with other online boats! Oh god ya. Bring a friend or two along for the journey to explore the world! Encounter other captains making their way through the oceans. Get out of the way Sea of Thieves, Wee Boats is coming to town. We are not adding an in game chat but you will be able to honk at each other repeatedly and constantly. Sure what else could one ever need?</p>
<p>Secondly we have our messages in bottles. This is a way of ephemerally communicating with other future boaters. Find messages left by boaters past and cast out your own messages to wish future boaters well. Maybe pass on a secret that you have discovered?</p>
<p><img src="images/ring.png" alt="" /></p>
<p>It is important to us that our games can be played long into the future so Wee Boats isn't dependent on the online servers being online in order for the game to work. If we need to bring the servers down for whatever reason in the future, you will still be able to experience the entire game without these online components. The internet folk like to call this local-first computing I do believe.</p>
<p><a href="https://jamespoole.itch.io/wee-boats">Find the game page here and give it a follow</a></p>
<p><a href="https://mailchi.mp/18efdca94182/newsletter">Sign up the newsletter here for the odd update</a> (I still haven't mailed about anything. Its only for the big updates!)</p>
<p>Cool, thats it for now. See yis soon!
James</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item><item><title>Steam account created!</title><link>https://james.poole.ie/notes/06032025.html</link><description><![CDATA[]]></description><guid>https://james.poole.ie/notes/06032025.html</guid><pubDate>Thu, 06 Mar 2025 00:00:00 GMT</pubDate><content:encoded><![CDATA[
<head>
<title>Steam account created!</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/style.css">
</head>

<body>
<div id="container"><header>
<ul>
<li><a href="./index.html">Blog Home</a></li>
<li><a href="./all.html">All Posts</a></li>
<li><a href="./categories.html">Categories</a></li>
<li><a href="/index.html">My Main Site</a></li>
<li><a href="./feed.xml">RSS</a></li>
<li><a href="https://jamespoole.itch.io">Itch.io</a></li>
</ul>

</header>
<h1>Steam account created!</h1>
<h4 id="date">2025-03-06</h4>
<p>I have been extremely on the fence about putting <a href="https://jamespoole.itch.io/wee-boats">Wee Boats</a> up on Steam. That's where the real games go! I'm scared of being ripped apart with bad reviews and refunds! &quot;What is this shit REFUND&quot; &quot;There was no game here REFUND&quot; &quot;This is way to short REFUND&quot;! However, after working on this thing for 2 years now, I feel like I have to put it out there, even for the sake of putting it out there!</p>
<p>The worst case scenario is that I get a understanding for this release process and its also giving me an opportunity to break through some walls of setup work that I won't have to do for following projects.</p>
<p>Yesterday, I just got my Steamworks account accepted by Valve. It took over a week of applying every day and getting declined overnight for different unclear reasons. Setting up a Steam account is something that has caused me months of procrastination but now that step is done. I'm free!</p>
<p>Next up, let's make this Wee Boats store page and try get some wishlists in! The ball is in my court now!</p>
<p>You can read other Wee Boats updates on the <a href="./weeboatsdevlog.html">devlog</a>!</p><footer>
<hr />
<p>This blog is written by <a href="https://twitter.com/itsapooleparty">James Poole</a>, built with my <a href="https://github.com/JamesGallagherPoole/blog-builder">blog-builder</a>.</p>
<p>Let me know you found this corner of the internet:  james at poole dot ie</p>
</footer>
</div></body>]]></content:encoded></item></channel></rss>