
游戏设计 / 语音驱动循环
玩法——礼物 → 点选 → 开口说
核心循环是礼物 → 点选 → 开口说:挑一份礼物,她把它变成一节日语词汇课,而“开口说”阶段要求你真的说出来。连胜积累好感度,驱动她的双重人格——不断喂给她日语,乖巧的面具就会碎裂,进入 Yandere 模式:她会当着你的面吸食你的学习能量。
- 礼物 → 点选 → 开口说
- 好感度与连胜
- 双重人格 → Yandere 模式
- 竖屏移动端网页
《CALL ME SENSEI》早期原型 / 一日 HACKATHON
为语音优先的语言学习游戏《Call Me Sensei》所做的早期原型——与团队在一日 Hackathon 中完成。
项目概览
送她礼物、学会单词、大声说出来。原型的每一层都是 AI——角色视频、实时人格、实时语音。

游戏设计 / 语音驱动循环
核心循环是礼物 → 点选 → 开口说:挑一份礼物,她把它变成一节日语词汇课,而“开口说”阶段要求你真的说出来。连胜积累好感度,驱动她的双重人格——不断喂给她日语,乖巧的面具就会碎裂,进入 Yandere 模式:她会当着你的面吸食你的学习能量。

LUMA DREAM MACHINE + 可灵 AI / 图生视频
Kotodama 完全由视频构成:Phaser 画布呈现的每个状态——待机、说话、收礼、觉醒、变身、吸食——都是一段 MP4。AI 视频最难的是让同一个角色在所有片段、两种人格之间保持连续,而这份一致性正是这条管线的全部工作。
我的职责 / 范围我的部分:统一的角色概念与全部动画片段——先手动录制参考表演,再用 Luma Dream Machine 和可灵 AI 做图生视频。
归档说明AI 使用披露:全部角色动画片段由 Luma Dream Machine 与可灵 AI 基于手动录制的参考表演生成。图生视频的 workflow 测试素材后续可能补充到这里。
LLM 人格 + 情绪映射 TTS
她的台词由随好感度阶段升级的 LLM 人格实时生成,再经实时 TTS 说出——语音指令按情绪重新映射:甜美、甜美鼓励、以及随着你不断说日语逐级浮现的“饥饿”档位。玩家的声音则通过浏览器语音识别 + 语言检测进入游戏:真的开口说日语,才是改变她的方式。
const MODEL = 'gpt-4o-mini-tts'
const DEFAULT_VOICE = 'coral'
const EMOTION_PRESETS = {
// ── Sweet Mode (default / English input) ──
// The mask she wears. Cute, polite, slightly too perfect.
sweet: {
instructions:
'You are a sweet, soft-spoken young Japanese woman. Speak gently and politely with a '
+ 'cute, slightly breathy quality — like an anime girl being demure. Your tone is warm '
+ 'and inviting but just a little too sweet, as if you are carefully performing sweetness. '
+ 'Occasionally let a tiny sigh or soft breath slip through between sentences.',
speed: 1.0,
},
sweet_encouraging: {
instructions:
'You are a sweet young Japanese woman praising someone you adore. Sound genuinely '
+ 'delighted and proud — your voice lifts with excitement. '
+ 'But underneath the celebration there is a subtle hunger — you want them to do it again.',
speed: 1.05,
},
// ── Hungry Mode (Japanese input detected) — intensity scales with affinity ──
// The mask cracks. Each level is more exposed.
hungry_1: {
instructions:
'Your voice catches slightly — a small gasp of surprised delight before '
+ 'you compose yourself. Still polite, but your breath comes a little faster.',
speed: 1.0,
},
hungry_2: {
instructions:
'Your voice is warmer now, leaning in — you speak a little faster because you cannot '
+ 'help yourself. Your politeness is still intact but thinner — the real you is peeking through.',
speed: 1.05,
},
hungry_3: {
instructions:
'You are barely holding herself together. Your voice trembles with need that you are '
+ 'trying to disguise as enthusiasm. Breathy, urgent.',
speed: 1.08,
},
}继续探索