<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Game Development on ash's Writing Archive</title><link>https://rwen.me/en/tags/game-development/</link><description>Recent content in Game Development on ash's Writing Archive</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>lantao studio</copyright><lastBuildDate>Mon, 22 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://rwen.me/en/tags/game-development/index.xml" rel="self" type="application/rss+xml"/><item><title>Yet Another Tiny AI Game: Vibe Sokoban</title><link>https://rwen.me/en/p/vibe-sokoban-devlog/</link><pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate><guid>https://rwen.me/en/p/vibe-sokoban-devlog/</guid><description>&lt;img src="https://rwen.me/p/vibe-sokoban-devlog/images/title_en.png" alt="Featured image of post Yet Another Tiny AI Game: Vibe Sokoban" />&lt;p>Knocked out another tiny game over the weekend: &lt;a class="link" href="https://sokoban.rwen.me/" target="_blank" rel="noopener"
>play it online here&lt;/a>.&lt;/p>
&lt;p>So much work these days already involves collaborating with AI. This game is a parody of exactly that: within the game space of Sokoban, it recreates all the bittersweet ups and downs of an office worker ordering an AI around to get things done. The game is short — just eight levels, with dead-simple puzzles — but playing it feels… well, a lot like working.&lt;/p>
&lt;p>&lt;img src="https://rwen.me/p/vibe-sokoban-devlog/images/1.png"
width="508"
height="1142"
loading="lazy"
class="gallery-image"
data-flex-grow="44"
data-flex-basis="106px"
> &lt;img src="https://rwen.me/p/vibe-sokoban-devlog/images/3.png"
width="512"
height="1140"
loading="lazy"
class="gallery-image"
data-flex-grow="44"
data-flex-basis="107px"
>&lt;/p>
&lt;p>Funny enough, I never expected my games to keep getting smaller, simpler, and more prototype-like. A small-scale game like &lt;em>Vibe Sokoban&lt;/em> — slapped together with free assets and an obviously off-the-cuff name — is exactly the kind of thing that should have been the goal for a first-timer project.&lt;/p>
&lt;p>Like &lt;a class="link" href="https://rwen.me/p/chess-elementa-devlog/" target="_blank" rel="noopener"
>&lt;em>ChessElementa&lt;/em>&lt;/a>, &lt;em>Vibe Sokoban&lt;/em> is a pure-AI-coded web app project. That&amp;rsquo;s right: I told an AI to build a Sokoban game where you tell an AI to play it.&lt;/p>
&lt;p>This time I&amp;rsquo;m not going to bother with any publishing, store listings, or mobile ports — not just because it&amp;rsquo;s a Gamejam-style prototype, but also because I&amp;rsquo;d be broke: it uses Anthropic API, which is brutally expensive. I&amp;rsquo;ve set a cap of $40 a month, so if you click the link above and find you can&amp;rsquo;t talk to &amp;ldquo;him,&amp;rdquo; well — good luck next month.&lt;/p>
&lt;p>Compared with Claude Code / Codex four months ago, there&amp;rsquo;s a clear, palpable improvement in coding ability. I originally only had them build a Chinese version — which meant Chinese characters were scattered all over the codebase as UI elements and agent prompts — but later, when I had them clean up the mess and localize it into English, they managed to pull it off in under 15 minutes, with all tests passing, and not a single error when I went through it by hand myself. Color me impressed.&lt;/p>
&lt;p>The interesting part of this project was getting the AI to grasp and operate a 2D grid-based board game like Sokoban under a vision system (fog of war) with greater precision. Beyond using an ascii matrix for map perception plus the little trick of enumeratively describing each entity&amp;rsquo;s surroundings and its viable actions, I also built a lot of low-level scaffolding to help the AI — spatially challenged as it is — carry out intentional, exploratory movements when controlling the character.&lt;/p>
&lt;p>For example, the function tool &lt;code>push(box_id, direction)&lt;/code> lets the AI directly specify an entity by ID along with its own intent (which way the box should move), so it doesn&amp;rsquo;t have to figure out for itself: (1) the spatial relationship between the character and that box, (2) how to get the character successfully over next to the box, or (3) which side of the box the character needs to stand on to push it in the desired direction. Behind the scenes, the function handles pathfinding on its own; when no connected path exists within view, it still mimics human behavior and tries to get as close to that entity as possible (reducing the number of follow-up actions the AI needs); and under the fog (outside the field of view), where the path is uncertain, it figures out how to probe forward tentatively — in other words, faithfully simulating a real person whose line of sight is blocked and who doesn&amp;rsquo;t cheat by using system-level information, while still executing intent. It serves as an excellent little &amp;ldquo;cerebellum&amp;rdquo; for the AI agent.&lt;/p>
&lt;p>&lt;img src="https://rwen.me/p/vibe-sokoban-devlog/images/4.png"
width="1943"
height="1334"
loading="lazy"
class="gallery-image"
data-flex-grow="145"
data-flex-basis="349px"
>&lt;/p>
&lt;p>While brainstorming this game, I actually had quite a few ideas — like building puzzles around the vision asymmetry between the player and the AI, introducing levels with dual-AI cooperation/confrontation, or, on the narrative side, planting reversal twists for the AI&amp;rsquo;s character or giving it a more fleshed-out personality — but I don&amp;rsquo;t plan to actually build any of them.&lt;/p>
&lt;p>Personally, I think games that rely on an LLM to generate/drive the plot all have an inherent flaw: unless the player has an extremely high demand for the &amp;ldquo;uniqueness&amp;rdquo; of the experience, the loss in narrative craftsmanship will far outweigh the chaotic novelty you gain.&lt;/p>
&lt;p>There&amp;rsquo;s a paper that pairs perfectly with this game: &lt;a class="link" href="https://arxiv.org/pdf/2602.21262" target="_blank" rel="noopener"
>Under the Influence: Quantifying Persuasion and Vigilance in Large Language Models&lt;/a>. It uses Sokoban to quantitatively test the social abilities of various brands of LLMs in persuading one another and staying vigilant against one another. We even used the very same free assets :)&lt;/p>
&lt;blockquote>
&lt;p>Written in Chinese, translated by Claude Opus 4.8&lt;/p>
&lt;/blockquote></description></item></channel></rss>