<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>adam le doux</title>
  <description>...is blogging!! &gt;:P</description>
  <link>https://adamledoux.net/blog/</link>
  <atom:link href="https://adamledoux.net/blog/feed.xml" rel="self" type="application/rss+xml" />
  <lastBuildDate>Mon, 09 Feb 2026 20:29:01 -0800</lastBuildDate>
  <ttl>60</ttl>

<!-- ADD NEW POST HERE -->

  <item>
    <title>GOTO Considered Good, Actually (or: i made a tool for writing casio calculator games using twine)</title>
    <description>
<![CDATA[<img src="https://adamledoux.net/blog/images/2026-02-09-winding-down.jpeg" width="400px">
<p>i got an old casio graphing calculator at goodwill a few years back, and recently i felt like playing around with it again - there's something really neat about having a little programmable computer that fits in your hand and is powered by AA-batteries, you know?</p>
<p>anyway, i was messing around with casio basic and i realized that the language's affordances (branching with GOTO, simple text input and output) would lend themselves well to making twine-style interactive fiction</p>
<p>so i decided to make a <a href="https://adamledoux.net/tweeul8r/">twee-to-casio-basic transpiler</a> - it has some limitations (small maximum story size, no macros, etc.) but it works, and you can try it out yourself if you want!</p>
<p>i also used it to make this <a href="https://ledoux.itch.io/winding-down">short interactive fiction piece</a> which you can play on itch.io - there's an emulator to play it in the browser, or if you happen to have a casio calculator lying around you can download the CAT program file and transfer the game to your calculator via USB.</p>
<p>(here's the story graph in the twine 1 editor)</p>
<img src="https://adamledoux.net/blog/images/2026-02-09-winding-down-twine.png">
<p>if you play the game or make something with <a href="https://adamledoux.net/tweeul8r/">tweeul8r</a>, please and let me know! (you can click reply on this post to send me an email &lt;3)</p>]]>
    </description>
    <pubDate>Mon, 09 Feb 2026 20:29:01 -0800</pubDate>
    <link>https://adamledoux.net/blog/posts/2026-02-09-GOTO-Considered-Good--Actually--or--i-made-a-tool-for-writing-casio-calculator-games-using-twine-.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#51</guid>
  </item>

  <item>
    <title>reading: cave story, corrypt, solo gamemaking - oh my!</title>
    <description>
<![CDATA[<p>here's a few things i enjoyed reading recently:</p>

<p><a href="https://syslbnth.neocities.org/htxt/cave-story/">cave story revisited</a> by phantom situates cave story in its historical context, and takes it as a jumping off point to discuss the intersecting histories of several gamemaking scenes: shareware, doujin soft, and indie. really good stuff!</p>

<p>that essay links to <a href="https://ellaguro.blogspot.com/2013/08/the-talk-of-magicians.html">the talk of magicians</a> by liz ryerson - a critical response to corrypt's reception, written contemporaneously. i only just played corrypt last year so it's fascinating to read about how it was perceived at the time. especially the negative opinions of its graphics, which i thought were a strength and key part of the atmosphere of the game. anyway, corrypt is an all-timer imo - <a href="https://smestorp.itch.io/corrypt">go play corrypt</a>!</p>

<p>lastly, i read stephen gillmurphy's <a href="http://www.harmonyzone.org/blog/posts/solodev/">on solo dev</a> the other day, which really resonated with me. especially this quote: 'what solo dev means to me is that you don't have to tell anybody anything'</p>

<p>well that's it - see ya!</p>]]>
    </description>
    <pubDate>Sat, 25 Oct 2025 10:22:50 -0700</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=50</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#50</guid>
  </item>

  <item>
    <title>new beths record!</title>
    <description>
<![CDATA[<p>long time, no blog!</p>
<p>one of my favorite bands <a href="https://youtu.be/x-YWoVuqtp0">released a new record</a> yesterday and imo it's really good :D</p>
<p>what have you been listening to lately? i've set up a new email address for the blog, so feel free to write in with music recommendations to mail (at) adamledoux (dot) net, or use the reply link below this post</p>
<p>see ya!</p>]]>
    </description>
    <pubDate>Sat, 30 Aug 2025 13:30:35 -0700</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=49</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#49</guid>
  </item>

  <item>
    <title>introducing cartlet - a found software format</title>
    <description>
<![CDATA[<p>if you&#39;ve been reading my blog recently, you know that making videogames with <a href="https://adamledoux.net/bookmarklets/index.html">bookmarklets</a> has become a bit of a preoccupation of mine (lol)</p>
<p>in the process of making snakelet and WIZARD GARDEN i set some constraints for myself that i found interesting and fun: limiting myself to a specific subset of browser APIs, colors, keyboard inputs, etc. i also ended up creating a handful of tools for working within these constraints.</p>
<p>the result is something a little like a game engine or framework, a little like a fantasy console, but also not quite like those things. the term i&#39;ve come up with for it is a &#39;found software format&#39; which is admittedly a bit clunky but which i hope indicates that what i&#39;m doing is recontextualizing existing APIs rather than inventing something from whole cloth. </p>
<p>anyway, if that sounds like your kind of thing, please check it out! i&#39;ve made a page for it on my website here:</p>
<p>-&gt; <a href="https://adamledoux.net/cartlet/index.html">cartlet</a> &lt;-</p>
<p>if you follow that link you&#39;ll find a <a href="https://adamledoux.net/cartlet/manual.html">manual</a> containing a getting started guide and a specification for the format. in addition i&#39;ve packaged up the tools i created along with a few example programs to create a toolkit called <a href="https://adamledoux.net/cartlet/cartletKIT.html">cartletKIT</a>. since the toolkit consists entirely of bookmarklets, i&#39;m distributing it as a Netscape-format bookmarks file, so you can install the whole thing just by importing it into your web browser. </p>
<p>with the cartlet format, as much as i could i tried to lean into the material properties of the browser platform, such as always using the default size of the HTML canvas element (300x150) for the screen dimensions, or using the original 16 web colors as the color palette.</p>
<p>that said, on some level all these restrictions are to my own arbitrary taste - if these rules don&#39;t suit you, i encourage you to break them. either way, have fun! &lt;3</p>]]>
    </description>
    <pubDate>Sat, 07 Jun 2025 15:37:19 -0700</pubDate>
    <link>https://adamledoux.net/blog/posts/2025-06-07-introducing-cartlet---a-found-software-format.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#48</guid>
  </item>

  <item>
    <title>play WIZARD GARDEN! (a bookmarklet platformer)</title>
    <description>
<![CDATA[<p>hey, remember bookmarklets? yup <a href="https://adamledoux.net/bookmarklets/index.html">i&#39;m still making them</a>~</p>
<p>my latest is called WIZARD GARDEN and it&#39;s a short videogame where you are a wizard (in a garden)</p>
<p>to install it, just head over to my <a href="https://adamledoux.net/bookmarklets/index.html">bookmarklet garden</a> and drag the WIZARD GARDEN link into your bookmarks bar - then click that bookmark to start the game!</p>
<p>on desktop you can use the z, x, and arrow keys on your keyboard to play. if you&#39;re on a phone, you can also install the extra &#39;joylet&#39; bookmarklet (also in my bookmarklet garden). run joylet after you&#39;ve started WIZARD GARDEN and it will add a virtual joypad &gt;:D</p>
<p>dear reader, maybe (or maybe not, i don&#39;t know) you are asking yourself questions along the lines of: how did i make this? <em>why</em> did i make this?</p>
<p>well... stay tuned: i will be writing another blog post about the tools i used to make the game just as soon as those tools are ready to share (which should be pretty soon - but if you&#39;re feeling impatient, feel free to crack open the source code and kick back with 22.6kb of ice cold, refreshing javascript)</p>
<p>and of course, until then, please enjoy WIZARD GARDEN and share it with friends/family/strangers/enemies</p>]]>
    </description>
    <pubDate>Thu, 29 May 2025 17:25:11 -0700</pubDate>
    <link>https://adamledoux.net/blog/posts/2025-05-29-play-WIZARD-GARDEN---a-bookmarklet-platformer-.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#47</guid>
  </item>

  <item>
    <title>bookmarklets forever!</title>
    <description>
<![CDATA[<p>2025 continues to be <a href="https://adamledoux.net/bookmarklets/index.html">the year of the bookmarklet</a> here at adam le doux dot net~</p>

<p>this time i've written a mini-manifesto >:D</p>

<p><a href="javascript: if (confirm('bookmarklets are weeds growing through the cracks of capitalist software’s walled gardens')) { if (confirm('bookmarklets are passed from person to person - like a schoolyard calculator game, or a photocopied zine')) { if (confirm('bookmarklets are yours to keep - to read, write, and tinker with')) { if (confirm('bookmarklets can’t be broken by automatic updates or server shutdowns')) { if (confirm('bookmarklets run as comfortably on netscape navigator 4.0 as on the newest smartphone browser')) { if (confirm('bookmarklets are scribbles on the drab concrete of the corporate web')) { if (confirm('bookmarklets are a glimpse of a world where programming is for people')) { alert('bookmarklets forever!'); } } } } } } }">bookmarklets forever!</a></p>

<p>here's the program itself - i find the way each sentence/line is nested within the previous one kind of aesthetically pleasing</p>

<p><textarea rows="10" cols="30" readonly>javascript: if (confirm('bookmarklets are weeds growing through the cracks of capitalist software’s walled gardens')) { if (confirm('bookmarklets are passed from person to person - like a schoolyard calculator game, or a photocopied zine')) { if (confirm('bookmarklets are yours to keep - to read, write, and tinker with')) { if (confirm('bookmarklets can’t be broken by automatic updates or server shutdowns')) { if (confirm('bookmarklets run as comfortably on netscape navigator 4.0 as on the newest smartphone browser')) { if (confirm('bookmarklets are scribbles on the drab concrete of the corporate web')) { if (confirm('bookmarklets are a glimpse of a world where programming is for people')) { alert('bookmarklets forever!'); } } } } } } }</textarea></p>]]>
    </description>
    <pubDate>Sun, 16 Mar 2025 15:24:25 -0700</pubDate>
    <link>https://adamledoux.net/blog/posts/2025-03-16-bookmarklets-forever-.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#46</guid>
  </item>

  <item>
    <title>reblog: Currency Pokemon on Pokemon Home</title>
    <description>
<![CDATA[<p>i’ve never used pokemon home but this was fascinating to read</p>]]>
    </description>
    <pubDate>Thu, 13 Mar 2025 21:04:46 -0700</pubDate>
    <link>https://blog.lauramichet.com/currency-pokemon-on-pokemon-home/</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#45</guid>
  </item>

  <item>
    <title>only god was above us</title>
    <description>
<![CDATA[<p>at first i wasn’t sure about vampire weekend’s latest album, but it’s been growing on me with repeated listens</p>
<p>i’m particularly into the track “pravda” at the moment</p>]]>
    </description>
    <pubDate>Thu, 13 Mar 2025 20:56:25 -0700</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=44</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#44</guid>
  </item>

  <item>
    <title>now listening</title>
    <description>
<![CDATA[<img src="https://www.adamledoux.net/blog/images/2025-03-11-listening-beths.PNG">
<p>i put on a beth’s record this morning!</p>
<p>expert in a dying field is one of my favorite albums from the past few years (i never say no to a good vocal harmony)</p>
<p>now reading: just finished the last volume of YKK - so good!</p>
<p>now playing: mega man legends - took me a bit to get used to the controls but i’m really getting into it now. the environments are really charming and fun to explore</p>]]>
    </description>
    <pubDate>Tue, 11 Mar 2025 09:03:43 -0700</pubDate>
    <link>https://adamledoux.net/blog/posts/2025-03-11-now-listening.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#43</guid>
  </item>

  <item>
    <title>reblog: The Year Of The Blog</title>
    <description>
<![CDATA[]]>
    </description>
    <pubDate>Sun, 23 Feb 2025 20:24:03 -0800</pubDate>
    <link>https://blog.vbuckenham.com/the-year-of-the-blog/</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#42</guid>
  </item>

  <item>
    <title>have you ever</title>
    <description>
<![CDATA[<p>been in the shower, thinking hazy shower thoughts, when the soap slips out of your hands at just the right angle to slide entirely out of our universe - into whatever sudsy dimension lost bars of soap congregate - never to be seen again?</p>]]>
    </description>
    <pubDate>Wed, 19 Feb 2025 08:48:46 -0800</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=41</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#41</guid>
  </item>

  <item>
    <title>reblog: Week round-up: 2/16</title>
    <description>
<![CDATA[<p>my bookmarklet games got a shout out in Laura’s weekly roundup - yay! :D</p>
<p>everything else in here is worth checking out too: the story about high school mail server hijinks was a fun read, and I know my life will be improved by the fact that I’m now subscribed to a bus news blog!</p>]]>
    </description>
    <pubDate>Sun, 16 Feb 2025 12:25:02 -0800</pubDate>
    <link>https://blog.lauramichet.com/week-round-up-216/</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#40</guid>
  </item>

  <item>
    <title>i made snake in a bookmarklet</title>
    <description>
<![CDATA[<p>thanks to the <a href="https://itch.io/jam/bitsy-88-snakes">current bitsy jam theme</a> i've been on a bit of a <a href="https://ledoux.itch.io/ouroboros">snake kick</a>... and anyway, as the title of this post says, i made <a href="https://en.wikipedia.org/wiki/Snake_(video_game_genre)">snake</a> in a <a href="https://adamledoux.net/bookmarklets/">bookmarklet</a>!</p>
<p>here it is:</p>
<p><a href="data:text/html;,<!DOCTYPE HTML><html><head><title>snakelet</title><meta name='author' content='Adam Le Doux'><link rel='icon' type='image/png' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAPklEQVQ4T2NkYGD4D8RkA0aqGfD/P6pDGBlBZmMCmDqYPNwFVDMAl824AgnDBaMGMDCQHQbkJkXqpcQR7AIAwvwuAbUpwPkAAAAASUVORK5CYII='><script>window.onload = function() { var canvas = document.createElement('canvas'); document.body.appendChild(canvas); var ctx = canvas.getContext('2d'); ctx.fillStyle = 'black'; ctx.fillRect(0, 0, canvas.width, canvas.height); var audioCtx = new AudioContext(); var oscillator = audioCtx.createOscillator(); var gain = audioCtx.createGain(); gain.gain.value = 0; gain.connect(audioCtx.destination); oscillator.type = 'square'; oscillator.start(); oscillator.frequency.value = 0; oscillator.connect(gain); var sz = 3; var w = canvas.width / sz; var h = canvas.height / sz; var x = null; var y = null; var dx = 0; var dy = 0; var len = 3; var snake = []; var fx = null; var fy = null; var sfx = 0; var t = 0; var key = null; var dead = false; window.onkeydown = function(e) { key = e.key; audioCtx.resume(); }; function loop() { if (sfx > 0) { sfx--; } else { gain.gain.value = 0; } if (dead) { if (sfx > 0) { window.requestAnimationFrame(loop); return; } else { x = null; y = null; dx = 0; dy = 0; len = 3; snake = []; fx = null; fy = null; sfx = 0; t = 0; key = null; dead = false; ctx.fillStyle = 'black'; ctx.fillRect(0, 0, canvas.width, canvas.height); } } if (x === null || y === null) { x = Math.floor(5 + Math.random() * (w - 10)); y = Math.floor(5 + Math.random() * (h - 10)); ctx.fillStyle = 'white'; ctx.fillRect(x * sz, y * sz, sz, sz); } if ((fx === null || fy === null) && (dx != 0 || dy != 0)) { fx = Math.floor(5 + Math.random() * (w - 10)); fy = Math.floor(5 + Math.random() * (h - 10)); ctx.fillStyle = 'white'; ctx.fillRect(fx * sz, fy * sz, sz, sz); } if (key === 'ArrowUp' && dy === 0) { dx = 0; dy = -1; } else if (key === 'ArrowDown' && dy === 0) { dx = 0; dy = 1; } else if (key === 'ArrowLeft' && dx === 0) { dx = -1; dy = 0; } else if (key === 'ArrowRight' && dx === 0) { dx = 1; dy = 0; } if (dx != 0 || dy != 0) { t--; } if (t <= 0) { x += dx; y += dy; dead = x < 0 || x >= w || y < 0 || y >= h || snake.some(function(pos) { return pos.x === x && pos.y === y; }); if (!dead) { snake.push({ x: x, y: y, }); if (x === fx && y === fy) { len++; fx = null; fy = null; oscillator.frequency.value = 440; gain.gain.value = 0.1; sfx = 5; } ctx.fillStyle = 'white'; ctx.fillRect(x * sz, y * sz, sz, sz); } if (snake.length > len) { var tail = snake.shift(); if (tail.x != fx || tail.y != fy) { ctx.fillStyle = 'black'; ctx.fillRect(tail.x * sz, tail.y * sz, sz, sz); } } t = 3; } if (dead) { oscillator.frequency.value = 220; gain.gain.value = 0.1; sfx = 30; } window.requestAnimationFrame(loop); }; window.requestAnimationFrame(loop); };</script></head></html>">snakelet</a></p>
<p>to play:</p>
<ul>
<li>first install the program by dragging the snakelet link into your browser's bookmarks</li>
<li>then start the game by opening the bookmark in a new tab</li>
<li>use the arrow keys to move</li>
<li>eat the dots</li>
<li>don't die!</li>
</ul>
<p>if you're curious about how the program was written, read on :)</p>
<hr />
<p>most bookmarklet URLs start with <code>javascript:</code> which tells the browser to run the rest of the URL text as javascript on the current page. this is what i've used for the <a href="https://adamledoux.net/bookmarklets/">other bookmarklets</a> i've made recently, since i wanted them to be able to interact with the user's current open webpage.</p>
<p>however, it's also possible to make a bookmarklet using a <a href="https://developer.mozilla.org/en-US/docs/Web/URI/Schemes/data">data URL</a> such as <code>data:text/html</code> - this tells the browser the rest of the URL text is an HTML document. the advantage of this for making a bookmarklet game is that it provides a blank canvas. there's no existing webpage obscuring your game's graphics, you can intercept all the window key events without breaking anything, etc.</p>
<p>at this point you have the full toolkit of HTML/CSS/JS at your disposal - the sky is the limit! or at any rate, the maximum URL length of your web browser is.</p>
<p>that said, i did decide to impose some loose constraints on myself: i only used a handful of HTML tags, ~18 browser APIs, a single canvas, a single audio channel, and four keys for input. where possible, i leaned into the inherent properties of the browser as a medium: for example i left the <code>canvas</code> at its default size of 300 by 150 pixels, and i relied on the default frame rate of <code>window.requestAnimationFrame()</code> rather than do any delta time calculations. in general, i tried to keep it short and sweet in the spirit of something like a <a href="https://www.lexaloffle.com/bbs/?tid=145008">pico-8 postcart</a>. the size of the final program came in at 2.9kb - smaller than the size of the default bitsy game (3.3kb) or a standard atari 2600 cartridge (4kb).</p>
<p>i'm pretty happy with how it came out! if you'd like to read the source code in full, here it is:</p>
<p><textarea rows='10' cols='30' readonly>data:text/html;,<!DOCTYPE HTML><html><head><title>snakelet</title><meta name='author' content='Adam Le Doux'><link rel='icon' type='image/png' href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAPklEQVQ4T2NkYGD4D8RkA0aqGfD/P6pDGBlBZmMCmDqYPNwFVDMAl824AgnDBaMGMDCQHQbkJkXqpcQR7AIAwvwuAbUpwPkAAAAASUVORK5CYII='><script>window.onload = function() { var canvas = document.createElement('canvas'); document.body.appendChild(canvas); var ctx = canvas.getContext('2d'); ctx.fillStyle = 'black'; ctx.fillRect(0, 0, canvas.width, canvas.height); var audioCtx = new AudioContext(); var oscillator = audioCtx.createOscillator(); var gain = audioCtx.createGain(); gain.gain.value = 0; gain.connect(audioCtx.destination); oscillator.type = 'square'; oscillator.start(); oscillator.frequency.value = 0; oscillator.connect(gain); var sz = 3; var w = canvas.width / sz; var h = canvas.height / sz; var x = null; var y = null; var dx = 0; var dy = 0; var len = 3; var snake = []; var fx = null; var fy = null; var sfx = 0; var t = 0; var key = null; var dead = false; window.onkeydown = function(e) { key = e.key; audioCtx.resume(); }; function loop() { if (sfx > 0) { sfx--; } else { gain.gain.value = 0; } if (dead) { if (sfx > 0) { window.requestAnimationFrame(loop); return; } else { x = null; y = null; dx = 0; dy = 0; len = 3; snake = []; fx = null; fy = null; sfx = 0; t = 0; key = null; dead = false; ctx.fillStyle = 'black'; ctx.fillRect(0, 0, canvas.width, canvas.height); } } if (x === null || y === null) { x = Math.floor(5 + Math.random() * (w - 10)); y = Math.floor(5 + Math.random() * (h - 10)); ctx.fillStyle = 'white'; ctx.fillRect(x * sz, y * sz, sz, sz); } if ((fx === null || fy === null) && (dx != 0 || dy != 0)) { fx = Math.floor(5 + Math.random() * (w - 10)); fy = Math.floor(5 + Math.random() * (h - 10)); ctx.fillStyle = 'white'; ctx.fillRect(fx * sz, fy * sz, sz, sz); } if (key === 'ArrowUp' && dy === 0) { dx = 0; dy = -1; } else if (key === 'ArrowDown' && dy === 0) { dx = 0; dy = 1; } else if (key === 'ArrowLeft' && dx === 0) { dx = -1; dy = 0; } else if (key === 'ArrowRight' && dx === 0) { dx = 1; dy = 0; } if (dx != 0 || dy != 0) { t--; } if (t <= 0) { x += dx; y += dy; dead = x < 0 || x >= w || y < 0 || y >= h || snake.some(function(pos) { return pos.x === x && pos.y === y; }); if (!dead) { snake.push({ x: x, y: y, }); if (x === fx && y === fy) { len++; fx = null; fy = null; oscillator.frequency.value = 440; gain.gain.value = 0.1; sfx = 5; } ctx.fillStyle = 'white'; ctx.fillRect(x * sz, y * sz, sz, sz); } if (snake.length > len) { var tail = snake.shift(); if (tail.x != fx || tail.y != fy) { ctx.fillStyle = 'black'; ctx.fillRect(tail.x * sz, tail.y * sz, sz, sz); } } t = 3; } if (dead) { oscillator.frequency.value = 220; gain.gain.value = 0.1; sfx = 30; } window.requestAnimationFrame(loop); }; window.requestAnimationFrame(loop); };</script></head></html></textarea></p>]]>
    </description>
    <pubDate>Fri, 07 Feb 2025 14:27:53 -0800</pubDate>
    <link>https://adamledoux.net/blog/posts/2025-02-07-i-made-snake-in-a-bookmarklet.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#39</guid>
  </item>

  <item>
    <title>reblog: let code die</title>
    <description>
<![CDATA[<p>v is pulling on some interesting threads in this post - archives, ephemerality, creativity</p>
<p>i’m looking forward to following all the links</p>]]>
    </description>
    <pubDate>Sat, 01 Feb 2025 09:01:13 -0800</pubDate>
    <link>https://blog.vbuckenham.com/let-code-die/</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#38</guid>
  </item>

  <item>
    <title>reblog: Phone Too Big</title>
    <description>
<![CDATA[phone too big]]>
    </description>
    <pubDate>Thu, 30 Jan 2025 21:21:15 -0800</pubDate>
    <link>https://defector.com/phone-too-big</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#37</guid>
  </item>

  <item>
    <title>bookmarklet garden</title>
    <description>
<![CDATA[<a href='https://adamledoux.net/bookmarklets/'>i added a page on my website to collect the bookmarklets i've been making recently!</a>]]>
    </description>
    <pubDate>Thu, 02 Jan 2025 14:09:15 -0800</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=36</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#36</guid>
  </item>

  <item>
    <title>i made a bookmarklet for visiting random 88x31 website buttons!</title>
    <description>
<![CDATA[<p>dear reader, here’s some relatable content: you’re visiting a website and <a href="https://adamledoux.net/blog/links.html">the button wall is just crammed with cool websites</a> - in fact there are TOO many!! how can you possibly decide which link to click first??</p>
<p>well here at adam le doux dot net we pride ourselves on fixing niche problems with even more niche solutions - so i made a bookmarklet!</p>
<p><a href="javascript:var links = document.getElementsByTagName('a'); var buttons = []; for (var i = 0; i < links.length; i++) { var img = links[i].getElementsByTagName('img')[0]; if (img && img.width == 88 && img.height == 31) { buttons.push(links[i]); } } if (buttons.length > 0) { var button = buttons[Math.floor(Math.random() * buttons.length)]; if (confirm('found a button! visit ' + button.href + '?')) { window.location.href = button.href; } } else { alert('sorry, there are no 88x31 buttons on this page :('); }">button randomizer</a></p>
<p>to install the bookmarklet, just bookmark that link (either from the right-click menu or by dragging it into your bookmark bar)</p>
<p>when you visit a button wall, run the bookmarklet! it will find all the 88x31 buttons on the page, pick a random one, and give you the option of visiting that website. nice! (^_^)b</p>
<p>(p.s. here’s a game I’ve been playing: pick a button wall and run the randomizer, then run it again at the next website you land on, and again, etc. how far can you go before you end up on a page with no buttons?)</p>]]>
    </description>
    <pubDate>Sat, 21 Dec 2024 19:36:53 -0800</pubDate>
    <link>https://adamledoux.net/blog/posts/2024-12-21-i-made-a-bookmarklet-for-visiting-random-88x31-website-buttons-.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#35</guid>
  </item>

  <item>
    <title>reblog: bitsybox supports bitsy 8!</title>
    <description>
<![CDATA[<p>check out the big bitsybox update i’ve been working on :D</p>]]>
    </description>
    <pubDate>Wed, 27 Nov 2024 11:39:37 -0800</pubDate>
    <link>https://ledoux.itch.io/bitsybox/devlog/840940/bitsybox-supports-bitsy-8</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#34</guid>
  </item>

  <item>
    <title>reblog: Blog Roundup (2024-11-24)</title>
    <description>
<![CDATA[<p>an extra long blog roundup from Michael this week! I’m especially interested in checking out some of the TTRPG blogs - most of those were new to me. (also my gb camera photos got a mention! ^_^)</p>]]>
    </description>
    <pubDate>Sun, 24 Nov 2024 20:38:39 -0800</pubDate>
    <link>https://virtualmoose.org/2024/11/24/blog-roundup-2024-11-24/</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#33</guid>
  </item>

  <item>
    <title>new photos</title>
    <description>
<![CDATA[<img src="https://adamledoux.net/photos/images/2024-11-23/5.png" alt="game boy camera photo of a lava lamp" title="lava lamp" style="width: 100%; image-rendering: pixelated;">
<p>i added some <a href="https://adamledoux.net/photos/2024-11-23.html">new game boy camera photos</a> to my <a href="https://adamledoux.net/photos/index.html">photo album</a> for the first time in a while</p>
<p>i actually took these earlier this year, and just found them sitting on the cartridge... i think they were taken sometime this summer? anyway, here they are now! i particularly like the lava lamp ones :D</p>
<p>posting these is making me want to pick up the camera again and do some more photography. (p.s. if you have a photo album on your website, email me a link so i can check it out!)</p>]]>
    </description>
    <pubDate>Sat, 23 Nov 2024 13:36:16 -0800</pubDate>
    <link>https://adamledoux.net/blog/posts/2024-11-23-new-photos.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#32</guid>
  </item>

  <item>
    <title>reblog: against the dark forest</title>
    <description>
<![CDATA[<p>i think this post by Erin Kissane makes a rousing case for not retreating from the public social internet but instead building something better from the ruins</p>
<p>(also i learned about <a href="https://press.princeton.edu/books/paperback/9780691220550/the-mushroom-at-the-end-of-the-world">two</a> <a href="https://www.upress.umn.edu/9780816627318/cosmos-and-hearth/">books</a> i want to read - pity my poor, already overburdened nightstand)</p>
<p>here’s a good quote from the post: "The social internet should be a forest—not The Dark Forest, but something much more like a real one: Interconnected from the densely mycelial underground to light-filtering overstory but also offering infinite niches and multi-scale zones of sheltered exchange and play."</p>]]>
    </description>
    <pubDate>Sat, 23 Nov 2024 09:16:26 -0800</pubDate>
    <link>https://www.wrecka.ge/against-the-dark-forest/</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#31</guid>
  </item>

  <item>
    <title>made a mug of genmaicha to keep warm</title>
    <description>
<![CDATA[how are y’all doing on this gray november morning?]]>
    </description>
    <pubDate>Sat, 09 Nov 2024 10:30:36 -0800</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=30</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#30</guid>
  </item>

  <item>
    <title>links to links</title>
    <description>
<![CDATA[<p>there's been a lot written recently about the renewed importance of the humble hyperlink in this post-search-engine era we seem to be entering</p>
<p>in that spirit, i want to share some links to recent posts from some of my favorite link sharers:</p>
<ul>
<li><a href='https://virtualmoose.org/2024/10/27/blog-roundup-2024-10-27/'>michael's blog roundups</a> are great: i always find a fascinating new post or blog to follow. this one collects some posts about old games and dev logs - i'm particularly interested in reading the one about making a homebrew engine for the dreamcast</li>
<li><a href='https://blog.lauramichet.com/interesting-link-a-website-which-catalogs-agricultural-robots-by-task-and-crop/'>laura's interesting links</a> are always fascinating looks at websites i would never happen across on my own - this recent one gives a peak into the world of agricultural robots</li>
<li><a href='https://sweetfish.site/checkout/0924'>ayu's checkout counter</a> is one of my favorite blog post series - it's a great way to find out about interesting books, movies, and music, as well as websites. i will second the recommendation for suki waterhouse's new album!</li>
<li><a href='https://critical-distance.com/2024/10/28/october-27th-3/'>critical distance's this week in videogame blogging</a> is always one of the highlights of my week - there's no better place to find good writing about games</li>
</ul>
<p>p.s. speaking of good links, i just updated my <a href='https://adamledoux.net/blog/links.html'>button wall</a> - check it out if you want some more good websites to visit &lt;3</p>]]>
    </description>
    <pubDate>Sun, 03 Nov 2024 12:19:20 -0800</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=29</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#29</guid>
  </item>

  <item>
    <title>stray thoughts after playing dragon quest</title>
    <description>
<![CDATA[<ul>
<li> i had fun paying attention to which elements of dragon quest have become archetypal features of JRPGs (a final boss with multiple forms) and which haven’t (invisible key items hidden on otherwise ordinary tiles) </li>
<li> having replayed gen 1 pokemon earlier this year it struck me how much those games directly borrow from dq1, even down to the mechanics of dungeon exploration (the radiant and return spells for example are directly equivalent to the pokemon moves flash and teleport) </li>
<li> an interesting way dq1 differs from other, later RPGs i’ve played is the structure: every time you die or reload the game you always set out again from tantegel castle. it can be a bit tedious at times so i can see why this didn’t become a common feature, but fighting slimes again every so often does serve to illustrate the player’s gradually increasing strength in a way that you don’t get with more linear games where encounter difficulty is tuned to match the player’s expected level. </li>
<li> i enjoyed the small humorous details like finding a cursed belt that does nothing if you equip it except impede your movement and lock you out of the castle (until you find a wizard who can remove the curse). things like that really give the game personality </li>
</ul>
<p> one quest ends, but JRPG season continues - if you have a suggestion for a game i could play next, send me an email! i want to hear about your freeware faves, retro gems, or something neat you found on itch.io last week &lt;3 </p>]]>
    </description>
    <pubDate>Sat, 26 Oct 2024 14:26:52 -0700</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=28</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#28</guid>
  </item>

  <item>
    <title>finished dragon quest the other day and i think they’re onto something…</title>
    <description>
<![CDATA[<p>…with this whole “role playing game” thing</p>
<p>they should make one or ten (just spitballing) more of these</p>]]>
    </description>
    <pubDate>Thu, 24 Oct 2024 08:46:12 -0700</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=27</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#27</guid>
  </item>

  <item>
    <title>zoneRSS - a Zonelets compatible RSS tool</title>
    <description>
<![CDATA[<p>hey y'all, i'm posting to share a little tool i made recently: <a href="https://adamledoux.net/zoneRSS">zoneRSS</a>.</p>
<p>zoneRSS is a <a href="https://zonelets.net">Zonelets</a>-compatible RSS feed and posting tool. if you're not familiar with it, Zonelets is a free blogging engine by <a href="https://marinakittaka.com/">Marina Kittaka</a> - i use it to write this blog! i love how the design of Zonelets encourages folks to get comfortable with HTML, tinkering on their own small sites, and generally making a space for themselves on the internet: i highly recommend <a href="https://zonelets.net/">checking it out</a> if that sounds at all interesting to you.</p>
<p>anyway, <a href="https://adamledoux.net/zoneRSS">zoneRSS</a> is a set of tools i've made to make it easier for me to post to my Zonelets blog and also share those posts via RSS (a feature Zonelets doesn't include by default). you can install zoneRSS with your own Zonelets blog to add <a href="https://adamledoux.net/zoneRSS/feed.html?post=3">tools for RSS feed updating and post authoring</a>, or use it without Zonelets as a standalone <a href="https://adamledoux.net/zoneRSS/feed.html?post=1">RSS microblog</a>.</p>
<p>a few folks have already tried out zoneRSS and helped me <a href="https://adamledoux.net/zoneRSS/feed.html?post=4">find some bugs</a> and areas where the manual was unclear - shout out to <a href="https://proudmorning.neocities.org/">Kai</a> and <a href="https://xuelder.neocities.org/Blog/">Christian</a> in particular for helping me smooth out some rough edges!</p>
<p>if you try zoneRSS on your own site, send me a message to let me know how it goes!</p>]]>
    </description>
    <pubDate>Mon, 07 Oct 2024 08:41:41 -0700</pubDate>
    <link>https://adamledoux.net/blog/posts/2024-10-07-zoneRSS---a-Zonelets-compatible-RSS-tool.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#26</guid>
  </item>

  <item>
    <title>reblog: New letter column (3rd Voice)</title>
    <description>
<![CDATA[<p>I’ve been really enjoying <a href="https://rice-boy.com/3rdvoice/">3rd Voice</a>’s approach to world building so it’s neat to get this look into some of Evan’s thinking about it - also I just love the idea of having a <a href="https://rice-boy.com/3rdvoice/archive.lettercol.php">letter column</a> for a webcomic</p>]]>
    </description>
    <pubDate>Sat, 28 Sep 2024 14:45:16 -0700</pubDate>
    <link>https://www.tumblr.com/3rdvoice/761959437042909184/new-letter-column</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#25</guid>
  </item>

  <item>
    <title>mug check (2024-09-24)</title>
    <description>
<![CDATA[<img src="https://adamledoux.net/blog/images/2024-08-24-mug.PNG" />

<p>today i had coffee in this crumpet shop mug we got at pike place several years ago. that was a few hours ago (it was an early morning) so i can already feel the effects wearing off… (-_-)</p>

<p>i'm always curious to get a peek at other people’s mug collections, so if you’d like to share what you’re sipping from this morning click the reply link to send me an email!</p>]]>
    </description>
    <pubDate>Tue, 24 Sep 2024 08:31:04 -0700</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=24</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#24</guid>
  </item>

  <item>
    <title>cat photo</title>
    <description>
<![CDATA[<img src="https://adamledoux.net/blog/images/2024-09-23-cat.PNG" />

<p>totoro, aka “mister bitsy cat”, looking cozy this morning</p>]]>
    </description>
    <pubDate>Mon, 23 Sep 2024 08:37:43 -0700</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=23</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#23</guid>
  </item>

  <item>
    <title>good morning!</title>
    <description>
<![CDATA[<p>i’m having gouda on a marbled rye bagel for breakfast - how’s *your* morning going?</p>

<p>(p.s. if you want to reply, try clicking the “reply” link at the bottom of any post to email me &lt;3)</p>]]>
    </description>
    <pubDate>Sat, 21 Sep 2024 08:42:18 -0700</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=22</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#22</guid>
  </item>

  <item>
    <title>if your post only uses the rss title tag, would you call that tosting?</title>
    <description>
<![CDATA[]]>
    </description>
    <pubDate>Tue, 17 Sep 2024 08:50:59 -0700</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=21</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#21</guid>
  </item>

  <item>
    <title>reblog: Blogging on the Phone</title>
    <description>
<![CDATA[ohoho i see michael is trying to start something >:)]]>
    </description>
    <pubDate>Tue, 17 Sep 2024 07:26:46 -0700</pubDate>
    <link>https://virtualmoose.org/2024/09/17/blogging-on-the-phone/</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#20</guid>
  </item>

  <item>
    <title>JRPG season and bitsy updates</title>
    <description>
<![CDATA[<p>it’s <a href="https://bsky.app/profile/adamledoux.net/post/3l3wcld3k7e2w">that time</a> of year <a href="http://adamledoux.net/tweets/adamledoux/status/1566138127969914885/">once again</a>…</p>
<p>…and speaking of fall, this little <a href="https://tallywinkle.itch.io/fall">game poem by tallywinkle</a> is a sweet bitsy ode to the season</p>
<p>bitsy itself is 8 years old this month and i am still tinkering away at it: right now that means <a href="https://ledoux.itch.io/bitsybox/devlog/772121/bitsybox-started-work-on-bitsy-v8x-support">updating bitsybox</a> to support the audio features from v8.0</p>
<p>hey, did you hear that <a href="https://portmaster.games/detail.html?name=bitsybox&amp;devices=">bitsybox has been ported to a variety of linux handhelds</a>? i think that’s pretty neat</p>
<p>outside of bitsy, i’m currently spending my time reading the blogs that have emerged (or re-emerged) in the wake of cohost’s impending closure, messing around with RSS, and playing dragon quest</p>
<p>catch you next time</p>
<p>&lt;3 adam</p>]]>
    </description>
    <pubDate>Mon, 16 Sep 2024 18:54:21 -0700</pubDate>
    <link>https://adamledoux.net/blog/posts/2024-09-16-JRPG-season-and-bitsy-updates.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#19</guid>
  </item>

  <item>
    <title>reblog: Blog Roundup (2024-16-9)</title>
    <description>
<![CDATA[Michael collects some good posts in this roundup! (plus there’s a shout out to “rosting” - and this blog >:D)]]>
    </description>
    <pubDate>Mon, 16 Sep 2024 17:29:17 -0700</pubDate>
    <link>https://virtualmoose.org/2024/09/16/blog-roundup-2024-16-9/</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#18</guid>
  </item>

  <item>
    <title>reblog: Write your blog from your phone</title>
    <description>
<![CDATA[reblogged from my phone in the dentist waiting room ;)]]>
    </description>
    <pubDate>Mon, 16 Sep 2024 11:58:05 -0700</pubDate>
    <link>https://www.todepond.com/wikiblogarden/art/never-stop-writing/on-your-phone/</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#17</guid>
  </item>

  <item>
    <title>reblog: a brief history of barbed wire fence telephone networks</title>
    <description>
<![CDATA[here’s another neat thing you can do with rss posting - share a link! today i read this post by Lori Emerson about the history of independent, cooperatively-run telephone networks that farmers in the 1800s and 1900s built on the cheap in areas where the big telephone companies wouldn’t provide service. it’s a fascinating story i never knew about until now - i recommend reading it!]]>
    </description>
    <pubDate>Sun, 15 Sep 2024 11:48:43 -0700</pubDate>
    <link>https://loriemerson.net/2024/08/31/a-brief-history-of-barbed-wire-fence-telephone-networks/</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#16</guid>
  </item>

  <item>
    <title>hello rss posting</title>
    <description>
<![CDATA[here’s a fun thing: an rss-only post (aka a “rost”)! this is a cool idea that ruby (of https://rubymayvalentine.net/) came up with and what it means is there’s no HTML page to go with this post - instead it just lives in your rss feed. so if you’re reading this, thanks for following this feed! (and if you want to let me know you saw this post, email me at &#x6D;&#x61;&#x69;&#x6C;&#x40;&#x61;&#x64;&#x61;&#x6D;&#x6C;&#x65;&#x64;&#x6F;&#x75;&#x78;&#x2E;&#x6E;&#x65;&#x74; and say hi <3)]]>
    </description>
    <pubDate>Sat, 14 Sep 2024 20:33:25 -0700</pubDate>
    <link>https://adamledoux.net/blog/feed.html?post=15</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#15</guid>
  </item>

  <item>
    <title>my rss feed has moved! (please update your reader)</title>
    <description>
<![CDATA[<p>hey y'all,</p>
<p>i recently learned that my rss was broken on some feed readers - oops :(</p>
<p>it's should be working now, <em>but</em> in order to fix it i had to move it to a new url, so if you're following me in your rss reader, you'll want to resubscribe to the new feed if you want to keep seeing my posts!</p>
<hr>
<p>here's my updated rss feed:</p>
<p><a href="https://adamledoux.net/blog/feed.xml">https://adamledoux.net/blog/feed.xml</a></p>
<p>i hope to be back with a real post soon!</p>
<p>adam</p>
<p>p.s. i'll be updating the old feed to <a href="https://www.rssboard.org/redirect-rss-feed">redirect</a> to the new one in a few days. theoretically that should let rss readers know to update the feed location automatically, but i'm not sure how many readers actually implement that feature, so that's why i'm recommending resubscribing manually.</p>
<p>p.p.s. if you have an rss feed that you want to make sure is working correctly, you can test it with this <a href="https://validator.w3.org/feed/">validator</a>!</p>
<p>p.p.p.s. thank you <a href="https://rubymayvalentine.net/">ruby</a> for letting me know about this issue &lt;3</p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2024-09-14-my-rss-feed-has-moved.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#14</guid>
    <pubDate>
      Sat, 14 Sep 2024 11:00:00 -0800
    </pubDate>
  </item>

  <item>
    <title>it's my blog (and i'll post if i want to)</title>
    <description>
<![CDATA[<p><em>post if i want to, post if i want to</em></p>
<p>discerning blog readers will have noticed i haven't posted anything so far this year - oh no!</p>
<p>partly it’s due to Life Being That Way, partly because i haven't made much progress this year on the projects i was hoping to write about, and partly it’s just me getting in my own head about what makes a Good Enough Post</p>
<p>but that's a bit silly, isn't it? I think <a href="https://nickyflowers.com/blog/post_022324">nicky flowers has the right idea in this blog post</a> - so here's to writing smaller, less perfect posts (but also to being ok with writing no posts at all if i don't feel like it)</p>
<p>this weekend has been cloudy and gray after a stretch of sunshine - i went for a walk earlier this week with my game boy camera and took some pictures of dandelions growing in the back alleys near where i live (the beeps drew one neighbor to their back fence and we ended up having a conversation about vintage calculators). i haven't had time to do anything with them yet, but you can check out my older photos <a href="https://adamledoux.net/photos/">here</a> if you want</p>
<p>something else i've been getting into lately is <a href="https://merveilles.town/@ldx/112235974872836013">bookmarklets</a> - little javascript programs you keep in your browser bookmarks that can do useful (or just fun!) things with a webpage you have open. maybe someday i'll write more about what i appreciate about them (for starters, because bookmarklets are saved locally by your browser, once you save one it's yours to keep and modify as you see fit - you never have to worry about it being changed or <a href="https://www.404media.co/nytimes-files-copyright-takedowns-against-hundreds-of-wordle-clones/">taken down</a> unexpectedly)</p>
<p>for now though, here's a fun little bookmarklet i made - a clone of a certain popular word-guessing game:</p>
<p><a href='javascript: if (confirm("~*~*~ NETTLE ~*~*~\nthe word guessing game where the net is your dictionary!\n\nready to play?")) { var wrong = String.fromCodePoint(0x2B1C); var almost = String.fromCodePoint(0x1F7E8); var found = String.fromCodePoint(0x1F7E9); var corpus = document.body.innerText.replace(/[^a-zA-Z]/g, " ").toUpperCase().split(" "); var dictionary = {}; for (var i in corpus) { if (corpus[i].length === 5) { dictionary[corpus[i]] = true; } }; var words = Object.keys(dictionary); if (words.length <= 0) { alert("oh no! there are no five letter words on this page :("); } else { alert("found " + words.length + " five letter words on this page: " + window.location + "\n\nyou have six chances to guess the answer!"); var date = new Date(); var seed = date.getYear() * date.getMonth() * date.getDate(); var answer = words[seed % words.length]; var chance = 0; var guess = ""; hints = []; while (guess != answer && chance < 6) { guess = prompt(hints.join("\n") + "\n\nguess the five letter word! (chance " + (chance + 1) + "/6)", "").toUpperCase(); if (guess.length != 5 || guess.search(/[^a-zA-Z]/g) != -1) { alert("guess must be a five letter word using the latin alphabet!\n\nplease try again >:P"); } else { var letters = answer.split(""); var hint = [ wrong, wrong, wrong, wrong, wrong ]; for (var i = 0; i < 5; i++) { if (guess[i] != letters[i]) continue; hint[i] = found; letters[i] = " "; } for (var i = 0; i < 5; i++) { if (hint[i] != wrong) continue; var n = letters.indexOf(guess[i]); if (n === -1) continue; hint[i] = almost; letters[n] = " "; } hints.push(hint.join("") + " " + guess); chance++; } } if (guess === answer) { alert("YOU WON!\n\nsharp guess ;)\n\nthe word was: " + answer); } else { alert("YOU LOST!\n\noh, that stings :(\n\nthe word was: " + answer); } var result = "NETTLE " + (guess === answer ? chance : "X") + "/6\n"; result += "(" + date.toLocaleString("us").split(",")[0] + " @ " + window.location + ")\n"; for (var i = 0; i < hints.length; i++) { result += hints[i].split(" ")[0] + "\n"; } alert(result); } }'>NETTLE</a></p>
<p>to play:</p>
<ul>
<li>right click the link above and save it as a bookmark</li>
<li>visit any webpage - ones with a decent amount of text work best</li>
<li>open the bookmarklet to start the game</li>
<li>the program will choose a random five-letter word from the page you're on, and you have six chances to guess it!</li>
</ul>
<p>here's my results from playing today using the full text of the tempest:</p>
<p>NETTLE X/6<br />
(5/19/2024 @ <a href="https://shakespeare.mit.edu/tempest/full.html">https://shakespeare.mit.edu/tempest/full.html</a>)<br />
⬜🟩🟩⬜⬜<br />
⬜🟩🟩⬜⬜<br />
⬜🟩🟩⬜⬜<br />
⬜🟩🟩⬜🟨<br />
⬜🟩🟩🟩🟩<br />
⬜🟩🟩🟩🟩</p>
<p>if you play, send me your score - hopefully you'll do better than me!</p>
<p>(note: the word the game chooses stays the same if you play on the same page and the same day as someone else, allowing for friendly competition if you want that)</p>
<p>see y'all around!</p>
<p>-adam</p>
<p><em>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</em></p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2024-05-19-its-my-blog-and-ill-post-if-i-want-to.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#13</guid>
    <pubDate>
      Sun, 19 May 2024 11:15:00 -0700
    </pubDate>
  </item>

  <item>
    <title>What's up? December 2023</title>
    <description>
<![CDATA[<p>hey there! i hope everyone reading this is hanging in there as we trudge toward the end of the year (and, if you’re in the northern hemisphere, that you’re keeping warm with the <a href="https://cohost.org/ldx/tagged/tea%20check">hot drink of your choice</a>)</p>
<p>it’s been a minute since i last updated the blog - life kind of snuck up on me </p>
<p>anyways, here’s what i’ve been up to lately!</p>
<hr>
<h2 id="news">news</h2>
<ul>
<li>i'm going to be a guest on <a href="http://indiepocalypse.com/radio">indiepocalypse radio</a> next saturday (december 9th). the show starts 2pm ET - i hope you’ll tune in! <ul>
<li>if you can’t listen live, there will be a <a href="http://indiepocalypse.com/podcast">recorded podcast version</a> too</li>
<li>oh and you can <a href="http://indiepocalypse.com/questions">submit questions</a> here if you have something you’d like to ask me or the other guests!</li></ul></li>
<li>there <em>will</em> be a bitsy jam this month: if you have a theme idea you can post it over in <a href="https://ledoux.itch.io/bitsy/devlog/645024/suggest-a-bitsyjam-theme-for-december">this month’s suggestion thread</a> on itch &lt;3</li>
<li>i added a <a href="https://with-the-last-moonbeam.neocities.org/gallery">gallery page</a> to WITH THE LAST MOONBEAM’s website that includes a couple of photos of it in the artcade exhibit at the delaware contemporary </li>
<li>i haven’t had much time for photography this year but i recently added a <a href="https://adamledoux.net/photos/2023-10-22.html">small set of game boy camera shots</a> from earlier this year that i liked</li>
</ul>
<h2 id="reading">reading</h2>
<p>i had some time to read during the week of thanksgiving, so i made a (small) dent in my shamefully large book pile. the books i finished reading were:</p>
<ul>
<li>Chronicle of a Death Foretold by Gabriel García Márquez  </li>
<li>Shuna’s Journey by Hayao Miyazaki</li>
<li>The Skull by Jon Klassen</li>
</ul>
<p>tbh i don't have much to say about them except they were all bangers! none of them are very long either so they’re good choices if you’re looking for a short read &lt;3</p>
<p>(i also have to confess that i immediately undid some of that hard-won progress decreasing the strain on my night table by picking up a copy of Kelly Link’s short story collection “White Cat, Black Dog”. only one story in but I’m enjoying it a lot so far.)</p>
<p>i've also been reading some blog posts on my kindle (<a href="https://adamledoux.net/blog/posts/2023-03-01-A-Rube-Goldberg-Machine-For-Reading.html">as one does</a>). or actually, rereading some i felt a need to return to. these two posts (part of a series) by leeroy lewin of <a href="https://vextro.site/">vextro</a> in particular still felt resonant. i'll leave you with this pair of very good passages:</p>
<p>here's something from <a href="https://vextro.site/essays/easygames">Imagining Decentralized Videogame Culture: Easy Game Development</a>:</p>
<blockquote>
  <p>It’s okay to just make things. Make things for your friends, or for a close collaborator. Make things for yourself. It’s a fast way to feel better! More than that, or how “feeling better” is accomplished, is by feeling connected to a history of culture, community, and practice.</p>
</blockquote>
<p>and this from <a href="https://vextro.site/essays/unpro">Imagining Decentralized Videogame Culture: Unprofessional Game Criticism</a>:</p>
<blockquote>
  <p>Rather than organizing around fame, success, and power, a decentralized videogame culture views game making as something people do, as inconsequential (or conversely consequential) as someone filming their cooking process, or someone writing sad poetry for no one else in a notepad app. An embrace of mundane game making.</p>
</blockquote>
<p>well that's all i've got right now - until next time! &lt;3</p>
<p><em>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</em></p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2023-12-03-Whats-Up-December-2023.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#11</guid>
    <pubDate>
      Sun, 03 Dec 2023 20:40:00 -0800
    </pubDate>
  </item>

  <item>
    <title>What's up? August 2023</title>
    <description>
<![CDATA[<p>Hey y'all,</p>
<p>Hard to believe it's been another month since I last posted here! Somehow we're already entering the final quarter of year. </p>
<p>For a week or so here in the Seattle we had some awful wildfire <a href="https://ledoux.itch.io/aqi155">smoke</a> that kept us trapped indoors, but thankfully the weather has turned around since then and things are starting to feel a bit like fall. <a href="https://adamledoux.net/tweets/adamledoux/status/1566138127969914885/">Time to break out the knitwear, a Nintendo DS, and a lengthy JRPG.</a></p>
<p>But enough about the weather - what else has been going on?</p>
<hr>
<h2 id="news">News</h2>
<ul>
<li>September is the start of <a href="https://museumofscreens.wordpress.com/2023/08/22/bisty-fest-september-15th-to-october-22nd-2023/">BITSY FEST</a> which will be hosted by <a href="https://museumofscreens.wordpress.com/">Museum of Screens</a>. The event will include a game jam and a virtual exhibit to celebrate bitsy's 7th anniversary! I think it's going to be super cool. :)</li>
<li>Also next month: <a href="https://with-the-last-moonbeam.neocities.org/">WITH THE LAST MOONBEAM</a>, my GBA game, will be shown at <a href="https://www.decontemporary.org/artcade">The Delaware Contemporary's ARTCADE</a> exhibit. If you happen to be in the Wilmington area, you should check it out! (And if not, you can always download the game from itch.io - or play in your browser!)</li>
</ul>
<h2 id="reading">Reading</h2>
<ul>
<li>Did you know that <a href="https://marinakittaka.com/">Marina Kittaka</a> recently started a newsletter called <a href="https://marinakittaka.substack.com/">Night Berries</a>? I've been enjoying it, especially this post she wrote about <a href="https://marinakittaka.substack.com/p/what-is-weird-and-funny-art">what goes into making art that's weird and funny</a>. If that sounds interesting, I recommend checking it out!</li>
<li>For fiction reading, I’m working my way through a re-read of Gene Wolfe’s <em>The Book of the New Sun</em>. I’m following along with the first season of <a href="https://rangedtouch.com/shelved-by-genre/">Shelved By Genre</a> and I’m finding the discussion and analysis is really enriching this read-through of the series. (They even commissioned <a href="https://rangedtouch.com/2023/08/25/dr-taloss-play-eschatology-and-genesis/">an audio drama adaptation of the play from the second book</a>.)</li>
</ul>
<h2 id="playing">Playing</h2>
<ul>
<li>I’ve been playing Cave Noire when I need something quick to distract me while rocking one of the babies. </li>
<li>Meanwhile over on cohost I’ve been soliciting name suggestions for my team in Pokémon Red. <a href="https://cohost.org/ldx/tagged/name%20my%20pokemon">There have been some fun ones!</a></li>
<li>And I also recently picked back up a moribund save file of Final Fantasy 6 that I abandoned a while ago when a battle stumped me. Now - with a little help from GameFAQs! - I’m unstuck, so maybe I’ll get back some momentum on continuing that game.</li>
</ul>
<p>Thanks as always for reading my rambling thoughts, but now it’s your turn, because I have a question for you:</p>
<p><strong>What’s your favorite piece of media (book, movie, game, whatever) to return to in the fall?</strong> Let me know in the comments!</p>
<p>Well, that's all for now - until next time, stay well! &lt;3</p>
<p><em>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</em></p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2023-08-31-Whats-Up-August-2023.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#9</guid>
    <pubDate>
      Thu, 31 Aug 2023 19:00:00 -0800
    </pubDate>
  </item>

  <item>
    <title>Good Night Tweet Prince</title>
    <description>
<![CDATA[      <p><em>Now cracks a noble heart. Good night sweet prince: / And flights of angels sing thee to thy rest!</em></p>
      <p><img src="https://adamledoux.net/blog/images/2023-07-31-cover.jpg" alt="The Ghost of the King Appearing to Hamlet, Horatio and Guards (Hamlet, Act 1, Scene 4)" style="width: 100%;" /></p>
        <p><em><a href="https://commons.wikimedia.org/wiki/File:The_Ghost_of_the_King_Appearing_to_Hamlet,_Horatio_and_Guards_(Hamlet,_Act_1,_Scene_4)_MET_DP812399.jpg">The Ghost of the King Appearing to Hamlet, Horatio and Guards (Hamlet, Act 1, Scene 4)</a> by Anonymous</em></p>
        <p>I was pretty sure I wouldn't write a post here this month. It's been <a href="https://cohost.org/ldx/post/2225510-life-has-taken-a-rea">a hard week</a> and it seemed like this little site and these little words might need to wait a while. But today I found myself wanting to write something here after all. Nothing big or important, just... something. I suppose writing here has become a comforting part of my routine.</p>
        <p>And what's more routine these days than - you guessed it! - complaining about twitter dot com? (Now <em>that's</em> what I call a segue.)</p>
        <h2 id="now-cracks-a-noble-heart-good-night-sweet-princehttpwwwshakespeare-onlinecomplayshamlet_5_2html--and-flights-of-angels-sing-thee-to-thy-rest">Now cracks a noble heart. <a href="http://www.shakespeare-online.com/plays/hamlet_5_2.html">Good night sweet prince</a>: / And flights of angels sing thee to thy rest!</h2>
        <p>Well, it finally happened. I've decided to say goodbye to Twitter.</p>
        <p>What was the last straw? Was it the annoying new name? <a href="https://www.pcmag.com/news/elon-musk-will-train-his-ai-project-using-your-tweets">The fact that tweets are apparently going to be the training data for a "politically incorrect" (read: racist) chatbot?</a> Or just the fact that whenever I log on these days I end up spending most of my time blocking ads for cryptocurrency get-rich-quick schemes and reading about all the <em>other websites</em> people are moving to?</p>
        <p>In any case, tonight I'm locking my account so that my tweets will no longer be publicly visible. If you're already following me, I'll continue to post the usual bitsy updates (and reminders to <a href="https://adamledoux.net/">follow me elsewhere</a>) for the next month or so. After that, I intend to delete my account permanently.</p>
        <p>I won't deny there's a melancholy to all this. Yet another public space has been ruined by yet another billionaire. But now that it comes down to it, it's not proving too hard for me to move on. I'm having a great time posting on <a href="https://cohost.org/ldx">cohost</a> and <a href="https://merveilles.town/@ldx">mastodon</a>! (Hey, did I already mention <a href="https://adamledoux.net/">you should follow me elsewhere</a>?)</p>
        <p>And as the old saw goes: Twitter may die, but the tweets live on. I've made a <a href="https://adamledoux.net/tweets/">public archive of my tweets</a> using Darius Kazemi's excellent <a href="https://tinysubversions.com/twitter-archive/make-your-own/">archiving tool</a>, in case you'd like to see anything I tweeted between when I joined in August 2011 and when I last downloaded my Twitter archive in November 2022 - that's over a decade of tweets! (<a href="https://webcomicname.com/post/675809200717381632">Oh no.</a>) I was never the cleverest or most insightful of tweeters, but maybe it will prove useful to someone. If nothing else, now you'll always be able to find <a href="https://adamledoux.net/tweets/adamledoux/status/787434344776241153/">my first tweet about bitsy</a>.</p>
        <p>If you'd like to stay in touch or keep up to date on my work, you've got a lot of options:</p>
        <ul>
        <li>For one thing, you're already reading <a href="https://adamledoux.net/blog">my blog</a>, so you're off to a great start! (Subscribe to my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or <a href="https://www.freelists.org/list/adamledoux">email newsletter</a> if you want to be notified whenever I post here.)</li>
        <li>Following me on <a href="https://ledoux.itch.io/">itch.io</a>, <a href="https://cohost.org/ldx">cohost</a>, and <a href="https://merveilles.town/@ldx">mastodon</a> are also great ways to stay in touch.</li>
        <li>If you <em>just</em> want bitsy news, you can follow <a href="https://digipres.club/@bitsy">bitsy on mastodon</a> or <a href="https://cohost.org/bitsy">bitsy on cohost</a> to learn about engine updates, jams, etc.</li>
        <li>And of course my <a href="https://adamledoux.net">personal website</a> will always have my most up-to-date contact info and links to everywhere else you can find me around the net. &lt;3</li>
        </ul>
        <h2 id="playing--reading">Playing &amp; reading</h2>
        <p>So what I been playing and reading lately?</p>
        <p>Well, I recently started playing <a href="https://lilyv.itch.io/bossgame">BOSSGAME: The Final Boss&nbsp;Is My Heart</a> and so far it's both difficult and delightful - I recommend it!</p>
        <p>And <a href="https://analemma.substack.com/p/analemma-3-the-cyber-fall-of-the">Camille Butera's latest post over on Substack</a> really hit home for me, especially this bit:</p>
        <blockquote>
          <p>Something I say a lot is that the internet is a haunted house. The internet stores its dead, holds the history of the lives on it close. But the problem with haunted houses is that even they can be burnt to the ground. And what happens to the ghosts when that house is destroyed? Where can they go, holding all our memories, all of our ties, but into the ether?</p>
        </blockquote>
        <p>(By the way, according to the end of that post, if you have a <a href="https://neocities.org/">Neocities</a> site she'd like to talk to you about it! So if that's you, maybe drop her a line?) </p>
        <p>Well, that's all I've got for this post - until next time, stay well! &lt;3</p>
        <p><em>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</em></p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2023-07-31-Good-Night-Tweet-Prince.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#8</guid>
    <pubDate>
      Mon, 31 Jul 2023 22:30:00 -0800
    </pubDate>
  </item>

  <item>
    <title>What's up? June 2023</title>
    <description>
<![CDATA[<p>Hey y'all, I don't have a big essay this month - just an assortment of news and updates!</p>
<p>So, what's up?</p>
<ul>
<li><strong>Work from me is going to appear in two exhibits starting in July!</strong><ul>
<li>There is going to be a <a href="https://twitter.com/p3p3ron/status/1674176322627686403">bitsy showcase in the Arcade gallery</a>  <a href="https://www.vam.ac.uk/young">of the newly re-opened Young V&A</a> museum in London! I got to contribute a little advice and technical support for this project, and it looks like it turned out super cool. It opens in July but it's a permanent part of the exhibit, so if you're ever in London I think it will be worth a visit! &lt;3</li>
<li>In addition, my game <a href="https://ledoux.itch.io/mossland">mossland</a> will be shown at <a href="https://dizzyspell.xyz/">DIZZY SPELL</a>'s new exhibition "<a href="https://www.denvermov.com/exhibitions/dizzy">SHORT and SWEET</a>" throughout the month of July (the exhibition is part of the <a href="https://www.denvermov.com/">Denver Month of Video</a>, aka MOV), alongside with several other great games including Cecile Richard's classic bitsy game <a href="https://haraiva.itch.io/under-a-star-called-sun">UNDER A STAR CALLED SUN</a>. If you're going to be in the Denver area during July, you should check it out!</li></ul></li>
<li>There's also a couple other bits of bitsy news:<ul>
<li>I <a href="https://ledoux.itch.io/bitsy/devlog/549274/v85">updated bitsy to v8.5</a> in order to make a small bugfix. (just don't ask how long it's been since the previous update...)</li>
<li>I also recently made <a href="https://digipres.club/@bitsy">a Mastodon account for bitsy news and announcements</a> - it's going to be a good way to get updates on bitsy jams and that sort of thing!</li></ul></li>
<li>And lastly, some WITH THE LAST MOONBEAM things too:<ul>
<li>I made a little <a href="https://adamledoux.net/games/moonbeam/">web page and trailer</a> for the game! I'm pretty happy with how they turned out.</li>
<li>And in case you missed it, I also wrote <a href="https://adamledoux.net/blog/posts/2023-05-31-Notes-On-With-The-Last-Moonbeam.html">a blog post about making the game</a> ;)</li></ul></li>
</ul>
<p>I haven't had time to play much in the way of games recently, but I am <a href="https://cohost.org/ldx/post/1767898-don-t-talk-to-me-unt">enjoying reading</a> the <a href="https://itch.io/b/1913/buttonhook-1">first issue of buttonhook</a> - imo it's a cool project that I hope continues, so give them some support if you can!</p>
<p>See y'all next time &lt;3</p>
<p><em>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</em></p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2023-06-29-Whats-Up-June-2023.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#7</guid>
    <pubDate>
      Thu, 29 Jun 2023 12:55:00 -0800
    </pubDate>
  </item>

  <item>
    <title>Please sign my guestbook!</title>
    <description>
<![CDATA[<p>Hey again!</p>
<p>Just writing with a brief update about the blog: I added comments!</p>
<p>You should see them at the bottom of every post now, including older ones. So, for example, if you have any thoughts or questions about <a href="https://adamledoux.net/blog/posts/2023-05-31-Notes-On-With-The-Last-Moonbeam.html">my recent postmortem of WITH THE LAST MOONBEAM</a> please go ahead and say hello in the comments.</p>
<p>Also, since I couldn't help myself, I used the comments feature to make a new guestbook page. &gt;:)</p>
<p><a href="https://adamledoux.net/blog/guestbook.html">Please sign my guestbook!</a></p>
<p>&lt;3</p>
<p>(P.S. I'm using <a href="https://disqus.com/">Disqus</a> for the comments. If you use an ad blocker you might need to disable that to use the comments section - sorry.)</p>
<p><em>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</em></p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2023-06-04-Please-Sign-My-Guestbook.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#6</guid>
    <pubDate>
      Sun, 04 Jun 2023 07:00:00 -0800
    </pubDate>
  </item>

  <item>
    <title>Notes on WITH THE LAST MOONBEAM</title>
    <description>
<![CDATA[<p><img src="https://adamledoux.net/blog/images/2023-05-31-cover.jpeg" alt="Early sketch of the world of WITH THE LAST MOONBEAM" /><br />
<em>Early sketch of the world of WITH THE LAST MOONBEAM.</em></p>
<h2 id="looking-back">Looking back</h2>
<p>Last month when I published <a href="https://adamledoux.net/games/moonbeam/">WITH THE LAST MOONBEAM</a> I said that I wanted to write something to reflect on the project. A couple of days after that, however, my partner and I had twins… so I’ve been a little too exhausted to do any blogging. Honestly I’m still exhausted (and I’m not expecting that to change any time soon), but I really want to get some thoughts down while they’re still fresh in my mind. So here goes!</p>
<hr>
<p><img src="https://adamledoux.net/blog/images/2023-05-31-prototype.png" alt="In one prototype the player was a goat with a sword." /><br />
<em>In one prototype the player was a goat with a sword.</em></p>
<h2 id="project-timeline">Project timeline</h2>
<p>MOONBEAM began as a response to creative doldrums I was stuck in during the early phases of the pandemic. After several years of exclusively focusing my game making practice on <a href="https://make.bitsy.org/">Bitsy</a> and Bitsy games I was feeling some burnout and wanted to branch out a little.</p>
<p>I’d also become interested in the advantages of emulators and virtual machines as a way to distribute software, in large part thanks to the <a href="https://100r.co/site/weathering_software_winter.html">writings of Hundred Rabbits</a>. Having some prior experience with GBA programming, I felt I could pick that up again with relative ease, and I knew I liked the <a href="https://www.copetti.org/writings/consoles/game-boy-advance/">hardware’s balance of capabilities and constraints</a>.</p>
<p>What I didn't realize was that I was embarking on a two and a half year project!</p>
<p>Here’s a rough outline of how I spent that time:</p>
<ul>
<li><strong>Fall 2020:</strong> Got reacquainted with the basics of GBA programming. No clear idea yet what sort of game I wanted to make. </li>
<li><strong>Winter 2020:</strong> Decided to try and build some momentum by working on a small non-game project. Ended up making the music toy <a href="https://ledoux.itch.io/pocket-calliope-adv">POCKET CALLIOPE ADV</a> and learned more about GBA audio hardware in the process.</li>
<li><strong>January 2021:</strong> Our first kid is born! Put down work on GBA programming for most of the first half of the year. </li>
<li><strong>Summer 2021:</strong> Tried to restart work on the game by joining <a href="https://itch.io/jam/gbajam21">GBA Jam 2021</a>, but didn't make much progress during the jam.</li>
<li><strong>Fall 2021 - Winter 2021:</strong> Worked on a series of prototypes, none of which went anywhere. A low point for the project; considered giving up and moving onto something else.</li>
<li><strong>Spring 2022:</strong> Had my first big breakthrough on the project when I settled on how I wanted to tackle the art and mechanics for the game. This clarified the requirements for the game engine and allowed me to start making real progress.</li>
<li><strong>Summer 2022:</strong> Around this time I had my second big breakthrough - this time on the nature of the setting and story for the game. Made <a href="https://ledoux.itch.io/we-fly-the-loop">WE FLY THE LOOP</a> to explore these ideas further. Momentum on the project finally picking up.</li>
<li><strong>Fall 2022 - Winter 2022:</strong> Work on MOONBEAM really gets going. The work proceeds through a series of drafts: blocking out the overworld, filling in the tutorial area, implementing a skeleton of the main quest, detailing the rest of the overworld, filling in the story details, etc. I do some playtesting between drafts.</li>
<li><strong>Winter 2023 - Spring 2023:</strong> The final stretch! Added music and save system, fixed a lot of bugs, and made final story revisions. <a href="https://ledoux.itch.io/moonbeam">Published the game on itch.io</a> on March 15th.</li>
</ul>
<p><img src="https://adamledoux.net/blog/images/2023-05-31-tiles.png" alt="In the tileset for MOONBEAM's overworld (shown here open in Aseprite) you can see tiles from several of my past Bitsy games. Choosing to stick with Bitsy-style tiles was a big turning point in the project." /><br />
<em>In the tileset for MOONBEAM's overworld (shown here open in Aseprite) you can see tiles from several of my past Bitsy games. Choosing to stick with Bitsy-style tiles was a big turning point in the project.</em></p>
<h2 id="struggles--breakthroughs">Struggles &amp; breakthroughs</h2>
<p>I want to expand a little on the two breakthroughs I mentioned in the previous section, since I think they're both interesting in different ways:</p>
<ul>
<li><strong>Breakthrough 1 - Art & mechanics:</strong> One thing I struggled with at first in this project was how to approach the art for the game. I had a preconception in my head about what GBA game art "should" look like (think the big sprites and detailed backgrounds of a <a href="https://www.spriters-resource.com/game_boy_advance/thelegendofzeldatheminishcap/sheet/6540/">Minish Cap</a> or a <a href="https://www.spriters-resource.com/game_boy_advance/mother3/sheet/16899/">Mother 3</a>). I experimented with larger sprites in my prototypes, but it was obvious it was going to be too labor intensive. Instead I ended up embracing the large library of 8x8 sprites and tiles I'd created over the years for my Bitsy games. Reusing this art not only saved a ton of time, but it also influenced the way I approached the design of the game. Placing the little Bitsy sprites in the comparatively large canvas of the GBA screen gave the game space an open, slightly lonely feeling that I liked. And it reminded me of one of my favorite games: <a href="https://nifflas.ni2.se/games/">Knytt</a> (and its sequel <a href="https://www.knyttlevels.com/">Knytt Stories</a>). I decided I would make a Knytt-like, borrowing that game's climbing mechanics and its quilt-like world map of fixed-size screens, while putting my own spin on it with Bitsy-like dialogue and graphics. I think this is an interesting illustration of the way a practical, time-saving decision can end up impacting the fundamental feel of a game.</li>
<li><strong>Breakthrough 2 - Setting & story:</strong> I also struggled with the story for MOONBEAM. I had some vague notions of the themes and mood of the game from start - maintenance and repair, community and connection - but I had tremendous difficulty honing in on the specifics. Then one day, while walking home from the park with our toddler, I daydreamed about a universe where planets are born from seeds, then take the form of giant animals and wander the cosmos until they eventually settle into orbit around a star, after which they slowly accumulate landmasses, seas, etc. until they become an ordinary planet. It plays only a background role in the story I ended up telling in the game, and it's not necessarily <a href="https://en.wikipedia.org/wiki/Discworld_(world)">the most original idea</a>, but somehow this was the spark that unstuck me. The rest of the story seemed to come relatively easily. This breakthrough, in contrast to the previous one, was <em>not</em> a result of a practical decision on my part - in fact it has an almost mystical quality in its out-of-nowhere-ness. It was a good reminder to me of the way art relies on elements of ourselves that are outside our direct control. We can't summon them on our own schedule; we just have to be ready to listen when they arrive.</li>
</ul>
<p><img src="https://adamledoux.net/blog/images/2023-05-31-twine.png" alt="Top-left: A passage in Twine. Bottom-right: The game code generated from that passage." /><br />
<em>Top-left: A passage (fisher1) in Twine. Bottom-right: The game code generated from that passage.</em></p>
<p><img src="https://adamledoux.net/blog/images/2023-05-31-tiled.png" alt="This is map where the passage is used open in Tiled, with the fisher NPC selected. You can see the JavaScript that triggers the dialogue in the custom properties panel on the bottom left of the window." /><br />
<em>This is map where the passage is used open in Tiled, with the fisher NPC selected. You can see the JavaScript that triggers the dialogue in the custom properties panel on the bottom left of the window.</em></p>
<p><img src="https://adamledoux.net/blog/images/2023-05-31-fishin-hole.gif" alt="And this is the resulting conversation playing in-game." /><br />
<em>And this is the resulting conversation playing in-game.</em></p>
<h2 id="tools--resources">Tools &amp; resources</h2>
<p>I’m always curious about what tools people use to make their games, so I thought I’d do a rundown of the toolkit I ended up using for MOONBEAM:</p>
<ul>
<li>🌳 <strong>Dogwood Engine:</strong> This is the game engine I wrote for MOONBEAM (“dogwood” was my placeholder name for the project - chosen for the tree I used to climb in my front yard as a kid). It’s all written in C but it also has a JavaScript scripting layer which I used for one-off interactions, cinematics, and dialogue (more on that below). The core of the engine is an entity component system which is used for the main game logic, player control, and NPC behavior. There are also smaller systems for managing tile-mapped stages, the world map, sound effects, and music. There’s a fixed point math library and even a small physics engine (which was probably kind of overkill: at one point I thought physics would be important to gameplay but in the end <a href="https://merveilles.town/@ldx/109283999625818928">I mainly used it for the jumping frogs</a> - they are quite cute though, so really who can say whether spending the time to write the physics engine was good or bad).</li>
<li>🦆 <strong><a href="https://duktape.org/">Duktape</a>:</strong> This is the JavaScript engine I used. I’d used it before for <a href="https://ledoux.itch.io/bitsybox">bitsybox</a> and liked it, which is why I chose it for my scripting layer in this project. Honestly I was pretty impressed with how well it worked on the limited resources of the GBA! I did encounter some memory constraints when using it for the dialogue system though.</li>
<li>🕹 <strong><a href="https://mgba.io/">mGBA</a>:</strong> This is the GBA emulator I did all my testing on. It works great, has nice debug tools, and it's actively maintained - there are some great features on the roadmap for the future. Recommended!</li>
<li>⌨️ <strong><a href="https://www.sublimetext.com/">Sublime Text</a>:</strong> My text editor. I've done most of my programming in it for years and you’ll have a hard time prying me away from it. Don’t talk to me about VS Code - I’m sure it’s lovely, but I wouldn’t know. &gt;:P Anyway I made a lot of use of Sublime Text’s <a href="https://www.sublimetext.com/docs/build_systems.html">build system</a> feature for this project to launch various scripts for converting data into GBA compatible formats, building the game, etc. </li>
<li>📓 <strong><a href="https://obsidian.md/">Obsidian</a>:</strong> I began using Obsidian as my note-taking software partway through working on MOONBEAM and I really love it! (In fact I'm writing this blog post in obsidian right now.) It quickly became the place I did all my note taking, brainstorming, and project management. It has an extensive <a href="https://obsidian.md/plugins">plugin library</a>, and I made particular use of <a href="https://github.com/mgmeyers/obsidian-kanban">kanban</a> plugin for task tracking while I was working on for MOONBEAM. I started using Obsidian based on a recommendation from my dad: so, thanks dad! </li>
<li>🗺 <strong><a href="https://www.mapeditor.org/">Tiled</a>:</strong> The map editor I used for creating individual stages and laying out the overworld. Overall works really well for its main purpose, but I do wish the custom properties for map objects allowed nested/structured data - it would have been really helpful for organizing the properties on objects by component type (instead I had to resort to using a special naming convention). I used its <a href="https://www.mapeditor.org/docs/scripting/">scripting API</a> to export the levels into the format (C files) my engine could understand.</li>
<li>🎨 <strong><a href="https://www.aseprite.org/">Aseprite</a>:</strong> The sprite editor I used for this game. I'd played with it a little before, but this was the first large project I used it for - and it's as good as everyone says. Similar to Tiled, I used its <a href="https://www.aseprite.org/api/">scripting API</a> for exporting sprites as C files - scriptable extensions are nice!</li>
<li>🖋 <strong><a href="https://ifarchive.org/indexes/if-archive/programming/twine/">Twine 1.4.2</a>:</strong> I wrote all the dialogue in Twine, which worked well for me - it was nice to be able to see the conversation flow laid out spatially. (Why not use <a href="https://twinery.org/">Twine 2</a> or <a href="https://yarnspinner.dev/">Yarn Spinner</a>? tbh <a href="https://i.redd.it/wgimxlypchy11.jpg">I just think Twine 1 is neat</a>) To get the dialogue into the game I first would export it as a .twee file, then use a script I wrote to convert it to a frankly extremely hacky hybrid JS + C output. The reason for this odd format is that originally the output was <em>all</em> JS: this started out fine (and the flexibility was nice for early experimentation), but as the size of the project grew eventually the memory required by Duktape to interpret all that JS became too much for the poor GBA to handle. By then however the dialogue flow logic was so en-<em>twined</em> (get it?) with the scripting layer that it was more trouble than it was worth to completely move everything to C, so I ended up porting <em>enough</em> C to keep memory demands low without having to extract all of the logic from the JS scripting layer. Whew. Let’s just say I’m glad no one except for me has to read or understand this code… (But hey - it works!)</li>
<li>🎹 <strong><a href="https://boscaceoil.net/">Bosca Ceoil</a>:</strong> This is a capable little music tool by <a href="https://terrycavanagh.itch.io/">Terry Cavanagh</a> (yes, “<a href="https://terrycavanagh.itch.io/super-hexagon">Super Hexagon</a> Terry Cavanagh"!). I found it friendly to learn for a non-expert like me, and the musical scale feature was a helpful aid to composition. Plus it outputs a <a href="https://github.com/TerryCavanagh/boscaceoil/blob/master/boscaceoil%20fileformat.txt">simple text format</a> that wasn’t hard to parse. </li>
</ul>
<p>If you’re reading this and are interested in GBA programming but aren’t sure where to start, here are some of the resources I found helpful:</p>
<ul>
<li><strong><a href="http://kylehalladay.com/blog/tutorial/gba/2017/03/28/GBA-By-Example-1.html">GBA By Example</a>:</strong> This set of tutorials by Kyle Halliday was what I used to reacquaint myself with GBA programming. It covers basic topics like game loops, reading input, and graphics modes. I found it really helpful to have a step by step guide like this at the start. </li>
<li><strong><a href="https://coranac.com/tonc/text/">Tonc</a>:</strong> This is probably the most thorough and well-known text on GBA programming out there. I didn’t read it cover to cover but I referred to most chapters at least once in the course of this project, and some I reread several times. The chapters on <a href="https://coranac.com/tonc/text/objbg.htm">tiles and sprites</a> in particular were indispensable. </li>
<li><strong><a href="https://problemkaputt.de/gbatek.htm">GBATEK</a>:</strong> This is documentation of the GBA hardware (rather than a guide or tutorial). Not something I used frequently but it was helpful for trickier topics like audio and save memory. A good reference to have handy. </li>
<li><strong><a href="https://gbadev.net/">gbadev.net</a>:</strong> For more, I suggest this <a href="https://gbadev.net/resources.html">list of resources</a> (from articles and guides to toolkits and game engines) as a jumping off point. It's maintained by the group that runs the GBA jams on itch, and they also have a discord!</li>
</ul>
<p><img src="https://adamledoux.net/blog/images/2023-05-31-sunbeam.png" alt="A panel from &quot;On a Sunbeam&quot; by Tillie Walden." /><br />
<em>A panel from "On a Sunbeam" by Tillie Walden.</em></p>
<h2 id="influences--inspirations">Influences &amp; inspirations</h2>
<p>Another thing I'm always curious about is what influences people are drawing from when they make their games. It's fascinating to me to see the ways folks' games are in conversation with each other, as well as with other media, and ordinary life. So here's a (necessarily only partial) list of things that inspired me while working on MOONBEAM:</p>
<ul>
<li><strong><a href="https://nifflas.ni2.se/games/">Knytt / Knytt Stories</a>, Nifflas.</strong> I already mentioned above how much of an influence these games had on MOONBEAM. They're freeware, so go play them right now! &gt;:P</li>
<li><strong>Night in the Woods, Infinite Fall.</strong> I was definitely thinking about NITW when making the dialogue system for MOONBEAM. It's also one of my go-to reference points for games with a protagonist who feels like a real person (as opposed to just being an avatar for the player).</li>
<li><strong><a href="https://www.onasunbeam.com/">On a Sunbeam</a>, Tillie Walden.</strong> Beautiful, surreal, melancholy space opera - one of my all-time favorite comics.</li>
<li><strong>Bee and PuppyCat, Natasha Allegri et al.</strong></li>
<li><strong>Yokohama Kaidashi Kikou, Hitoshi Ashinano.</strong></li>
<li><strong>Nausicaä of the Valley of the Wind, Hayao Miyazaki et al.</strong></li>
<li><strong>The Dispossessed, Ursula K. Le Guin.</strong></li>
<li><strong><a href="https://itch.io/games/made-with-bitsy">Every Bitsy game</a>.</strong> Is this one cheating? I don't know, but I do know that playing and making Bitsy games has been foundational to how I design games, especially when it comes to storytelling and pacing. To just pick one, I think I am constantly trying to make a game with vibes as pitch-perfect as <a href="https://twitter.com/mousefountain">G.P.</a>'s <a href="https://mousefountain.itch.io/the-tower-at-night">The Tower At Night</a>.</li>
<li><strong><a href="https://adamledoux.net/photos/2022-08-13.html">Walking around my neighborhood</a>.</strong></li>
<li><strong><a href="https://melodicambient.neocities.org/">Writing</a> <a href="https://farawaytimes.blogspot.com/">by other</a> <a href="https://brlka.com/">game</a> <a href="https://myfriendpokey.tumblr.com/">makers</a>.</strong></li>
<li><strong>My partner, Mary-Margaret.</strong> When I got stuck on some design decision or other, I'd always ask myself: <a href="https://cohost.org/ldx/post/1008270-my-game-design-secre">What would Mary-Margaret enjoy?</a> What would amuse or annoy her? This game could not exist without her. &lt;3</li>
</ul>
<p><img src="https://adamledoux.net/blog/images/2023-05-31-notes.jpeg" alt="More sketches and notes about WITH THE LAST MOONBEAM from my notebook." /><br />
<em>More sketches and notes about WITH THE LAST MOONBEAM from my notebook.</em></p>
<h2 id="looking-ahead">Looking ahead</h2>
<p>Thanks for indulging me in this bit of retrospection! I’ve been living with this project for a while now, so it feels good to take a moment to look back over the whole process before moving on.</p>
<p>This game was my largest to date. If there's one thing I’ve learned working on it that I will carry forward with me for future games, it's probably that when working on a larger project you have to get comfortable with not always being able to see the whole picture of what you’re making. Any designs or plans you have at the start are at best a map through untravelled country.</p>
<p>I'm not sure exactly what I'm going to work on next. I think it would be interesting to see if I can make another game with the Dogwood Engine (ideally something smaller though) to see how re-usable it is beyond this one game. Or maybe I'll try participating in a couple of jams. Of course, I also have a long list of potential game ideas in my notebook... but for now I think I want to try to allow myself some time where I'm not committed to anything very large.</p>
<p>If you want to keep up with what I'm working on, please consider <a href="https://adamledoux.net/blog/feed.xml">subscribing</a> to my blog via RSS.</p>
<p>Stay well y'all! :)</p>
<p><em>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</em></p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2023-05-31-Notes-On-With-The-Last-Moonbeam.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#5</guid>
    <pubDate>
      Wed, 31 May 2023 21:00:00 -0800
    </pubDate>
  </item>

  <item>
    <title>I Published A New Game!</title>
    <description>
<![CDATA[<p><img src="https://adamledoux.net/blog/images/2023-04-16-cover-moonbeam.png" alt="The cover image for &quot;WITH THE LAST MOONBEAM&quot; shows the title overlaid on a screen from the game" /></p>
<h2 id="with-the-last-moonbeam">With the Last Moonbeam</h2>
<p>I published my new videogame <a href="https://ledoux.itch.io/moonbeam">WITH THE LAST MOONBEAM</a> last night - you can download it <a href="https://ledoux.itch.io/">from my page on itch.io</a>! I've been working on this game in some form on and off since late 2020 - I picked back up on GBA programming as a lockdown hobby - so, as you can imagine, it feels really good to finally put it out into the world.</p>
<p>It's also super cool to see folks already playing it on their own hardware! I love seeing photos of the game in people's hands, so please share your photos with me <a href="https://merveilles.town/@ldx">on social media</a> or in the <a href="https://ledoux.itch.io/moonbeam">comments on the itch.io page</a> if you get it running. &lt;3</p>
<hr>
<h2 id="whats-next">What's next?</h2>
<p>Even though the game is finished, I still have some extras I'd like to make for it when I have time.</p>
<p>For one, I'd really like to write a postmortem about the process of making this game on this blog. After a few years of working on it, I have a lot of thoughts I need to get out of my head. Plus I've been learning a lot by reading other folks' postmortems recently (like the ones that John Thyer has been writing on <a href="https://farawaytimes.blogspot.com/2023/02/jellyfish-archipelago.html">his</a> <a href="https://farawaytimes.blogspot.com/2023/02/gardens-of-vextro.html">blog</a>) so I'd like to contribute my own.</p>
<p>I also have some ideas for a zine in the style of an old game manual. I think it would be really fun to make it with <a href="https://alienmelon.itch.io/electric-zine-maker">Electric Zine Maker</a> and add it to the game page as a printable PDF.</p>
<p>That said, neither of these things are going to happen in the short term... As it happens, my partner and I are expecting twins literally any day now! So I'm going to have my hands full for a while. &gt;:P</p>
<p>Well, I think that's it for this post - thanks for reading!</p>
<p><em>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</em></p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2023-04-16-I-Published-A-New-Game.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#4</guid>
    <pubDate>
      Sun, 16 Apr 2023 13:30:00 -0800
    </pubDate>
  </item>

  <item>
    <title>A Rube Goldberg Machine For Reading</title>
    <description>
<![CDATA[<p><img src="https://adamledoux.net/blog/images/2023-03-01-cover.png" alt="A black and white Game Boy Camera photo of a car engine" title="A black and white Game Boy Camera photo of a car engine" /></p>
<h2 id="what-a-year-huh-captain-its-marchhttpstwittercomwhataweekhuh">What a year, huh? (<a href="https://twitter.com/whataweekhuh">Captain, it's March.</a>)</h2>
<p>So, our toddler started daycare at the beginning of February. Predictably, that means the whole household has been sick on and off all month, first with a pretty nasty cold, then a bout of COVID. (It took three years, but it finally got us.) Luckily the COVID was pretty mild; I guess the vaccines did their work and softened the blow. Still, all told, I think I spent more of February sick than not.</p>
<p>As you can imagine, it hasn't been the <em>most</em> productive month for my various projects, although I'm trying not to beat myself up about it. I'm still <a href="https://cohost.org/ldx/post/1092139-gif-of-prologue-scen">making progress on my new game</a>, but it's slow.</p>
<hr>
<h2 id="a-rube-goldberg-machine-for-reading">A Rube Goldberg machine for reading</h2>
<p>One thing I did have energy for was reading. Particularly, reading blogs. Wouldn't you know it, there's a lot of good writing out there on the world wide web!</p>
<p>I'll put a couple of links at the end of this to posts that particularly stuck with me last month, but first I thought it would be fun to write a little about a rickety contraption I've been constructing over the course of the past year. It's an amalgamation of various bits of software and hardware that I've come to think of as my Rube Goldberg machine for reading.</p>
<p>In 2022 I spent a decent amount of time, on and off, thinking about the way I read online. What got me on this kick was reading <a href="https://emreed.net/hand-held">this excellent essay by Emilie Reed</a> about imagining alternate futures for handheld tech beyond the hegemony of the smartphone. I recommend reading the whole thing, but this particular paragraph got me to dust off my old Kindle, which had been sitting unused in a drawer for years:</p>
<blockquote>
  <p>Another gadget that has lasted me and my partner a surprisingly long time is a 3rd generation Kindle. These are the ones that have a simple e-ink screen and keyboard, and also have a free 3G connection. While Amazon is an unambiguously evil corporation, these devices are weirdly utopian; the free internet connection and smooth, well-featured reading experience they offer for whatever public domain or pirated ebooks you can load onto them really makes it feel like a device that wants to connect you to knowledge, let you find it and make bookmarks in it and take notes. In the landscape of consumer grade technologies it really has no right working this well and lasting this long. And yet it does; surely, given the direction Amazon has taken its e-reader line in now, it was an accident. But it's possible, you know.</p>
</blockquote>
<p>At the time I was feeling down about the way I read online. The general pattern I'd fallen into was: scroll Twitter on my phone, find an article that sounds interesting, open it in a new tab ("for later", I'd tell myself), keep scrolling and keep opening tabs until the sheer number of tabs felt like a physical weight. At which point I'd close them all at once, mostly unread, and repeat. The whole process would leave me anxious and annoyed.</p>
<p>But I didn't want to just <a href="https://twitter.com/dril/status/247222360309121024">log off</a> and read a book. So I rooted around for the particular kind of outmoded USB cable necessary to recharge my Kindle, and started figuring out how to read blog posts on it in This The Year Of Our Lord 202X. As of this writing, the whole Rube Goldberg machine looks like this:</p>
<ol>
<li>Find blog posts and articles on social media or via RSS<sup id="footnote1-back"><a href="https://adamledoux.net/blog/posts/2023-03-01-A-Rube-Goldberg-Machine-For-Reading.html#footnote1">[1]</a></sup>.</li>
<li>When I see something interesting, I send it to <a href="https://getpocket.com/">Pocket</a>, Mozilla's service for <del>hoarding links</del> saving things to read later, using the "Save to Pocket" feature that's built in to Firefox (I believe there are extensions for other browsers, too). </li>
<li>This next step is probably the most interesting. <a href="https://calibre-ebook.com/">Calibre</a>, the open source ebook management program I use, has a "news" feature that can pull down articles from an RSS feed and convert them it into an ebook. <em>And Pocket can create an RSS feed from all your saved links.</em> Put those two things together and, with only a little setup, I was able to press a button and make an ebook of all the articles I've saved and put it on my Kindle!</li>
<li>???<sup id="footnote2-back"><a href="https://adamledoux.net/blog/posts/2023-03-01-A-Rube-Goldberg-Machine-For-Reading.html#footnote2">[2]</a></sup></li>
<li>Read!</li>
</ol>
<p>If this all sounds like a lot of work, maybe it is, a little. I'm not sure I could justify it from a practical perspective. But, you know, first off (because I'm a big dork) I find this kind of thing Fun, Actually. And second, I've come to see the slowness of the process as a feature rather than a bug.</p>
<p>Sure, by the time I find a moment to sit down, plug in my Kindle, wiggle the USB a bit so it connects properly, and wait for Calibre to compile the saved links into an ebook, it's often been a month since I originally found the posts I'm downloading. But that's ok. I don't actually need to read these things immediately. In fact, maybe half of them I end up deciding I'm not that interested in after all.</p>
<p>But the things I <em>do</em> end up reading this way, I feel like I can give them the attention they deserve; they're not competing with an endless stream of other posts that might be somehow <em>more</em> urgent, more <em>important</em>. It's my little hideout away from the currents of The Algorithm were I can peruse the flotsam, jetsam, and unexpected treasures I've rescued from its swirling eddies. And I get some real joy from finding new uses for this gadget that's supposed to be obsolete.</p>
<h2 id="some-good-links">Some good links</h2>
<p>Hey, you made it all the way down here - thanks for reading this far! Here are links to a couple of the posts that really stuck with me recently.</p>
<p>This is my friend pokey writing about <a href="https://myfriendpokey.tumblr.com/post/705461201521573889/personal-aesthetics">personal aesthetics</a>:</p>
<blockquote>
  <p>art as a lucky dip bag that holds equal chance of turning out to contain a plastic whistle, two lollipops, a magic ring or somebody’s hand</p>
</blockquote>
<p>And brlka on <a href="https://brlka.com/posts/2022-09-12-ten-principles-for-making-games">ten principles for making games</a>:</p>
<blockquote>
  <p>Freak energy is self-indulgence. It’s joyful creation. It’s what you do for no reason other than you like it. The best art is made by powerful freaks who see their vision through to completion, and if there’s a formula to good art, it’s freak energy trammelled just enough to be accessible to those willing - and no further.</p>
</blockquote>
<p>Ok, I can't resist a second quote from that piece, since it's something I always need to remind myself of:</p>
<blockquote>
  <p>Make a promise to yourself that your current project is only a stepping stone on a longer path and not your masterpiece.</p>
</blockquote>
<p>That's it for now - until next time, take care, y'all!</p>
<p><em>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</em></p>

<hr/>

<p id="footnote1"><a href="https://adamledoux.net/blog/posts/2023-03-01-A-Rube-Goldberg-Machine-For-Reading.html#footnote1-back">[1]</a>: For RSS readers, I'm using <a href="https://netnewswire.com/">NetNewsWire</a> on my phone (which I really like) and <a href="https://feedly.com/">Feedly</a> on my laptop (which I'm less excited about).</p>
<p id="footnote2"><a href="https://adamledoux.net/blog/posts/2023-03-01-A-Rube-Goldberg-Machine-For-Reading.html#footnote2-back">[2]</a>: Recently I've taken this setup one step further. I use <a href="https://obsidian.md/">Obsidian</a> for notes and there's a plugin that helps import highlights from your Kindle into your Obsidian notebook. That's how I got the quotes to go with my reading recommendations at the end of this post! Hopefully this ouroborian power doesn't go to my head...</p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2023-03-01-A-Rube-Goldberg-Machine-For-Reading.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#3</guid>
    <pubDate>
      Wed, 01 Mar 2023 20:42:00 -0800
    </pubDate>
  </item>

  <item>
    <title>There Were Snow Flurries This Morning</title>
    <description>
<![CDATA[      <p><img src="https://adamledoux.net/blog/images/2023-01-31-cover.png" alt="A black and white Game Boy Camera photo of evergreen trees silhouetted by the sky" /></p>

      <h2 id="hey-yall">Hey y'all!</h2>

      <p>Welcome back - I hope everyone is staying safe and warm in the new year. Here in Seattle, I actually saw snow flurries outside my window this morning!</p>

      <p>So, what have I been up to lately?</p>

      <hr>

      <p>Things are pretty slow with Bitsy just now, but there are still a couple pieces of news:</p>

      <ul>

        <li>A recording of the talk I gave on Bitsy last year is <a href="https://youtu.be/51LCXnBJG-M">up on YouTube</a>, so if you missed it live you can watch it now if you'd like. :)</li>

        <li>Also, it's the <a href="https://twitter.com/adamledoux/status/1616617334990602244">end of an era</a>: the Bitsy Talk <a href="https://itch.io/blog/478874/bitsyjam-69-important-announcement-about-the-bitsy-forum-and-discord-channel">Discord server is winding down</a>. To give folks an alternative place to discuss games they're working on, swap tips &amp; tricks, etc. I've re-launched the <a href="https://ledoux.itch.io/bitsy/community">itch.io forum</a> - I'd love to see you over there, so come <a href="https://itch.io/t/2583861/introduce-yourself">say hi</a>!</li>

      </ul>

      <p>Outside of Bitsy, I'm steadily chipping away at the exploration platformer game I've been working on for a while, and <a href="https://cohost.org/ldx/post/869769-tower-in-the-sky">I've been posting about it</a> (mostly screenshots) from time to time over on <a href="https://cohost.org/ldx">cohost.org</a>. It's been a nice low effort way to feel like I'm making progress. After I'm done with the game I'm hoping to spend some time writing in more depth about the process of making it, what my goals were, and the various tools I've used or made while working on it.</p>

      <p>Until then, here's a GIF of a funky rendering bug I'm still trying to fix:</p>

      <p><img src="https://adamledoux.net/blog/images/2023-01-31-bug.gif" alt="GIF of videogame where random sprite textures show up when the player jumps" /></p>

      <h2 id="what-am-i-reading">What am I reading?</h2>

      <ul>
  
        <li><a href="https://100r.co/site/weathering_software_winter.html">weathering software winter</a> by Devine of Hundred Rabbits: I think the work they're doing with the Uxn virtual machine is super cool, so it's fascinating to learn more about the journey behind it.</li>

        <li>I liked this <a href="https://nickyflowers.neocities.org/blog/post_011723">post about a good sandwich</a> by Nicky Flowers :)</li>

      </ul>

      <h2 id="what-am-i-playing">What am I playing?</h2>

      <p>Here are a couple of Bitsy games I played recently that I thought were great:</p>

      <ul>

        <li><a href="https://fffrog.itch.io/abandoning">Abandoning</a> by Fffrog</li>

        <li><a href="https://yasmisi.itch.io/the-bottomless-well">The Bottomless Well</a> by yas.misi</li>

      </ul>

      <p><em>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</em></p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2023-01-31-There-Were-Snow-Flurries-This-Morning.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#2</guid>
    <pubDate>
      Tue, 31 Jan 2023 23:50:00 -0800
    </pubDate>
  </item>

  <item>
    <title>I Regret To Inform You I'm A Blogger Now</title>
    <description>
<![CDATA[      <p>I published my <a href="https://adamledoux.net/blog/posts/2022-12-18-Hello-World.html">first blog post</a> yesterday and now I've become A Blog Guy. Oh no lol >:P</p>

      <p>This post is just to announce a few additions to the blog that I didn't have time to do last night. I've added two ways you can get updated when I post: an <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a>, or, if you prefer email, a <a href="https://www.freelists.org/list/adamledoux">newsletter</a>. I'll update both whenever I post here, which should be roughly once a month. It would mean a lot to me if you decide to follow along!</p>

      <p>I've also <a href="https://adamledoux.net/blog/about.html">updated my about page</a> with links to some other Zonelets blogs I enjoy reading + links to other places you can find me online.</p>

      <p>And here are a couple of bonus links!</p>

      <ul>
        <li>What I'm playing: <a href="https://stonehollow.itch.io/fateful-lore">Fateful Lore</a> by Stonehollow Workshop. I've been sick with a cold for the past week, and this fun little old-school RPG for phones was a great way to pass the time when I didn't have the energy for much else. I found it based on <a href="https://indiehellzone.com/">Indie Hell Zone</a>'s <a href="https://twitter.com/IndieHellZone/status/1579577513524748291">recommendation</a>.</lie>
        <li>What I'm reading: This essay by Sofia Samatar: <a href="https://www.pw.org/content/old_verdurin_in_his_frock_coat_on_literatures_found_objects">Old Verdurin in His Frock Coat: On Literature’s Found Objects</a>.</li>
      </ul>

      <p><i>If you want to get updates when I publish a new post, you can follow my <a href="https://adamledoux.net/blog/feed.xml">RSS feed</a> or subscribe to my <a href="https://www.freelists.org/list/adamledoux">email newsletter</a>. Thanks for reading!</i></p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2022-12-19-I-Regret-To-Inform-You-Im-A-Blogger-Now.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#1</guid>
    <pubDate>
      Mon, 19 Dec 2022 09:20:00 -0500
    </pubDate>
  </item>

  <item>
    <title>Hello World</title>
    <description>
<![CDATA[      <p>Hey, hello, check check. Is this thing on? >:P</p>

      <p>Welcome to my blog!</p>

      <hr>

      <p>For a while I've I have had it in the back of my head that "someday" I'd set up a personal blog, but recent events over at Twitter motivated me to make someday *today*.</p>

      <p>A brief introduction: My name is <a href="https://adamledoux.net">Adam Le Doux</a> and if you know me you probably know me from my work on <a href="https://bitsy.org">Bitsy</a>.</p>

      <p>My plan for this blog is to post updates on what I'm working on, thinking about, reading, and playing. I'm not certain yet how frequent those posts will be, but my starting goal is roughly once a month.</p>

      <p>In that spirit, here are some things I worked on in the past couple of months:</p>

      <ul>
        <li>I gave <a href="https://gamesnow.aalto.fi/adam-le-doux-building-bitsy-a-little-engine-for-little-games-worlds-and-stories/">a talk about Bitsy</a> for Games Now! - it was a lot of fun! I'm told there will be a recorded version up eventually, and I'll post about that here whenever that's available</li>
        <li>In the meantime you can play the manifesto game I made for the talk over on itch.io: it's called "<a href="https://ledoux.itch.io/in-praise-of-weird-game-engines">in praise of weird game engines</a>."</li>
        <li>Over on Cohost, I wrote a longish post about <a href="https://cohost.org/ldx/post/443058-programming-snake-on">programming a Casio calculator</a> that I think is worth a read. It even includes the full source code for the game I wrote!</li>
        <li>Oh and one last thing: The 68th (!!) #bitsyjam starts in a few days - <a href="https://itch.io/jam/bitsy-68-hibernation">the jam page is already up on itch.io so you can join right now</a>! I hope you'll make a small game with us <code><3</code></li>
      </ul>
      
      <p>Thanks for reading! If you have thoughts on this blog or just want to say "hi", <a href="https://adamledoux.net">my email is listed on my homepage</a>. I hope I'll see you around! :)</p>

      <p>- Adam</p>

      <p>P.S. A note about the URL change: If you've followed my work for a while, you might be used to my homepage being ledoux.io. When I bought that address I didn't know about .io's origins, but I've since <a href="https://j3s.sh/thought/.io-domains-considered-harmful.html">learned about its history</a> and it's become impossible for me to ignore both the ethical and practical concerns with making that my main address. So I'm transitioning to using adamledoux.net! For a while ledoux.io will continue to work (so I don't break a ton of old links) but I'll be phasing it out over time.</p>]]>
    </description>
    <link>https://adamledoux.net/blog/posts/2022-12-18-Hello-World.html</link>
    <guid isPermaLink="false">https://adamledoux.net/blog/feed.xml#0</guid>
    <pubDate>
      Sun, 18 Dec 2022 23:30:00 -0500
    </pubDate>
  </item>
</channel>
</rss>
