<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>The Heartless Corner</title><description>Between Rain &amp; Me</description><link>https://heartless-corner.pages.dev/</link><language>zh_CN</language><item><title>你好，世界 — The Heartless Corner 的诞生</title><link>https://heartless-corner.pages.dev/posts/hello-world/</link><guid isPermaLink="true">https://heartless-corner.pages.dev/posts/hello-world/</guid><description>记录这个角落诞生的第一天。为什么要做这个网站，以及它将承载什么。</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;为什么是 The Heartless Corner&lt;/h2&gt;
&lt;p&gt;「Heartless」这个名字，来自很长一段时间里我对自己的认知。不是没有感情，而是学会不让情绪主导判断。讽刺的是，这个角落恰恰是为了安放那些被理性过滤掉的东西。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Trust The Process.&lt;/strong&gt; 这句话我对自己说过无数次。在做出选择、面对不确定、陷入自我怀疑的时候——相信过程。结果不可控，但过程是唯一真实的存在。&lt;/p&gt;
&lt;h2&gt;这个角落会有什么&lt;/h2&gt;
&lt;p&gt;三个分类：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;碎片&lt;/strong&gt;：那些一闪而过的想法、读完一本书后的笔记、某个下午的随感。不追求完整，只需要真实。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;项目&lt;/strong&gt;：正在做的东西。目前主要是《NBA 人生模拟器》的开发记录——一个微信小游戏，也是我的个人实验田。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分享&lt;/strong&gt;：工具、网站、音乐。那些让我的工作流更顺畅、让生活更有质感的东西。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;关于设计&lt;/h2&gt;
&lt;p&gt;这个网站的设计目标是：&lt;strong&gt;像 iOS 原生应用一样安静。&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;单列阅读流，没有侧边栏的干扰&lt;/li&gt;
&lt;li&gt;大留白，让文字自己说话&lt;/li&gt;
&lt;li&gt;跟随系统的深浅色模式&lt;/li&gt;
&lt;li&gt;所有的动画都是物理真实的 —— 没有生硬的线性过渡&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这不是 blog，这是一个 corner。一个数字角落。安静地记录、安静地存在。&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Between Rain &amp;amp; Me.&lt;/p&gt;
</content:encoded></item><item><title>关于「系统优先于内容」的一些思考</title><link>https://heartless-corner.pages.dev/posts/sui-pian-demo/</link><guid isPermaLink="true">https://heartless-corner.pages.dev/posts/sui-pian-demo/</guid><description>为什么我坚持先建系统再填内容？从 NBA 模拟器的开发经历说起。</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;内容的诱惑&lt;/h2&gt;
&lt;p&gt;刚开始做《NBA 人生模拟器》的时候，我最想做的事情是——写球员故事。&lt;/p&gt;
&lt;p&gt;想象一个球员从高中打到 NBA，每一年的起落、每一次交易的戏剧性。这太诱人了。但如果你只有内容，没有系统，这些内容就只是一堆不互相关联的文字。&lt;/p&gt;
&lt;h2&gt;系统的力量&lt;/h2&gt;
&lt;p&gt;过去两个月，我把所有的时间都花在了系统层：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Player → Career → Season → EventEngine&lt;/li&gt;
&lt;li&gt;关系系统 → 选择系统 → 时刻系统&lt;/li&gt;
&lt;li&gt;历史系统 → 命运引擎&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;一共 6 个系统被冻结，不是因为它们完美，而是因为它们之间形成了闭环。当一个系统发生变化时，其他系统会响应。这就是模拟的意义——不是预设的结果，而是涌现的行为。&lt;/p&gt;
&lt;h2&gt;为什么这个原则也适用于这里&lt;/h2&gt;
&lt;p&gt;这个网站也是一样。在设计第一篇文章之前，我先确定了：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;内容结构（碎片 / 项目 / 分享）&lt;/li&gt;
&lt;li&gt;设计语言（Apple-like, minimal, content-first）&lt;/li&gt;
&lt;li&gt;技术选型（Astro + Fuwari）&lt;/li&gt;
&lt;li&gt;功能边界（哪些要、哪些不要）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;有了这些，内容才能在最合适的容器里生长。&lt;/p&gt;
&lt;hr /&gt;
&lt;blockquote&gt;
&lt;p&gt;系统是骨架，内容是血肉。没有骨架，血肉无法站立。&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded></item><item><title>NBA 人生模拟器 V4：架构设计与核心模拟逻辑</title><link>https://heartless-corner.pages.dev/posts/project-nba/</link><guid isPermaLink="true">https://heartless-corner.pages.dev/posts/project-nba/</guid><description>V4 版本的技术架构回顾——从属性系统、天赋树到命运结算的完整设计思路。</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;版本迭代回顾&lt;/h2&gt;
&lt;p&gt;从 V1.0 到 V4，《NBA 人生模拟器》经历了四次大的重构：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;版本&lt;/th&gt;
&lt;th&gt;核心变化&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;V1.0&lt;/td&gt;
&lt;td&gt;基础模拟框架、单赛季模拟&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;V2.0&lt;/td&gt;
&lt;td&gt;多赛季生涯、属性成长&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;V3.0&lt;/td&gt;
&lt;td&gt;事件引擎、关系系统&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;V4.0&lt;/td&gt;
&lt;td&gt;命运引擎、历史系统、6 系统冻结&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;V4 核心架构&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;Player
  ├── Attributes（属性系统）
  ├── TalentTree（天赋树）
  └── Career
       ├── Season[]
       │    └── EventEngine（事件引擎）
       ├── Relationships（关系系统）
       ├── Decisions（选择系统）
       ├── Moments（时刻系统）
       └── History（历史系统）
            └── DestinyEngine（命运引擎）
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;关键设计原则&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;事件统一入引擎&lt;/strong&gt;：所有发生的事情都通过 EventEngine 生成，不存在硬编码的事件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;状态统一存 Player&lt;/strong&gt;：所有模拟状态都归属 Player 对象，不做分散存储。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;逻辑先于 UI&lt;/strong&gt;：核心模拟逻辑在纯数据层面运行，UI 只是展示层。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MVP 优先&lt;/strong&gt;：每个功能只做最小可行版本，不增加未被验证的复杂度。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;命运引擎的设计&lt;/h2&gt;
&lt;p&gt;这是 V4 最大的新增。命运引擎不是随机数——它是基于球员已有的历史数据（表现、关系、选择）计算出的「命运倾向」。一个一直努力训练的球员，命运会偏向正向；一个频繁受伤的球员，命运会引入更多不确定性。&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Trust The Process.&lt;/p&gt;
</content:encoded></item><item><title>我使用的工具与工作流（2026）</title><link>https://heartless-corner.pages.dev/posts/share-design/</link><guid isPermaLink="true">https://heartless-corner.pages.dev/posts/share-design/</guid><description>记录当前使用的开发工具链、效率工具和设计参考，以及它们如何融入我的工作流。</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;开发工具&lt;/h2&gt;
&lt;h3&gt;VS Code — 主力编辑器&lt;/h3&gt;
&lt;p&gt;用了很多年，试过 JetBrains 系列，最终还是回到了 VS Code。轻量、插件丰富、Git 集成好。&lt;/p&gt;
&lt;p&gt;关键插件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Copilot — AI 补全，日常必备&lt;/li&gt;
&lt;li&gt;Tailwind CSS IntelliSense — class 提示&lt;/li&gt;
&lt;li&gt;Astro — .astro 文件支持&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Warp — 终端&lt;/h3&gt;
&lt;p&gt;Rust 写的现代化终端。AI 命令建议很好用，分块输出让长命令结果更可读。&lt;/p&gt;
&lt;h3&gt;Git + GitHub&lt;/h3&gt;
&lt;p&gt;所有项目托管在 GitHub。习惯了命令行操作，Sourcetree 反而觉得慢。&lt;/p&gt;
&lt;h2&gt;设计参考&lt;/h2&gt;
&lt;h3&gt;Apple Human Interface Guidelines&lt;/h3&gt;
&lt;p&gt;设计决策的第一参考。我追求的不是&quot;看起来像 Apple&quot;，而是「内容优先、界面隐身」的设计哲学。HIG 在这方面是最好的教材。&lt;/p&gt;
&lt;h3&gt;Figma&lt;/h3&gt;
&lt;p&gt;不做高保真原型。只用来快速画出布局草图，确认信息架构。真正的设计细节在代码里调整。&lt;/p&gt;
&lt;h2&gt;音乐工作流&lt;/h2&gt;
&lt;p&gt;编程时的标配：Lofi Girl。没有歌词、节奏稳定、不会打断思路。&lt;/p&gt;
&lt;p&gt;做设计时：Hans Zimmer 或 Nujabes。前者提供宏观视野，后者提供节奏感。&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;工具不是目的，流程才是。好的工具让你忘记工具的存在。&lt;/p&gt;
</content:encoded></item></channel></rss>