Card Table 多人联机掼蛋系统 · 技术与功能全景复盘

AI-摘要
AnZhiYu GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
Card Table 多人联机掼蛋系统 · 技术与功能全景复盘
xiaoyunhai目标:把“多人联机 + 严谨规则 + 3D 表现 + AI 协同”落成一套可扩展的商业级掼蛋框架。
核心挑战:Mirror 状态同步的一致性保证、复杂牌型的秒级识别、以及 AI 解说与语音通信的并发调度。
核心项目
Card Table
多人在线掼蛋联机系统(暂未开源)
Unity 2022 + Mirror + AI Commentary
一、项目定位 1.0
- 项目类型:多人在线掼蛋(Card Table)+ 语音聊天 + AI 解说
- 引擎版本:Unity 2022.3.56f1c1
- 主要平台:
StandaloneWindows64 - 联机场景流:
MainMenu -> Lobby -> Table - 场景构成:
Assets/Scenes/MainMenu.unityAssets/Scenes/Lobby.unityAssets/Scenes/Table.unity
二、技术栈总览 2.0
2.1 引擎与框架
- 核心引擎:Unity 2022 LTS / C#(面向组件 + 事件驱动)
- 网络层:Mirror Networking (
NetworkRoomManager/SyncVar/SyncList/Command/ClientRpc) - 传输协议:KCP Transport / Dissonance Voice (MirrorIgnorance 集成)
- 视觉与表现:Cinemachine / TextMeshPro / Addressables / DOTween 。
2.2 语音与 AI
- TTS 系统:Serena.Tts (运行时服务)
- 语音生成:Azure Speech SDK (编辑器侧自动化脚本)
- AI 逻辑:LLM Stream (UnityWebRequest + SSE Chunk 解析 )
2.3 测试与工具
- 自动化测试:NUnit EditMode(规则识别与压制关系覆盖)
- 生产力脚本:大量 Editor 工具(一键搭 UI、网络、HUD、Addressables 修复)
三、核心功能模块详解 3.0
3.1 联机与房间系统
实现从 MainMenu 到 Lobby 的无缝衔接,支持主机/客户端自由加入。
- 状态同步:利用
SyncVar同步 Ready 状态与玩家属性。 - 断线重连:核心难点。通过保留玩家对象、重绑连接并重发关键快照,确保断线后能恢复手牌与回合进度。
- 聊天系统:含频率限制与敏感词过滤的实时同步。
3.2 掼蛋规则引擎 (Core Rules)
- 牌型识别:完美识别单张、对子、三带二、顺子、连对、钢板。
- 高级压制:炸弹、王炸、同花顺的阶级逻辑。
- 逢人配:特色功能 红桃级牌智能参与组合识别。
- 托管机制:倒计时超时自动过牌/进入托管,保障单局流程。
3.3 3D 手牌与桌面演出
- 对象池:
CardPool优化频繁出牌/回收的性能损耗。 - 扇形布局:
HandLayoutConfig曲线驱动,模拟真实手牌握感。 - 交互体验:悬停缩放、点击选牌、多选滑动操作。
- 相机联动:第一人称/桌面聚焦视角动态切换,增强代入感。
3.4 AI 解说系统 (ATC)
解说链路:事件总线 -> 上下文构建 -> LLM 流式输出 -> TTS 播报 -> 字幕 UI。
- 动态感知:剩余牌数、级牌信息、最近出牌历史。
- 优先级调度:
GameAction(高) >Social>Commentary。
四、架构与工程化亮点 4.0
1 | graph TD |
- 解耦设计:网络层与规则层通过
IGameFlowController接口隔离,提升单机/联机切换灵活性。 - 数据驱动:
AppSettings统一配置,CardAssetLibrary管理数千张卡牌资源。 - 生产力工具:开发了大量
Dev/Tools菜单,一键搭建复杂的场景组件,将 UI 开发时间缩短 70%。
五、场景落地展示 5.0
5.1 MainMenu & Lobby
- 包含
CardGameNetworkManager、AppSettings、DissonanceSetup。 - 完整的高级设置面板(语音、网络、音效)。
5.2 Table (核心对局场景)
- GameDirector:全局控制核心。
- HandVisualizer:实现
HandController与FanLayout的视觉对齐。 - HUD 系统:ActionPanel、Scoreboard、TributeHUD(进贡交互)、SettlementPanel。
六、测试覆盖与质量 6.0
- 规则测试:
Assets/Tests/Editor/GuandanRulesetTests.cs - 覆盖点:
- 基础/复杂牌型识别。
- 炸弹与同花顺的互压逻辑。
- 难点 :逢人配在不同组合下的最优解匹配。
- 6 炸 vs 同花顺层级比较。
七、排错与优化表 7.0
| 现象 | 原因 | 处理方式 |
|---|---|---|
Missing Script 警告 |
场景脚本引用丢失 | 运行 AddressablesFixer 检查或手动重绑 |
| 联机场景加载卡顿 | 资源实例化过载 | 启用 CardPool 并分帧发牌 |
| 菜单项重复定义 | DevSetupTool 冲突 |
合并 Dev/Tools 脚本入口 |
八、简历快照 (Professional Summary) 8.0
- 基于 Unity + Mirror 构建 4 人联机掼蛋系统,完成房间、Lobby、准备、开局、回合及断线重连。
- 自研完整掼蛋规则引擎,支持逢人配、同花顺等所有复杂牌型,并通过 NUnit 编写自动化单元测试。
- 实现 3D 扇形手牌布局,利用 ScriptableObject 与对象池优化,保障多选/滑动交互体验。
- 集成 AI 解说 (ATC),基于 LLM 流式输出与 TTS 路由,实现动态感知的智能播报。
九、自研脚本清单 9.0
点击查看全量架构清单
9.1 ATC & AI
AtcManager.cs/AtcContextBuilder.cs/AtcLlmClient.cs(LLM 集成)AtcSubtitleUI.cs
9.2 Card & Hand
FanLayout.cs/HandController.cs/CardPool.csCardAssetLibrary.cs(资源库管理)
9.3 Networking
CardGameNetworkManager.cs/MyRoomPlayer.csDealCoordinator.cs/ChatMessage.cs
9.4 Rules & Logic
GuandanRuleset.cs(引擎核心)CardComparer.cs/DeckShuffler.cs
9.5 Editor Tools
AddressablesFixer.cs/UiBuilder.csActionVoicePackDownloader.cs






