本页目录

Cocos2d-x 跨平台 2D 游戏开发框架

cocos2d-x · cocos2d/cocos2d-x

Cocos2d-x 是一套开源、跨平台的 2D 游戏开发工具,使用 C++ 编写,基于 cocos2d-iphone 重写而来,可运行于 iOS、Android、macOS、Windows 与 Linux。官方说明其核心已演进为 Cocos Creator 1.x 与 2.x 的基础。仓库 topics 覆盖 Lua、M...

RPG 多人对战 自研引擎 C++ 游戏状态管理 网络联机 地图编辑器 音频系统 高级
★ Stars 522 Forks 271 License 未明确 更新 2026-11-07

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
依赖 Visual Studio 与 nmake 构建;OpenAL Soft 为仓库内预编译二进制,zlib/libpng/libarchive 需从源码构建,libarchive 需通过 cmake 指定 zlib 路径。国内获取 Visual Studio 安装包与相关依赖源码时可能受网络影响,建议提前准备镜像或离线包;具体可用性待核验。

中文项目介绍

Meridian 59 是 MMORPG 历史上具有里程碑意义的作品,本仓库公开的是其 v1.1 版本(2015 年 1 月)的源代码,由 Andrew Kirmse 与 Chris Kirmse 维护,版权声明覆盖 1994–2026 年。需要先明确一点:这里发布的是代码,不是一款可以直接下载即玩的完整游戏——美术资源、房间数据、音频等游戏内容并不包含在仓库中,需要使用者自行从其他渠道获取并放入资源目录。

仓库包含客户端、服务端、游戏逻辑代码、Blakod 编译器、房间编辑器以及一系列配套工具。音频部分由 OpenAL Soft 负责,其预编译二进制放在 external/ 目录下。对于想研究早期商业 MMO 架构、网络同步与脚本化游戏逻辑的开发者来说,这是一份少见且完整的工程样本。

核心功能

客户端与服务端

构成 MMORPG 运行的两端,服务端可执行文件为 `blakserv.exe`。

游戏逻辑代码

服务端侧的游戏规则与行为实现。

Blakod 编译器

Meridian 59 使用自有的脚本语言 Blakod 来描述游戏逻辑,编译器是构建流程的一部分。

房间编辑器

用于编辑游戏世界房间数据的工具。

相关工具集

围绕上述组件的辅助程序。

音频支持

通过 OpenAL Soft 实现,预编译二进制随仓库提供。

技术架构分析

技术要点

  • 语言与构建:主体为 C++,使用 Microsoft Visual Studio 构建,README 给出的方式是调用 nmake,调试版直接执行 nmake,发布版执行 nmake RELEASE=1。
  • 第三方依赖:项目使用 zlib、libpng、libarchive 与 OpenAL Soft。其中 zlib、libpng、libarchive 从源码构建;OpenAL Soft 以预编译二进制形式提供,采用 LGPL,许可细节见 external/openal-soft/。libarchive 通过 cmake 配置,需要设置 ZLIB_INCLUDE_DIR 指向 include 目录、ZLIB_LIBRARY 指向 lib/zlib.lib,以便使用 zlib。
  • 跨平台服务端:服务端可以在 Linux 或 Mac 上构建,进入 blakserv 目录后执行 make -f makefile.linux。需要注意 blakserv.cfg 需要手工修改才能在 Linux 上运行。
  • 脚本化游戏逻辑:Blakod 编译器与游戏逻辑代码的分离,体现了早期 MMO 将规则逻辑从引擎中抽离的设计思路。

构建与运行

Windows 构建

  1. 确保 Visual Studio 的二进制目录在 PATH 中,例如使用随 Visual Studio 提供的 vcvars32.bat。
  2. 切换到包含 README 的顶层目录。
  3. 执行 nmake 构建调试版,或执行 nmake RELEASE=1 构建发布版。

README 称代码已用 Microsoft Visual Studio 2026 社区版成功构建,该版本可从官网免费下载;具体版本信息建议以实际验证为准。

运行服务端与客户端

构建完成后,run\server 目录下是服务端安装,在其中执行 blakserv.exe 即可启动。run\localclient 目录下是客户端安装,但需要自行获取美术、房间与音频文件并复制到 resource 子目录。

首次使用建议先创建管理员账号:在服务端界面的 “Administration” 标签页输入 create account admin joe.smith password,会返回类似 “Created ACCOUNT 4” 的消息;随后用 create admin 4 为该账号创建角色槽位。README 特别提醒不要沿用示例中的默认账号名与密码,否则服务器可能被他人接管。创建完成后记得在服务端界面执行 “save game” 保存。

本地客户端可通过命令行参数连接本地服务端,例如:

meridian.exe /U:joe.smith /W:password /H:localhost /P:5959

Linux / Mac 服务端

cd blakserv
make -f makefile.linux

之后按需调整 blakserv.cfg。

补充说明

授权与商标

使用前务必阅读仓库中的 LICENSE 文件,有两点限制需要特别注意:

  • 再分发须公开源码:以任何形式再分发本代码时,必须提供源代码,并且包含你所做的修改。作者同时表达了希望改动回流到原始项目的意愿。
  • 商标限制:“Meridian”是注册商标,未经作者书面许可不得使用。
  • 内容不在授权范围内:许可证不覆盖美术、房间、音频等游戏内容,这些内容本身也未随仓库提供。

学习建议

这份代码更适合有一定 C++ 与网络编程基础、希望研究经典 MMO 服务端结构的读者。建议的阅读顺序是:先跑通服务端构建与启动流程,理解 blakserv 的配置与账号体系;再查看 Blakod 编译器与游戏逻辑代码,理解脚本层如何驱动服务端行为;最后结合客户端代码观察两端交互。由于游戏内容不随仓库提供,客户端侧需要自行准备资源,这一点在动手前应提前规划。

联系与更多信息

作者提供的联系方式为 meridian59.email@gmail.com,官网为 https://meridian59.com,站上还可以读到这款游戏的历史。

开源许可证与版权说明

许可证标识:未明确。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目