您好,Aigamedev,

我是一个学校心理学家,自学编程并构建了一个开源平台名为 AlloFlow(约 6.5 万行代码)。平台的大部分是教育领域的 AI powered 内容创作工具,但我要在这里谈的部分是 游戏引擎层,因为它利用生成性 AI 的方式,我相信这个社区会对它们感兴趣。

有三个游戏系统:一个 在AI驱动交互式小说引擎(冒险模式),一个 80+ 画布基建模(STEM实验室),以及一个 多人在线答题系统,具有竞争性模式。所有都是开源。

冒险模式:AI as 游戏主持人

冒险模式会将任何来源的文本转换为一个 AI 驱动的交互式故事,玩家会根据自己的选择改变故事的发展。设想一下一个 AI 主持人,被约束在教导有特定内容的世界中。

挑战:

  • 叙事连贯性跨越回合。每个回合要进行一次新的 Gemini API 呼叫。系统提示包含了全叙事历史,当前游戏状态,以及内容限制。 我将故事状态序列化为一种压缩格式,捕捉关键情节重点,当前角色状态以及未解决的线索,而不需要重现每一句对话。
  • 受 AI 控制的状态机。 游戏会跟踪 XP,能量,健康量,士气,黄金,以及自定义派系关系等。这些会在 AI 运作模式(模型决定资源后果)或手动模式(教育工作者预先定义规则)。 我将一个“资源哲学”注入系统调用的参数中,设定界限而不具有任何强制性。
  • D20 概率引擎。 风险行动会触发一个筛子抖动机制。系统将一个概率界限生成,并将一个筛子抖动,同时叙事会根据是否成功或失败分叉。AI会产生内容和困难程度评估,但最终结果是确定性的。这是关键创新: 让 AI 写故事,但让数学决定结局。
  • 多种输入模式:每个回合有 4 个由 AI 生成的选项,自由回应(玩家输入任何内容,AI相应改变),以及辩论模式(玩家辩论一项立场,AI评估辩论质量和移位动态表)。
  • 民主模式(全校多人模式)。冒险故事被投影到荧幕上,学生们投票选取故事的发展方向。用 Firebase 导致的实时投票聚合。 AI 必须生成的选项都要是叙事可行的,所以没有一项是明显正确的。

相关的 Imagen + 形象转换视觉流水线:

这里是最让我觉得与众不同的一部分,而且我觉得对于任何人在 AI 驱动交互式小说领域都很有价值。

冒险模式使用一个 三阶段形象生成流水线

  1. 角色头像生成(Imagen)。当玩家创建一个角色时,他们定义一个名字,一个角色,和一个外型描述( “高,银色头发,蓝色袍子”)。系统会生成一个艺术风格知的提示并将其发送给 Imagen。头像在冒险界面上呈现为像素艺术缩略图,但可以以任何 5+ 预设风格生成:
  2. 故事集(柔水彩,温暖色调,生动)
  3. 像素艺术(16 位老派,干净精灵)
  4. 电影艺术(戏剧性光照,真实主义)
  5. 动漫(干净线条,漫画风格)
  6. 蜡笔画(儿童手绘,生动)
  7. 自定义(用户描述任何风格为自由文字)
  8. 图像转换编辑(Gemini 图像编辑)。在生成头像后,玩家可以通过自然语言一一迭代的更改它。输入 “添加绿色眼镜” 或者 “红罗装饰” 等内容,系统会将其传递给图像转换 API。这个过程对于玩家创造力非常有价值:孩子们爱好自定义其角色外型,并且这种迭代过程可以让他们了解 AI 形象模型的工作原理。
  9. 故事集导出(AI 画图)。当冒险模式结束时,系统可以将整个故事作为一个 AI 画图故事集导出。在每个主要叙事动态时,每个场景图像都会生成提示,从叙事文本中,Imagen 会以选择的艺术风格绘制场景图案。最后会生成一个可以携带的图像故事集,这里包含了整个冒险的图像画作。

在视觉一致性方面,我费力地对相关内容进行了优化。每个图像生成呼叫包含了一个艺术风格标头,一个“无字,无法标志,无法字母”的警告语(Imagen 爱好在图像中添加字母)。每张图像生成呼叫也包含了一些背景:对于角色头像,我将外型描述复制。对于场景图画,Gemini 将一段约 80 文字的文本作为图像提示发到 Imagen。这两步方式(文本模型将图像提示写来,图像模型绘制图像)产生了比直接将叙述文本发送给 Imagen 所获得的结果要好的结果。

玩家也可以上传自己的相片作为角色头像,然后使用 AI 编辑将其风格化,从而会产生真正令人惊叹的合成图像。

问答模式:

  • BOSS 战斗: 学生们联手战斗一个 AIboss。当答对答案时,能造成伤害。AI 必须生成 BOSS 的性格和攻击描述。

  • 逃生间隔: 有主题的谜题间隔,包含密码和提示令牌(数量有限)。AI 必须生成主题以及不可预知的代码来处理谜题机制。

  • 团队斗争: AI会对难度进行自适应调整,根据团队对比动态修改题目难度。

游戏引擎技巧挑战性的特殊内容:

  1. 区分叙事和机制。让 AI 写故事,而使用确定性的代码管理转移和获胜条件。每次我让 AI 直接运作一个机械结果时,都会有不一致。 D20 系统是关键的突破。
  2. 将游戏状态注入结构体数据,而不只是描述。早期的提示含有状态的自然语言(“玩家有 45 XP…………”)而不是将其序列化为 JSON 状态块(“xp“: 45,“health“: 80,“factions“: {“north“: “allied“}】)对结构一致感有了质的不同。
  3. 约束选项质量。对于多选模式,明确生成选项,保证其“都能有叙事可行性,而没有哪个显而易见正确或者死亡”。
  4. 背景窗口是你的敌人。我压缩叙事历史,排除非决定性内容,保留关键故事阶段和角色状态,从而避免描述性文字的重复。

统计数字:

*约650,000 行的代码
* 264+ 个 AI 生成呼唤
* 80+ 个交互式 STEM 模拟器
* 有 100+ 支持的语言
* 5+ 个预设风格,自定义风格支持

链接:

  • Canvas 链接: https://gemini.google.com/share/8325b98d429b
  • 促销网站(链接到GitHub仓库):https://apomera.github.io/AlloFlow/

我是什么样期望得到的:

  • 对视觉流水线的反馈。双步方式(文本模型写图像提示,图像模型绘制图像)的工作方式看起来像一个补偿手段。是否有更加优雅的模式?
  • 叙事一致性在规模上。对于 20+ 回合的冒险,历史压缩方式会丢失细腻。期待看到更好的模式。
  • 混合 AI 和 硬盘模式。其他人如何处理“AI 写叙事,代码构建机制”。
  • 研究协作。我想在 AI 工具可以为教育实践带来影响的任何背景中试点 AlloFlow。

在游戏架构,图像流水线,提示技巧或打开代码查看的内容欢迎有任何问题或疑虑!代码都是开源的。如果您有更好的实践或想法欢迎与我沟通。