麻将游戏开发框架:majiang-cocos-creator 如何用 Cocos Creator 搭出完整牌局
【免费下载链接】majiang-cocos-creator麻将 cocos creator +nodejs 后端项目地址: https://gitcode.com/gh_mirrors/ma/majiang-cocos-creator
majiang-cocos-creator 是一个 Cocos Creator 麻将游戏开发框架,前后端代码齐全,解决从登录到胡牌结算的整条链路,让你跳过棋牌服务端从零搭建的阶段。
🎯 它替你省掉了哪些事
做过棋牌的人都知道,客户端只是冰山一角。没有这套框架,你得自己搭三样东西:登录和账号体系、房间匹配和排队逻辑、牌局本身的收发牌规则。三者之间的通信协议、心跳、断线重连,每一样都是坑。
有了它,你直接跳过搭建阶段。仓库里的server/目录按账号服(account_server)、大厅服(hall_server)、游戏服(majiang_server)三个进程拆好了,每个进程各自的端口和职责写得很清楚;客户端从登录页到大厅再到牌桌(assets/module/下的 login、hall、mjgame 场景)也全是可运行的现成代码。你关心的摸牌、出牌、碰、杠、胡、自摸这些动作,服务端已经用一套整数常量(ACTION_CHUPAI 到 ACTION_ZIMO)定义好,客户端组件一一对应。
🧩 架构里最值得关注的几个设计决策
规则逻辑独立成文件。麻将最贵的改动是换玩法。这个项目在游戏服里放了两个游戏管理器:gamemgr_xzdd.js和gamemgr_xlch.js,对应两种地方玩法,结构几乎一致,只在叫将、算番等差异函数上分叉。想加第三种规则,照着一个文件抄再改差异点,不用动登录和房间代码。
前后端协议是"笨"设计。牌面用 0-26 的数字编码(0-8 筒、9-17 条、18-26 万),动作就是几个小整数。没有 ORM、没有消息框架,Socket 收到什么就直接查表处理。初学服务端的人翻socket_service.js到roommgr.js这条链路,比读任何"高并发架构"文章都直观。
配置集中在一个文件。三个服务的 IP、端口、加密 KEY、数据库连接都收在server/configs_local.js里,本地联调时只改这一个文件,这是老式 Node 工程的务实做法。
🚀 跑通示例工程只需要三步
建议你先克隆仓库:
git clone https://gitcode.com/gh_mirrors/ma/majiang-cocos-creator再改配置:打开server/configs_local.js,把HALL_IP、MySQL 的HOST/USER/PSWD/DB换成你本机的值,建一个空数据库。然后起服务:在server/下分别启动account_server/app.js、hall_server/app.js、majiang_server/app.js,客户端用 Cocos Creator 1.x 打开工程根目录运行,从 loading 场景进到大厅就能开一桌。
📋 适合谁,也提醒一下不适合谁
适合:想搞清楚棋牌服务端长什么样的人;要用 Cocos Creator 1.x 做小麻将、地方玩法的独立开发者;拿它当教学案例讲事件驱动(Event-Driven,事件驱动)牌局的老师。
不太适合:需要主流国标、日麻等复杂规则系统的人,规则目前是硬编码在管理器里的;追求热更新、模块化打包等现代工作流的团队,这个工程结构比较老。
🙋 社区入口
issue 和 PR 都在仓库里,没有单独的讨论区。建议你先翻一下 open issues,看看有没有人正在问规则配置或部署的问题,能复现的就直接提个带日志的 issue,比在群里问快得多。
想跑通一桌再谈改造,是这个项目最好的打开方式。
【免费下载链接】majiang-cocos-creator麻将 cocos creator +nodejs 后端项目地址: https://gitcode.com/gh_mirrors/ma/majiang-cocos-creator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考