SuperAPI AI 工具集

godot-genre-romance

智能体与模型

查看项目

更新于 10-16 10:39

技能介绍

用途

该技能是 Godot 恋爱游戏与约会模拟(Dating Sim)的专家级设计蓝图,参考 Tokimeki Memorial、Monster Prom、Persona 社交链接等作品,聚焦好感度系统、多属性关系、约会事件与路线分支。适用于构建以人际关系为核心的游戏、社交模拟或乙女游戏。

核心循环

  1. 相遇:遇见潜在恋爱对象,建立基础好感。
  2. 约会:参与结构化事件,了解偏好、测试契合度。
  3. 加深:投入资源(时间、礼物、选择)提升好感/属性。
  4. 分支:依据关键里程碑,故事分叉到角色专属“路线”。
  5. 结算:依据关系质量抵达专属结局(好/普通/坏)。

另一处简写循环为:相遇 → 日程/交谈 → 约会/送礼 → 里程碑 → 锁定路线或继续并行。

主要能力与设计原则

恋爱与 NPC 逻辑

  • 不做“自动贩卖机式”恋爱,须纳入 NPC 情绪、时机与多属性阈值,让角色显得自主。
  • 不用二元好感(爱/恨),采用多轴模型(吸引、信任、舒适)营造可信心理深度。
  • 不把数值做成完全不透明,提供可见指示(心形 UI、脸红文字、跳动的爱心)帮助玩家决策。
  • 避免“同一约会顺序”陷阱,对连续两次前往同一地点实施重复惩罚(约 30%)。
  • 不忘记“可错过”的里程碑,让因日程安排不佳而错过事件产生有意义的后果。
  • 不忽视 NPC 自主性,允许 NPC 拥有自己的日程,并能基于低信任或事件冲突拒绝玩家。
  • 不用 _process 轮询检查 NPC 日程,改用信号驱动的 TimeManager(Autoload)广播小时/天变化。
  • 不硬编码角色引用来实现嫉妒逻辑,使用 Groups(add_to_group)在场景中广播恋爱事件,实现解耦、自主的 NPC 反应。

技术与 UI

  • 打字机文本不用 _process,改用对 visible_ratio 的 Tween,实现与帧率无关的平滑显示。
  • 不在主线程解析庞大叙事文件,改用 ResourceLoader.load_threaded_request() 避免过渡卡顿。
  • 好感检查不用精确浮点比较,使用 is_equal_approx() 避免抖动导致的逻辑失败。
  • 不把复杂对话纯写在代码里,把对话树设计为自定义 Resource 类,解耦叙事数据与逻辑。
  • 限时选择不依赖系统全局时钟,使用尊重 Engine.time_scale 与暂停状态的 SceneTreeTimer。
  • 不可见控件不要保留 MOUSE_FILTER_STOP,在非不透明层设为 IGNORE 或 PASS,避免阻挡对话推进。
  • 不硬编码对话字符串,把文本映射到本地化键并通过 tr() 获取。
  • 界面不使用绝对像素定位,依赖锚点与容器实现响应式缩放。

使用方式与专家组件(scripts/)

在实现匹配系统前,资料标注为“强制阅读”的脚本:

  1. affection_manager.gd — 多轴吸引/信任/舒适
  2. date_event_system.gd — 约会 + 重复惩罚
  3. route_manager.gd — 路线锁定 / CG 标记

原创专家模式:

  • affection_manager.gd — 多轴吸引/信任/舒适追踪与礼物逻辑。
  • date_event_system.gd — 感知多样性的约会与重复惩罚。
  • route_manager.gd — 基于标记的路线分支与 CG 画廊持久化。

模块化组件:

  • romance_mood_manager.gd — 情绪修正,用于门控对话选项。
  • dialogue_expression_parser.gd — 用于立绘切换的表情/情绪标签。
  • global_affection_tracker.gd — 跨场景 Autoload 的全部轴快照。
  • romance_patterns.gd — 打字机 Tween 与爱心迸发效果辅助。
  • ui_feedback.gd — 好感里程碑处的爱心迸发 Tween 效果。
  • npc_schedule.gd — NPCSchedule Resource + hour_changed 路由。
  • seasonal_dialogue.gd — 季节/节日对话键覆盖。
  • player_romance_manager.gd — 约会开始时 call_group 广播嫉妒。

决策树要点

好感与对话:多轴属性用 affection_manager.gd;全局 HUD/嫉妒分组用 global_affection_tracker.gd + call_group;情绪门控台词用 romance_mood_manager.gd;立绘标签用 dialogue_expression_parser.gd。

路线与并行约会:早期探索保持路线解锁,自由提升吸引;信任门控更深的个人场景。中期专属告白在信任 ≥ 阈值且玩家接受时通过 route_manager.gd 锁定路线,冻结对手恋爱标记。并行约会允许,但被发现的交叠会因嫉妒分组削减信任。告白就绪度:吸引开启提示,信任决定成功或软拒绝,舒适降低限时选择恐慌失败。

不要重新内联好感/约会/路线类的占位实现,应加载上述脚本。

技能链

  1. 属性:dictionaries、resources — 多轴好感
  2. 时间线:autoload-architecture、signals — 日程/天数
  3. 叙事:godot-dialogue-system、visual-novel — 分支选择
  4. 持久化:godot-save-load-systems — 路线、CG、标记
  5. 表现:ui-theming、godot-tweening — 爱心/脸红

常见陷阱

  • 自动贩卖机式恋爱:多轴 + 约会重复惩罚。
  • 不透明数值:在 UI 中呈现吸引/信任/舒适的变化。
  • 脚本索引错乱:使用上述文件名(不使用损坏的路径片段)。

资料提示:决策树与脚本目录之外的深度内容,强制阅读 romance-systems-deep.md;首次接线阶段不要加载,先用打包的 scripts/。

架构概览

  1. 好感管理器(核心):处理所有角色的复杂关系数值与礼物偏好。

(资料中该节以代码块开始,但未提供完整代码内容。)

Godot 专属提示

  • 角色用 Resources:使用 CharacterProfile 资源存储基础数值、精灵图与礼物偏好。
  • RichTextLabel 动画:使用自定义 BBCode 实现“脸红”文字(脉动粉色)或“紧张”文字(抖动)。
  • Dialogic 集成:本技能聚焦系统层面,实际对话框建议搭配 Godot 的 Dialogic 插件处理。

参考(渐进披露)

官方文档

  • Resources — 将 CharacterProfile、约会地点、季节对话作为数据 Resource 编写,而非硬编码树。
  • Singletons (Autoload) — 承载 TimeManager / 全局好感追踪器,使日程与数值跨场景存活。
  • Using signals — 驱动里程碑、stats_changed 与小时/天时钟,避免 _process 轮询。
  • Groups — 向 romantic_interests 广播约会开始以实现嫉妒,无需硬编码 NPC 引用。
  • BBCode in RichTextLabel — 为约会模拟对话增添脸红、抖动与自定义情感效果。
  • Evaluating expressions — 用运行时 Expression 检查对好感/路线标记进行门控选择。
  • Saving games — 持久化路线、CG 画廊解锁与多轴关系字典。
  • Background loading — 线程加载大型叙事 Resource,避免路线切换卡顿。
  • Internationalizing games — 通过 tr()/本地化键映射对话与选项文本。
  • Size and anchors — 用锚点与容器保持心形 UI 与选项面板响应式。
  • Pausing games — 限时选择与恋爱菜单须尊重 SceneTree 暂停/time_scale。
  • Tween — 打字机 visible_ratio 与爱心脉冲,避免 _process 计时器。

相关技能

前置:godot-resource-data-patterns、godot-autoload-architecture、godot-signal-architecture、godot-dialogue-system。 互补:godot-genre-visual-novel、godot-ui-rich-text、godot-tweening、godot-save-load-systems、godot-inventory-system、godot-ui-theming。 下游/消费者:godot-monte-carlo-balancer、godot-quest-system、godot-audio-systems。 总控:godot-master。

限制

资料未提供收费、价格、平台支持范围、版本要求与安装命令等信息,相关事实暂未提供。