大家好!

《Where is My Home?》的根源可以追溯到2016年。那时,我因一次个人悲剧开始撰写它的故事:背景设定围绕一个失去父亲的小男孩。写作和构建世界成为我的避风港,帮助我度过艰难时刻。

随着时间的推移,我想讲述的故事发展成了数百页的设计文档(GDD),并于2019年夏季开始实际编写和实现。在经历了多年的时光以及或多或少的间歇后,它终于看起来我快要完成了,v1.0 即将上线!

我想分享几张游戏开发中的图片以及早期草图,同时简要谈谈技术挑战和开发背景。

视觉与UI:一个由儿童绘画构建的虚构宇宙

由于游戏的世界位于一个悲伤小男孩的思想、内在想象以及寻找家园的旅程中,视觉灵感来源于儿童的绘画。对我最大的视觉挑战是保持整体外观一致、精致且富有氛围感,同时仍保留这种纯真、天真想象以及略带超现实的形态。

  • 绘图与动画:我从纸上用铅笔草图开始;建筑使用 Moho 14 创作,生物和角色则在 Photoshop 中使用 Wacom 显示笔绘制。

  • 设计系统:在 UI/UX 方面,最初的设计系统是在 Adobe XD 中创建的,随后我将其迁移并基于行业标准在 Figma 中进一步开发。

不是普通的闲置配方

虽然从类型基础上看它是一款闲置游戏,但我肯定想摆脱经典公式:

  • 复杂的 ARPG 战利品与属性缩放:设计属性缩放和掉落系统是我最困难的任务之一。作为《Diablo》和《Path of Exile》的粉丝,我的目标是让镶嵌、属性和天赋树为构建和角色进阶提供真实的深度。

  • 战术战斗系统:与自动点击不同,我设计了基于网格的互动战术板,玩家需要通过法术、技能和位置进行策略规划。

  • 可自定义的岛屿与农场:漂浮岛屿世界和经济可以自由塑造和装饰。

  • 丰富的其他活动、地牢和内置卡牌游戏(TCG):我将游戏装满了团队地牢、周赛挑战、地狱世界以及大量补充内容。为确保等待时间并非空闲时间——当作物成长、职业工作或属性恢复时,我也构建了一个集成的自定义卡牌游戏(TCG)。

技术选择:Ionic、Angular 和 Pixi.js

在前端方面,确定方向曾让我极其头疼:我需要权衡是将大量文本内容和复杂 UI 打包进基于画布的图形环境,还是采用相反的做法。最终,我选择了 Ionic / Angular + Pixi.js 的混合栈,因为 Angular 的逻辑与架构对我来说极其自然。我对这个选择毫无悔意:在组件和游戏状态管理时,我能够干净地处理 Angular 的生命周期,使其与 Pixi.js 的渲染循环以及装载大量文本数据的面板无缝协同工作。

关于我和技术:

我自 childhood 起就一直在绘画,并赢得过多项国家和国际艺术竞赛。我在国际环境中担任 UX/UI 设计师 4–5 年,并已从事全栈开发近十年——目前以全栈/DevOps 架构师的身份领导项目。

由于项目的基础在代码生成工具普及之前就已建立,后端和前端的骨架是真正的“手工编写”代码(.NET/SignalR、Redis、Ionic Angular、Pixi 客户端以及 Docker)。同时,为了加速最后阶段,我引入了现代技术:基于本地 30+B 参数开源模型(Qwen 2.5 32B Coder / Command-R 35B)搭建了专用开发管道,并配合内部的 RAG 与决策模型,利用代码库和 GDD 的上下文。

我不需要 Claude 或 ChatGPT 的订阅,因为它完全不必要:我所需的一切,本地 30+B 模型已经足够。它不会替我思考——我在先设计好架构、数据模型和游戏逻辑后,它只负责生成带有明确输入输出的方法、接口和辅助函数,从而极大减轻了重复性工作的负担,之后我会仔细审查代码并放置到合适的位置。

对我的英语表示抱歉,遗憾的是它并非母语,我仍在学习它!