W
正在唤醒世界...
◈ 吴梓儒
Game Programmer · Digital Artist

我构建 被记住的 世界与规则

Unity 客户端工程师 · 数字媒体技术 2027 届

我写代码让规则运转,也画下让世界有呼吸感的形状。
从像素地牢到 AI 驱动的工作室,我独自完成从设计到落地的完整闭环。

0 独立游戏项目
0 核心 C# 脚本
0 完整游戏系统
0 篇学习笔记
向下滚动

我相信代码与美术一样,都是在塑造世界的规则。前者让事物运转,后者让事物值得被看见。

2022 年我第一次在专科课堂上写下 C# 的 Hello World,那时它只是一行字符串输出。 三年后,我用同样的语言构建了一套完整的 ARPG 战斗、任务、背包与分支对话系统, 并用 Tiled 亲手绘制了四张风格迥异的地图。

我是晋中信息学院数字媒体技术专业 2027 届学生,目标是 Unity 游戏客户端工程师。 我的工作方式很朴素:先做,再理解,再重做。 第一个项目靠抄,第二个项目七分抄三分懂,第三个项目开始半抄半实践—— 靠一次次报错、查资料、重构,把陌生变成肌肉记忆。

我喜欢在系统的缝隙里做美术。二十四节气项目里我建了奶奶、小满和那只橘猫的模型; 动态海报里我用 Blender 复原了应县木塔与双塔寺。这些都不是任务,是我想让世界长成我喜欢的样子。

能力矩阵 / Capability Matrix
01

引擎与渲染

Unity 2D / UGUI / Animator / 2D Physics / Prefab / Tilemap;Sorting Layer 与 Y 轴动态排序处理前后遮挡;理解 UGUI 合批与动静分离。

UnityUGUITilemapProfiler
02

程序与架构

C# 面向对象、协程、委托与事件;熟练运用单例、状态机、对象池、事件总线等设计模式;模块化目录与统一英文命名规范。

C#StateMachineObjectPoolEventBus
03

数据驱动

以 ScriptableObject 配表实现物品、任务、对话、敌人数据与逻辑解耦;支持分支对话递归跳转与多维任务条件判定。

ScriptableObjectSO 配表JSON
04

美术与工具

Aseprite 像素处理与调色;Tiled 分层瓦片地图独立搭建;Blender 低模、风格化材质与 NPR 水墨动画;Substance / Photoshop 贴图流程。

AsepriteTiledBlenderSubstance

每一场冒险,
都是一次从零到一的锻造。

英雄的谎言 - 村庄 英雄的谎言 - 森林战斗 英雄的谎言 - 雪原战斗 英雄的谎言 - 地牢 英雄的谎言 - 分支对话 英雄的谎言 - 背包
查看截图
06 SHOTS
01

英雄的谎言

2026 / 07 — 10

2D 俯视角线性 ARPG。主角听着英雄故事长大,却在一路委托中揭开"英雄传说本身就是谎言"。

采用 ScriptableObject 数据驱动 + 分层 Manager 架构,四张风格迥异的地图(村庄 / 森林 / 雪原 / 地牢), 三条剧情任务线与四个 Boss。玩家出生只有一把普通剑,靠完成任务与击败 Boss 逐步解锁新地图, 在手感与需求之间自由搭配装备,而不是无脑换最强。

  • 四方向攻击判定——依据输入轴动态切换朝向与攻击点,突破单向攻击限制
  • 协程延迟伤害——伤害落在武器挥出帧之后,解决"武器未挥出玩家已掉血"的手感问题
  • 击退 + 眩晕——强化受击反馈,让掉血变得可感知
  • 五状态敌人 AI——通过位移对比检测卡墙并自动生成偏转目标点
  • Y 轴动态排序——俯视角前后遮挡实时正确
  • 黑屏渐变过渡——TransitionManager 单例带重入锁,防止重复触发
Unity 2DC#ScriptableObjectTilemapStateMachineUI System
GameWorkShop - AI NEXUS PLAY 办公管理后台 GameWorkShop - 等轴测工作室 GameWorkShop - 员工行走状态 GameWorkShop - 员工角色模型 GameWorkShop - 经理与老板聊天对话 GameWorkShop - 玻璃质感布局 GameWorkShop - 赛博朋克工作室
查看截图
07 SHOTS
02

GameWorkShop

2026 / 10 — 11

AI 驱动的工作室模拟器。管理一支会工作、会摸鱼、会红温、会辞职的虚拟团队。

玩家扮演工作室老板,为程序、策划、美术、QA 派发任务。每个员工拥有独立的 AI 行为状态机, 疲劳值随工作累积、摸鱼时恢复,过高则情绪失控乃至辞职。员工会向上游大模型请求真实产出, 配合超时熔断机制与经理系统的抓包 / 上报 / 任务队列,构成一套可玩的组织模拟系统。 配套的「AI NEXUS PLAY」办公管理后台把任务看板、员工状态、聊天对话与产能统计收拢在一屏, 区域统计与公司状态实时联动,让整个组织运转过程真正可被观察。

  • 七态行为状态机——Idle / Walking / Waiting / Working / Talking / Wandering / Angry
  • 疲劳—红温—辞职完整反馈链路,参数可调、行为可预测
  • AI 真实产出——调用大模型生成工作成果,内置超时熔断保护
  • 管理后台——任务看板 / 员工档案 / 实时聊天 / 产能仪表盘一屏联动
  • 3D Gaussian Splatting——办公家具以高斯点云形式导入,配合 URP 与 NavMesh
  • WebSocket 通信——与 Python 侧服务解耦,支持外部 LLM 接入
Unity 3DURPNavMeshLLM AgentWebSocketPythonDashboard
Emberdrift - 废土世界实机画面 Emberdrift - 风格化角色实机画面 Emberdrift - 角色概念设定 Emberdrift - 场景设定 · 灰烬地表与残骸 Emberdrift - 场景设定 · 大裂谷能量光束 Emberdrift - 场景设定 · 断裂岩柱峡谷 Emberdrift - 场景设定 · 荒原巨岩与熔岩裂缝 Emberdrift - 场景设定 · 废弃城市断壁 Emberdrift - 场景设定 · 枯树林与地底光带 Emberdrift - 场景设定 · 巨型石环传送门 Emberdrift - 场景设定 · 平原巨石阵
查看截图
11 SHOTS
03

Emberdrift

2026 / 独立 Demo

3D 科幻废土冒险。收集散落的碎片,穿过星门在荒原、峡谷与森林之间流转。

一款以滑行为核心移动体验的废土探索 Demo。玩家在荒芜世界中寻找碎片,通过星门与裂隙进入不同区域, 沿坡度滑行时继承惯性、随坡加速、同时消耗能量。区域内散布幽灵 NPC 与可收集物, 配合环境音与低饱和的灰调美术,构成一段安静而孤独的旅程。

  • 美术设定集——角色概念图 + 9 张场景氛围稿,统一灰调低多边形的视觉基调
  • 滑行物理——坡度加速、摩擦力计算与能量消耗三者的平衡
  • 区域过渡——星门 / 裂隙传送与场景状态管理
  • EventBus 解耦——事件总线贯穿碎片收集、区域切换与 UI 响应
  • 存档系统——玩家进度与碎片状态持久化
  • 低模写实——哑光材质、克制色板与灰烬覆盖的废土质感
Unity 3DShaderPhysicsEventBusSave SystemConcept Art
Quick, Kill It - 俯视角地牢实机画面
PROTO
04

Quick, Kill It

2025 / 原型

俯视角动作射击原型。WASD 移动,鼠标控制武器朝向。

用程序化生成的方式搭建地牢的第一次尝试。Walker 脚本以随机游走算法铺设 Tilemap, 玩家被自动放置在地图最左侧的地面上。武器系统独立成 WeaponsRotation, 跟随鼠标角度旋转并在超过 ±86° 时翻转朝向,避免镜像破坏手感。

  • 随机游走生成——Walker 算法铺设地牢 Tilemap
  • 武器跟随——独立旋转系统,角度阈值处理翻转
  • 心形血条——自定义生命 UI 与死亡重启流程
Unity 2DTilemapProceduralCinemachine

规则之外,
还有一个值得被造出来的世界。

二十四节气 / Solar Terms

把中国人的时间感,做成可触碰的模型。

二十四节气是中国人的时间刻度——立春惊蛰,谷雨霜降。我以此为题, 为小满、奶奶和那只橘猫建立了风格化低模角色,制作了中式棉袄的布料与暖色腮红贴图, 并用 Blender 完成木柴堆等可入游戏的场景资产。

奶奶侧视图那束贴图的明暗交界,是我反复调整 matcap 才找到的位置。 技术是手段,我想留住的是那种家常的、被阳光晒过的温度。

BlenderLow PolyPBRMatcapCharacter Design
风格化角色渲染 Stylized Figure

低模写实 · 哑光材质

Emberdrift 主角渲染试验。低饱和灰调、克制的哑光表面,让废土不显得廉价。

动态海报 · 应县木塔 NPR 水墨渲染 Dynamic Poster

动态海报 · NPR 水墨

以应县木塔、双塔寺、水镜台为原型,在 Blender 中完成水墨 NPR 风格化与动画渲染。

绘 Pixel Art

像素美术 · Tiled 瓦片

地牢、森林、雪原三套瓦片集的绘制与分层导入,Aseprite 逐帧调色与阴影处理。

笔记是我留下的
思考路径,而不只是答案。

我的知识库是一个 Obsidian 仓库,四十多个 Markdown 文件覆盖 C# 语言机制、Unity 引擎 API、 2D 系统设计、关卡工具与像素美术。它不是答案的仓库,是我反复踩坑之后留下的路标。

Unity 2D01

高级背包系统

装备与道具的双轨识别、属性计算链路、存档序列化格式,一次把设计讲透。

InventorySaveDesign
Unity 2D02

敌人系统

状态机骨架、感知与决策分层,以及在不同 AI 方案间的取舍。

AIStateMachine
C#03

委托与事件

回调函数到底在解决什么问题?事件与委托的边界在哪里,用多了为什么会出事。

DelegateEvent
C#04

对象池

用食堂盘子的比喻讲清对象池:什么时候该用,回收之后必须清理什么。

PatternGC
C#05

生命周期

Unity 各生命周期回调的调用顺序与常见陷阱——那些"偶尔失效"的真正原因。

UnityLifecycle
C#06

manager of manager 框架

各子系统管理器各司其职,顶层管理器统一分发属性的分层架构思路。

ArchitectureManager
Unity07

多瓦片地图系统

分层瓦片的导入流程、Sorting Layer 顺序管理与 Y 轴动态排序的实现。

TilemapRendering
Unity08

UI 设计思路

战斗背包与常规物品背包为什么要分开?一套 UI 架构的取舍推演。

UIUX
Unity09

NavMesh 导航系统

2D 场景下的寻路配置、烘焙流程与常见失效原因排查。

NavMeshPathfinding
工具10

Tiled 快捷键

地图编辑器的高频操作备忘,把时间省在真正需要思考的地方。

TiledShortcut
工具11

Aseprite 教程

像素工具的取色、选区与画布操作笔记,配合瓦片集绘制使用。

AsepritePixel
思考12

学习方法

从纯抄到七分抄三分懂,再到半抄半实践——三种学习阶段的真实体感记录。

MethodReflection

完整知识库持续更新中,包含更多 Unity API 笔记、八股整理与项目缺陷复盘。

访问技术博客↗

五条我反复验证过的原则。

01

先跑起来,再理解

理论会过期,跑通的代码不会。我几乎每个技术点都是先在项目里撞一次墙,再回头补文档。

02

数据与表现分离

物品、任务、对话全部走 ScriptableObject 配表。逻辑只管规则,内容只管数据。

03

手感高于数值

击退、眩晕、协程延迟伤害——玩家能不能"感觉到"被打中,比掉多少血重要。

04

写给别人看的代码

按功能模块分目录、统一英文命名。能被看懂、被接手、被修改,才算写完。

05

美术也是系统的一部分

地图分层、色彩对比、剪影辨识度——它们和代码一样,需要在早期被认真对待。

成长轨迹 / Trajectory
2022 专科起步
计算机应用技术
2023 第一段项目代码
照抄 · 了解工具
2024 完整项目落地
七分抄 · 三分懂
2025 本科入学 · 数字媒体
半抄半实践
2026 独立 ARPG · AI 实验室
系统设计者
2027 Unity 客户端工程师
职业起点
01 06