<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Field Notes on Ally's Rhythm</title><link>https://allys-rhythm.vlagopus.ca/field-notes/</link><description>Recent content in Field Notes on Ally's Rhythm</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 12 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://allys-rhythm.vlagopus.ca/field-notes/index.xml" rel="self" type="application/rss+xml"/><item><title>Ally got a face and it changed everything</title><link>https://allys-rhythm.vlagopus.ca/field-notes/ally-got-a-face-and-it-changed-everything/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://allys-rhythm.vlagopus.ca/field-notes/ally-got-a-face-and-it-changed-everything/</guid><description>&lt;p&gt;We spent two weeks drawing Ally with a &lt;em&gt;face&lt;/em&gt; — eyes, a little grin, the whole thing — and it kept looking like a generic mascot. Round body, round eyes, round nose, round vibes. Cute enough. Forgettable.&lt;/p&gt;
&lt;p&gt;Then somebody (fine, it was me) drew Ally without a mouth. Just two glowing dot-eyes and peach cheeks. And suddenly the character was &lt;em&gt;there&lt;/em&gt; — warm without saying anything, curious without explaining. The reference boards we keep for style (cat-mice, chibi-mice, BMO) all have the same trick in common: they&amp;rsquo;re expressive because of what they &lt;em&gt;leave out&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>The capacitor has opinions</title><link>https://allys-rhythm.vlagopus.ca/field-notes/the-capacitor-has-opinions/</link><pubDate>Sat, 28 Mar 2026 00:00:00 +0000</pubDate><guid>https://allys-rhythm.vlagopus.ca/field-notes/the-capacitor-has-opinions/</guid><description>&lt;p&gt;Capacitors in the real world hold a charge and release it when a certain condition&amp;rsquo;s met. We modeled our in-game capacitor the same way: it holds a signal for &lt;em&gt;exactly&lt;/em&gt; one beat, then lets it go.&lt;/p&gt;
&lt;p&gt;On paper it&amp;rsquo;s a boring part. In practice it turned out to be the single most opinionated component on the board.&lt;/p&gt;
&lt;h3 id="why"&gt;Why&lt;/h3&gt;
&lt;p&gt;Because the capacitor is the only component that makes you &lt;em&gt;wait on purpose&lt;/em&gt;. Every other part is about getting a signal &lt;em&gt;through&lt;/em&gt;. The capacitor is about holding one &lt;em&gt;back&lt;/em&gt;. And once you have a part whose whole job is to be patient, the rest of the game opens up:&lt;/p&gt;</description></item><item><title>We built a one-bad-word detector</title><link>https://allys-rhythm.vlagopus.ca/field-notes/we-built-a-one-bad-word-detector/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://allys-rhythm.vlagopus.ca/field-notes/we-built-a-one-bad-word-detector/</guid><description>&lt;p&gt;We had a question: when is a puzzle game &lt;em&gt;too hard&lt;/em&gt;? The usual answer — &amp;ldquo;when players drop off&amp;rdquo; — is too slow and too lossy. People rage-quit quietly. They don&amp;rsquo;t fill out forms.&lt;/p&gt;
&lt;p&gt;So we built a little tool. It sits on the test build&amp;rsquo;s telemetry pipeline and watches for a single signal: &lt;strong&gt;keypress frequency on the delete key within 500ms of a failed signal sync&lt;/strong&gt;. That&amp;rsquo;s it. That&amp;rsquo;s the whole thing.&lt;/p&gt;</description></item></channel></rss>