我开始说这个是一个副业项目,仅仅为了好玩。完全不是严肃的“然而”。收集反馈和想法。
我正在构建一个遵循规则的引擎,用于人工智能辅助的叙事世界。
基本想法是:
我不想再建一个开放式的RPG系统,系统可以说任何事情,忘记发生了什么,自相矛盾,或者编造规则来绕过它。
我试图构建一个小型世界引擎,动态叙事被视为软件。
这意味着:
- 故事是结构化的数据
- 选择有定义的后果
- 玩家决策更新一个正式的世界/会话日志
- 创造性生成可以建议调子,风味,NPC对话,或者下一个节拍
- 确定性的规则决定什么实际上变得真实
- 无效或无法到达的故事路径在玩家看不到它们之前就会失败
愿景不是“AI替代游戏设计”。
更接近:
游戏设计师和创作者定义世界的骨架:规则,分支,奖励,角色约束,安全模式,结局,和进展逻辑。
然后生成可以在这些边界内运作,而不是在它们周围进行即兴演奏。
我最关心的是信任。
- 这个世界能记住玩家而不重写历史吗?
- 两个故事路径是否会不小心自相矛盾?
- 玩家是否能到达一个没有被测试的死胡同?
- 生成的内容是否能破坏世界状态?
- 我们是否能复制动态叙事系统中的错误?
- 我们是否能在发布前测试数百个可能的分支?
当前状态
阶段0已经完成。
这个阶段主要是基础工作,而不是游戏.polish。
我目前有:
- beat,选择,后果,会话和安全模式的模式
- 一次性文件验证器,检查故事路径是否可到达
- 类型的结果合同,使坏输出无法悄悄通过
- 自动化测试,围绕核心世界规则
- 运行167个检查
阶段0的目标简单:
在使世界看起来像活着之前,确保基础不虚假。
下一个阶段
阶段1是玩家可以玩的阶段。
目标是在浏览器中加载一个世界,作为文本体验玩它,做选择,观看正式日志更新,世界对玩家反应。
非常简单,故意如此。
没有精美的图形。
我想让世界逻辑坚实在添加呈现层之前。
更长期的目标
如果这成功了,我想相同的世界文件最终可以用来驱动不同的表面:
- 文本首先
- 2D之后
- 可能是更视觉或空间的之后
我也对:
- playtest机器人,走故事分支,提供有用的错误报告
- fork和remix世界,如代码
- 比较世界结构,而不是仅仅是感觉
- 多个玩家驱动的世界通过门户连接
- 可选的身份,名声,或者历史,可以在受控的方式下在世界之间携带
更大的想法是“多个世界,一个结构化的生态系统”。
不是一个虚拟现实pitch。
不是一个有幻想文本的聊天机器人。
更像的是叙事世界,表现出像可测试软件一样的行为。
我在思考的困难问题
这是我希望得到反馈的地方:
- 玩家在保持一致性之前能给予多少自由?
- 内存如何工作,使其看起来有意义而不变得混乱?
- 生成应该允许控制什么,什么应该始终是确定性的?
- 如何测试分支故事世界而不使用强制?
- 什么是好的“世界差异”看起来像,当创作者fork或remix内容?
- 如何阻止生成的对话或风味创建假定的承诺,规则无法支持?
技术方向
目前该项目的重点是引擎层:
- 结构化的世界定义
- 类型的合同
- 验证
- 确定性的状态更新
- 会话日志
- 自动化测试
- 浏览器中基于文本的play loop下一个阶段
我故意没有从图形开始,因为我认为这会掩盖更难的问题。
更难的是不仅仅是让某个场景听起来很酷。
更难的是让世界在许多选择,分支,修订,和生成的时刻保持一致。
我还在早期阶段,但阶段0已经完成,阶段1是它开始变得可玩的阶段。
我很想得到任何人的反馈。
评论 (0)