大家好!这个开发日志实在拖得有点久了。 也是没想到啊,本来定下的最小产品计划也是如期完成了里程碑,可喜可贺。 过去几个月一直很忙。原本想把开发者日志往后放,毕竟确实没太多精力运营社区。但既然事情都做完了,自然应该好好整理一下的。 想了想,我必须要把 LetsGal Studio 这个项目从头开始聊聊。

一个简单想法

大概是在 2016 年,我和几个朋友做过一些很有意思的小功能。 我们用小头像代替立绘,再给头像加上一些简单的动画,比如跳动,然后配上文字和背景图,做成了一个小游戏给朋友玩。东西很简陋,但朋友的反馈不错。 到了 2018 年,我开始比较成体系地制作第一版 AVG 引擎。 由于在游戏行业工作过几年,对游戏项目的工程化有一些经验。不过,AVG 引擎并不需要特别复杂的图形能力,性能要求也没有那么高。所以当时我选择了 Web 技术:一方面方便部署到网页上给朋友玩,另一方面足够简单。 这套引擎最后还是勉强做出了一个大概,也被我开源到了 GitHub。如果你现在还能找到那个仓库,应该很容易看出当时代码写得有多烂,里面也堆了不少历史包袱。 这算是第一代 AVGPlus。 下面这些,是我当时留下的一些运行画面和设计稿。
第一代 AVGPlus 的实际运行画面
章节、事件、分支与结局的流程设计
早期编辑器与时间线设计
AVGPlus Playground
这些图里,或许你能看到一些 LetsGal Studio 的影子。

停下来,然后重新开始

后来因为生活和家庭出现了很大的变故,实在无暇再照顾这样一个看起来更偏爱好的项目。这个项目因此停了将近两年。 而直到 2020 年前后,我从成都回到深圳。工作之余,我又想起了 AVGPlus。中间毕竟断了很长一段时间,曾经使用的技术和不少设计思路已然有些落后。我决定把整个引擎重新写。 也就是在这个时候,我认识了彬彬。我和彬彬是打游戏认识,他当时还在深圳的字节跳动,在抖音担任研发工程师,被我一番忽悠之后,也加入了这个项目。 重写后的项目没有继续使用 AVGPlus 这个名字,当时的目标其实很简单,想验证一下我的一些想法是否可行,尽管 Galgame/AVG 是结构和技术难度偏简单的游戏品类,可一旦你把它往引擎的方向去做,就会有大量的产品取舍,而这些取舍,你又得转换成技术实现去落地。 程序员最忌讳就是过度执着技术实现,忽略了产品目的。而我当时恰好丢掉了这个情节,并没打算一开始就把它做得太重,我想尽快搭出一套能够运行的框架,做出一个真正玩得到的 Demo,于是给它取了一个很直接的代号:light-engine。 有了过去几年的积累,尽管中途停了两年,但是对产品形态的思考反而成为了生活习惯,以至于我脑海中一直有一块特别完整的拼图。所以这次无论是架构还是设计思路,都推进得很顺利。 各个模块拆得很干净,工程比预想中顺利。没过多久,整个框架就到了基本可用的状态。过去踩过的坑,以及第一代 AVGPlus 留下的历史包袱,也借着这次重写被重新梳理了一遍。 框架有了,但我们当时其实没有特别明确的目标。它更多还是一个玩票性质的项目。对我来说,主要就是想把以前没做完的东西重新做完。而恰好,彬彬因为工作原因,离开了深圳前往杭州。 那段时间,我也尝试找人写剧本,花了点钱筹备美术,找了 CV 打算用自己的框架做一部自己的作品。 没有真正的作品验证过的引擎,一定是会有所欠缺的。 这个验证并不是简单跑一些测试用例,做一个 Demo 就能说明问题。必须要亲自感受一次游戏落地的全过程,这样才知道引擎具体需要什么。 说到底,我并没有完整制作过一部 Galgame,心里没什么底。更现实的问题是,当时的我也承担不起一部完整作品所需要的制作费用,心里也不情愿做太简陋的东西。

LetsGal 恋爱游戏进行时

在我陷入矛盾的时候,转机来了。 这里要提到一个很神奇的群,我们以前叫它 BKE 群,也是我在 2018 年左右加入的。 BKE 本身也是一款 Galgame/AVG 引擎。虽然已经有些年头,但群里一直有不少人想制作自己的 Galgame,甚至还有一些人和我们一样,也想做一款自己的引擎。 在这里要提一个人—— 林叶。这其中还有个典故来着,2018 年时我在知乎看过他写的一些文章,私信联系他,然而他并没有理我。 后来我才加入的 BKE 群,聊了很久,才发现他居然在群里。 在 2023 年,林叶作为群友,经常聊天,彼此也算熟悉。 作为制作人,他在 2020 年前后在 Steam 发售了《Moon Fall(月球坠落时)》,销量还不错。 同期,他接着筹备新作——《LetsGal:恋爱游戏进行时》。 而我和彬彬也一直在推进 AVGPlus 的版本迭代。 2023 年年底,一些群友约着去杭州跨年并且一起见面吃个饭,其中林叶也在。 第一次见到群友们很激动,也包括喵酱,也是来自字节跳动的 TA。 林叶说起了他的项目。巧的是,我们手里有一套引擎,他手里则有一个已经筹备了很久,但需要技术团队继续推进的项目。在遇到我们以前,他也曾经在技术落地这件事上走过一些弯路,结果都不算理想。 当时大家一起吃了顿饭,简单交换了一下各自的状态,聊起了要不要换引擎来做 LetsGal 这件事。老实说,刚决定尝试接下 LetsGal 的时候,我心里依然没什么底。所以我们最初只承诺先试一两个月,再决定是否继续。 因为《LetsGal:恋爱游戏进行时》并不是一个普通项目,它的规模很大。它是一款融合恋爱、养成与经营玩法的游戏。玩家扮演一名 Galgame 制作人,经营一家游戏公司,和不同的角色一起制作属于自己的恋爱游戏。 我和彬彬接手时,美术资源已经基本完成。无论是整体预算还是内容规模,在国内同类项目中都比较少见。剧本、美术资源和各种文档都完备,对于技术团队来说,这种程度的准备状态算得上是天胡开局。 而游戏里的男主正在制作 Galgame,而现实中的我们也在做同样的事,这个题材我们很熟悉。 当时想,我不就缺这样的一个机会吗?和彬彬讨论过后,最终以技术团队的身份加入这个项目。

引擎第一次面对真正的大型项目

经过几个月的研发和试水,LetsGal 的 Demo 推进很顺利。 真正参与完整游戏的制作,遇到了许多单纯开发引擎时很难想到的问题。虽然处理起来麻烦,但也让引擎补上了不少过去没有考虑到的能力。 从单项技术来看,制作一款 Galgame 的复杂度通常不会特别高。我们原本也已经为这个品类准备了一套比较通用的能力,并把它沉淀成了可以实际开发游戏的引擎。但面对 LetsGal 这种复杂程度有点逆天的项目,这套引擎还是显得有些力不从心。 LetsGal 的核心虽然是 Galgame,却加入了大地图、自由探索、养成和经营等大量内容。这些元素在传统 Galgame 中并不常见。为了满足项目需求,我们对 AVGPlus 做了大量改进,一些不常见的功能甚至需要直接在引擎层面提供支持。 这个项目的体量有多夸张呢? 游戏内有 16 个参照现实东京设计的站点,以及 50 多张可以探索的地图。整个游戏包含上千个事件,每个事件都是一段独立剧情。它们可能围绕主线展开,却有着各自不同的触发条件。玩家从大地图出发,进入不同层级的地点;游戏还需要结合季节、上午、下午、晚上、深夜四个时段,以及八名女主各自的状态,决定可能触发的事件。我们单独开发了大地图系统,也支持二级、三级地图,让玩家在自由行动阶段拥可以随意探索。 再加上行动点分配等更接近 SLG 的玩法,它最终并不是一个简单的线性分支游戏,而是一套由地图、时间、角色状态、数值和随机事件共同控制的剧情系统。 传统 Galgame 的玩法相对单一,而 LetsGal 加入经营内容后,还实现了模拟平板电脑、手机等游戏内系统,给演出提供了更多可能性。嗯……也给 UI 和游戏系统增加了相当大的工作量之一。 在半年时间里,我们产生了 60 个 Git 分支,完成了 1000 多次代码提交。包括资源在内,整个工程接近 30GB。 功夫不负有心人,2025 年下半年,项目立项一年后,第一个真正能够面对玩家的 Demo 终于发布了。 因为这个项目曾经完成过一次众筹,并且加上前作积累,玩家群体不少。 而这个 Demo,玩家确实等了很久,整整四年。坊间一度怀疑林叶卷钱跑路买游艇了。 Demo 放出后,虽然出现了一些小问题,但整体还算顺利。中间还遇到一些 Steam 卡审核的问题,这也是 AVGPlus 第一次真正通过一部正式作品公开出现在玩家面前。 这个 Demo 只开放了游戏内第一年的前两个季度。即便其中已经包含约 60 万字文本,从完整的游玩体验来看,内容仍然有所欠缺,许多系统也还没有打磨到足够理想的程度。

面临严峻问题

接下来的情况就有些棘手了。 Demo 中的 60 万字远不是全部。按当时的规模估计,完整项目文本量可能有 200 万字,这些文本还需要逐段配套演出设计。 Galgame 的工程结构或许相对简单,但当内容达到这个量级,没有一款足够易用的工具,项目就很难继续维护。越到后期,复杂度越高,每增加一点内容,对我们来说几乎都是一场噩梦。 我们当时主要通过纯代码编写剧本。每次拿到新的事件剧本,都需要很长时间进行开发,测试也特别困难。既要照顾各种数值之间的关系,确保经营玩法不会出问题,也要保证不同游戏系统能够顺畅协作。上千个随机事件还必须在正确的规则下被触发。 即便代码逻辑已经实现了这些规则,出于对作品负责的态度,我们依然需要在测试层面尽可能覆盖所有事件,确认它们确实能够正常触发。 对于一个核心成员只有三个人的小团队来说,并不是一件轻松的事。 于是我出现了一个我藏在心底里很久的想法。

于是,我们开始做 Studio

近两年我的状态,在工作和生活上都相对顺利,也持续接触到了大模型领域比较前沿的技术。后来我参与投资了一家 AI 公司,加上此前在 AI 芯片公司的经历,我们对于如何把 AI 能力真正融入项目,也逐渐有了更成熟的判断。 但这么些年来,我并不是没有想过一个 Galgame 引擎的终极形态—— 那一定是一套可视化的工具,它不应该是冷冰冰的代码框架,也不应该是一个技术 SDK. 逻辑很简单,相当大的一群讲故事的人并没有技术基础,只要最终目的是服务大部分的人,那就应该让它成为一套容易上手,开箱就能编写故事的工具。而这个 GUI 的形态,我已经构思了太久了。 与此同时,Coding Agent 的发展速度越来越快,许多技术实现所需要的时间正在明显缩短。 在 LetsGal 越来越难继续维护的时候,2026 年 3 月,我决定: 我要把 AVGPlus 做成一款可视化编辑器。 我为什么敢做这个决定?我做了非常完整的评估。 一方面,是 Coding Agent 的能力已经越来越成熟;另一方面,则是过去将近十年的积累,让我对这套引擎的细节、创作流程和产品设计已经有了非常清楚的判断。第一代引擎的重写,以及 LetsGal 真正进入生产以后遇到的各种问题,都在一点点告诉我:这款编辑器应该是什么样子,又应该解决哪些事情。 还有就是,我不仅在游戏行业担任过多年工程师,刚参加工作时也曾经参与引擎研发,到现在已经具备十余年的行业经验了,更有丰富的项目和团队管理经验。 对了忘记提一件事,就是再经过我的忽悠,我把彬彬又从杭州忽悠回深圳了,并且让他加入了我(作为 PL 进行了财务投资)的公司,他当副手,这也是我的自信来源之一。 真正开始动手以前,如今 Studio 大致的样子,已经在我的脑海里演练了无数次。 编辑器应该长什么样,需要有哪些能力,各个模块之间应该如何配合,许多细节都已经有了相对明确的答案。这也是为什么只用了短短几个月,我们就能把 Studio 迭代到今天这个样子,没错,你们看到的功能并不是我一拍脑袋想出来的,它已经躺在我的备忘录上好多年。 LetsGal Studio 这个名字,也是在征得林叶同意以后确定下来的。 《LetsGal:恋爱游戏进行时》讲的是主人公因为小时候与青梅竹马的约定,一直想制作一部 Galgame。我们做的则是一款帮助大家制作 Galgame 的工具,沿用 LetsGal 这个名字也很合适。 我们甚至在想,游戏发售之后,如果告诉玩家这个游戏在三次元其实真的有一个配套的游戏引擎,我想这也是很好的用户故事。喵酱曾经提出过,把《LetsGal:恋爱游戏进行时》里面玩家制作出来的 Galgame,真的导出为一份实实在在的 LetsGal Studio 的项目,其实也很有意思吧?

第一个里程碑

时至今年 8 月,也就是这篇开发者日志发表的时间,LetsGal Studio 完成了第一个里程碑! 原定产品计划中最核心的功能,现在已经基本做完了。它还远谈不上完美,但至少已经是一款能实际使用的编辑器。包括我最初设想的实时渲染的游戏画面、抽象数据管理、可视化的叙事地图、非常灵活但克制的扩展插件机制、win/mac/web/移动端全平台打包、实时协作、Git 支持、Spine/Live2D 支持… 全部完成。 接下来,我们会一边继续打磨 Studio,一边把《LetsGal:恋爱游戏进行时》逐步迁移到新的创作体系中。 它会成为 LetsGal Studio 最重要、也最有代表性的项目之一。我们在引擎中积累的演出方式,以及它在技术上的能力与上限,也会更完整地呈现在这部作品里。 与此同时,LetsGal Studio 也即将进入商业化阶段。

让更多人有机会开始

关于商业化,当然会有一些争议。 虽然我自己有创投的经历,也不是没想过 Studio 的商业化线路,因为我深知产品的持续,离不开资金支持。 有人会关心它应该如何定价,也有人会怀疑:一款面向 Galgame 创作的可视化引擎,究竟是不是一个彻头彻尾的伪需求?但过去几个月,LetsGal Studio 已经有了 5000 名用户。这个数字至少说明,确实有人需要这样的工具。 许多原本并不懂技术的人,也在很短的时间里做出了自己的作品。这件事不需要只靠讨论来判断,实际使用情况已经能说明一部分问题。 社交网络上也有一些留言,会担心门槛过低的工具最终带来大量质量不高的作品。这种担忧并非完全没有道理。 但我的看法是,一个领域首先需要足够宽容,才会有更多人愿意走进来,亲手试一试。新人多了,作品质量自然有差异。但只有更多人能够接触创作,这个领域才会出现更多不同的表达,有更多的信任,也才更有机会滋生出真正优秀的作品。 工具无法替任何人创作一部好作品。 它能做的是减少重复、烦琐或者过于技术化的工作,让更多人可以开始创作。参与创作的人变多,也会让这个领域继续发展。 我认为这是一个正向循环。 有投资人朋友建议我开启月费订阅,做版权锁定的平台,做发行,走更长远的路。说实话,在 AI 生成技术如此发达的今天,如果做全自动生成的互动类视听作品,而我本身也属于 AI 行业的收益人,我不是没想过,至少从商业模式上,它应该能在短期给我获得不少收益。 但权衡利弊之后,我还是决定实行买断制,买断之后:用户获得引擎的永久授权、用户享有完整的商业自由、享有作品完整的版权。 我不知道未来是否会调整产品策略,但买断的用户享有的权利依然不会变。 我希望创作者能真正有安全感,烦恼的事情应该只能是 “把脑海里的故事写出来” 这件事,而不是每个月被自动扣除的月费账单,不应该担心忙碌时段无暇创作时要不要续费,也不应该担忧版权归属,更不能担心是否能够商业化这种细枝末叶的琐事。

写在最后

从 2016 年那个用小头像和简单动画做出来的小游戏,到今天的 LetsGal Studio,已经过去了差不多十年。 这并不是一条提前规划好的路线,中间也停过很长时间,中间我经历了人生的重大事件的变故,也经历了工作上的沧海桑田。 LetsGal Studio 能在几个月内做到现在的程度,主要还是因为之前做引擎和开发 LetsGal 时积累的问题、方案和代码都派上了用场。 Studio 现在也只是完成了第一个阶段。 接下来要做的事情包括商业化、继续打磨工具、迁移《LetsGal:恋爱游戏进行时》,以及解决大家在实际创作中遇到的新问题。产品中肯定还会有考虑不周的地方,我们会继续改。 这篇先写到这里。以后除了版本更新和开发进度,我们也会在这里记录一些产品决定、开发问题,以及不适合放进更新公告的内容。有新进展时再和大家聊。 感谢你愿意读到这里。 LetsGal Studio 开发团队 2026 年 8 月