《鬼牌》是一款计划使用 LÖVE / Love2D 实现的 4 人扑克牌桌游。游戏使用两副去除大小王的标准扑克牌,并加入具有特殊效果的【鬼牌】。玩家通过赢得出牌轮次获得分数,也可以尝试率先打空手牌直接获胜;当牌库耗尽后,游戏进入【猎杀时刻】,玩家不再摸牌,而是在原本摸牌阶段扣分,直到产生最后的幸存者。
当前项目处于早期原型阶段:规则、UI 流程和 Love2D 实现规划已经建立,Love2D 工程骨架已经可以进入主菜单和占位流程场景。
- 4 人参与的扑克牌对抗。
- 两副普通牌加自定义鬼牌组成牌库。
- 鬼牌既可以作为万能牌参与牌型,也可以放入【鬼牌格】产生持续效果。
- 【炸弹】及以上牌型可以在低级牌型轮次中“以大欺小”。
- 牌库耗尽后进入【猎杀时刻】,从得分竞赛转为生存淘汰。
- 美术方向参考“小丑牌”式的高对比、厚描边和夸张扑克牌语言,但会发展为《鬼牌》自己的幽灵赌场风格。
基础规则:
- 玩家人数:4 人。
- 普通牌:两副标准扑克牌,去除大小王,共 104 张。
- 初始手牌:每名玩家 7 张。
- 初始分数:默认 10 分。
- 推荐底分:10 分。
- 每名玩家开局隐蔽选择 5 张鬼牌洗入牌库。
获胜方式:
- 在出牌阶段打空手牌,立即获得本局胜利。
- 进入【猎杀时刻】后,成为最后一名未被淘汰的玩家。
当前设计包含以下牌型:
- 单牌
- 对子
- 三张
- 顺子
- 同花
- 葫芦
- 炸弹
- 同花顺
- 皇室同花顺
- 五条
详细牌型倍率、比较规则和鬼牌万能牌规则见 docs/design.md。
- 规则设计:完整游戏规则、流程、计分、猎杀时刻和测试结论。
- 鬼牌列表:当前鬼牌卡牌设计与效果说明。
- UI 流程设计:主菜单、选鬼、主牌桌 HUD、猎杀时刻、结算等界面流程。
- Love2D 实现方案:推荐工程结构、模块职责、测试策略和首个可玩版本范围。
计划使用:
- LÖVE / Love2D 11.x
- LuaJIT / Lua 5.1 兼容 Lua
- 鼠标为主的本地桌面交互
- Love2D 原生 2D 绘制 UI 和牌桌
推荐架构方向:
main.lua只负责 Love2D 回调转发。- 规则、牌型判定、回合流程和鬼牌效果放入独立玩法模块。
- UI 绘制、动画和输入处理与核心规则分离。
- 牌型识别和规则判断优先做纯 Lua 测试。
GhostPoker/
conf.lua
main.lua
src/
core/
scenes/
gameplay/
data/
input/
ui/
render/
assets/
debug/
assets/
fonts/
images/
audio/
tests/
docs/
当前仓库已经包含基础 Love2D 入口、场景管理、主菜单、占位流程场景和基础 UI 主题。后续会按 Love2D 实现方案逐步接入真实玩法模块。
- 搭建 Love2D 工程骨架。
- 实现普通牌、牌库、洗牌和发牌。
- 实现牌型识别与比较。
- 实现基础回合流程:摸牌、出牌、跳过、结算。
- 实现主牌桌最小 UI。
- 实现选鬼阶段和鬼牌万能牌。
- 实现鬼牌格与首批核心鬼牌效果。
- 实现猎杀时刻和本局结算。
- 增加视觉表现、动画、音效和更多鬼牌。
如果 love 命令已经加入 PATH,可在项目根目录运行:
love .如果命令行找不到 love,可以使用 LÖVE 安装目录中的 love.exe 打开本项目目录,或把 LÖVE 安装目录加入 PATH。
- 规则设计:已建立。
- 鬼牌列表:已建立。
- UI 流程:已建立。
- Love2D 实现规划:已建立。
- Love2D 工程骨架:已建立。
- 可运行玩法原型:未开始。