<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 劉寅</title>
    <description>The latest articles on DEV Community by 劉寅 (@ryuutora1986).</description>
    <link>https://dev.to/ryuutora1986</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3868125%2F8679b192-6c08-4201-a146-a799deb93752.png</url>
      <title>DEV Community: 劉寅</title>
      <link>https://dev.to/ryuutora1986</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ryuutora1986"/>
    <language>en</language>
    <item>
      <title>Direct AI game screens vs controlled game screens: what changed?</title>
      <dc:creator>劉寅</dc:creator>
      <pubDate>Sun, 03 May 2026 07:48:09 +0000</pubDate>
      <link>https://dev.to/ryuutora1986/direct-ai-game-screens-vs-controlled-game-screens-what-changed-5afp</link>
      <guid>https://dev.to/ryuutora1986/direct-ai-game-screens-vs-controlled-game-screens-what-changed-5afp</guid>
      <description>&lt;p&gt;Strong image models can already produce polished game UI screenshots.&lt;/p&gt;

&lt;p&gt;The harder question is whether those screenshots are useful as production evidence.&lt;/p&gt;

&lt;p&gt;I tested six common game-screen cases two ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a direct prompt baseline&lt;/li&gt;
&lt;li&gt;a controlled workflow using a screen brief, layout contract, style contract, IP/lookalike gate, locked prompt, review score, revision prompt, and implementation notes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The six cases were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;match-3 HUD&lt;/li&gt;
&lt;li&gt;card battle&lt;/li&gt;
&lt;li&gt;tower defense&lt;/li&gt;
&lt;li&gt;SLG map&lt;/li&gt;
&lt;li&gt;roguelike reward&lt;/li&gt;
&lt;li&gt;narrative choice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result was not a simple "controlled is always prettier" claim.&lt;/p&gt;

&lt;p&gt;The more useful result was narrower:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the controlled version kept gameplay state clearer&lt;/li&gt;
&lt;li&gt;the layout was easier to review&lt;/li&gt;
&lt;li&gt;UI hierarchy was easier to explain&lt;/li&gt;
&lt;li&gt;rejected lookalike cases were caught before publication&lt;/li&gt;
&lt;li&gt;implementation notes were easier to write after review&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That matters because many AI game UI images fail after the image step. They look polished, but they do not tell a developer what state the screen is in, which elements are runtime text, which areas are safe for localization, or what needs to be rebuilt as components.&lt;/p&gt;

&lt;p&gt;The workflow I am testing is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SCREEN_BRIEF
-&amp;gt; LAYOUT_CONTRACT
-&amp;gt; VISUAL_STYLE_CONTRACT
-&amp;gt; IP_SIMILARITY_GATE
-&amp;gt; IMAGE_PROMPT_LOCKED
-&amp;gt; IMAGE_REVIEW
-&amp;gt; REVISION_PROMPT
-&amp;gt; IMPLEMENTATION_NOTES
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The full case article is here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hakurokudo.com/tools/direct-vs-skill-controlled-game-screens.html" rel="noopener noreferrer"&gt;https://hakurokudo.com/tools/direct-vs-skill-controlled-game-screens.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is also a free Sample Pack with real images, review notes, and rejected-case boundaries:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hakurokudo.com/tools/game-screen-generation-control.html" rel="noopener noreferrer"&gt;https://hakurokudo.com/tools/game-screen-generation-control.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The paid beta is available on Gumroad and itch.io if this matches your workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gumroad: &lt;a href="https://liuyin01.gumroad.com/l/game-screen-generation-control-paid-beta" rel="noopener noreferrer"&gt;https://liuyin01.gumroad.com/l/game-screen-generation-control-paid-beta&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;itch.io: &lt;a href="https://hakurokudo.itch.io/game-screen-generation-control-skill" rel="noopener noreferrer"&gt;https://hakurokudo.itch.io/game-screen-generation-control-skill&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Boundary note: this is a workflow/control Skill, not a UI asset pack, not a copyright guarantee, and not a promise that generated images can be used directly as final game assets.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>design</category>
      <category>gamedev</category>
      <category>ui</category>
    </item>
    <item>
      <title>Release Guard Lite — 一个 10 秒搞定发版风险检查的 CLI 工具</title>
      <dc:creator>劉寅</dc:creator>
      <pubDate>Wed, 08 Apr 2026 15:44:02 +0000</pubDate>
      <link>https://dev.to/ryuutora1986/release-guard-lite-ge-10-miao-gao-ding-fa-ban-feng-xian-jian-cha-de-cli-gong-ju-1460</link>
      <guid>https://dev.to/ryuutora1986/release-guard-lite-ge-10-miao-gao-ding-fa-ban-feng-xian-jian-cha-de-cli-gong-ju-1460</guid>
      <description>&lt;p&gt;最近做了一个小工具，解决自己发版前总是忘记检查的问题。分享给大家看看有没有用。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;痛点：&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;用 AI 写代码（Copilot / Cursor / Claude），改了什么文件有时候自己都不清楚&lt;/li&gt;
&lt;li&gt;小团队没有专门的 code review 流程&lt;/li&gt;
&lt;li&gt;发版前靠记忆检查，容易漏&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Release Guard Lite 做的事情很简单：&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;读 git diff，看改了哪些文件&lt;/li&gt;
&lt;li&gt;检测高风险文件（数据库迁移、认证、支付、环境变量）&lt;/li&gt;
&lt;li&gt;跑你配置的检查命令（测试、lint、类型检查）&lt;/li&gt;
&lt;li&gt;给出风险等级：LOW / MEDIUM / HIGH&lt;/li&gt;
&lt;li&gt;生成 Markdown 报告，可选推送到 Discord
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx release-guard-lite init   &lt;span class="c"&gt;# 生成配置&lt;/span&gt;
npx release-guard-lite run    &lt;span class="c"&gt;# 执行检查&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;风险判断是确定性规则，不是 AI 猜测。配置就一个 JSON 文件，零学习成本。&lt;/p&gt;

&lt;p&gt;CI 里也能用，medium/high 时退出码为 1，可以直接阻断合并。&lt;/p&gt;

&lt;p&gt;技术栈：Node.js 20 + TypeScript + simple-git + execa + zod，没有重依赖。&lt;/p&gt;

&lt;p&gt;MIT 开源：&lt;a href="https://github.com/RyuuTora1986/release-guard-lite" rel="noopener noreferrer"&gt;https://github.com/RyuuTora1986/release-guard-lite&lt;/a&gt;&lt;br&gt;
npm: &lt;code&gt;npm install -g release-guard-lite&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;欢迎反馈，特别想知道大家觉得还缺什么功能。&lt;/p&gt;

</description>
      <category>automation</category>
      <category>cli</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
