# 类吸血鬼幸存者游戏 **Repository Path**: griffon2/vampire-survivors-like-game ## Basic Information - **Project Name**: 类吸血鬼幸存者游戏 - **Description**: 类吸血鬼幸存者游戏的核心玩法为: 1、自动攻击; 2、海量敌人; 3、局内成长。 - **Primary Language**: C++ - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-08-17 - **Last Updated**: 2025-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 类吸血鬼幸存者游戏 ## 介绍 类吸血鬼幸存者游戏的核心玩法为: 1、自动攻击; 2、海量敌人; 3、局内成长。 ## 后端安装 1. 在Win11的微软商店里,搜到Ubuntu版本24.04安装,知道能打开Linux命令行,具体细节可上网搜。然后安装以下工具; ``` add-apt-repository ppa:ubuntu-toolchain-r/test -y apt update apt install cmake apt install gcc-13 g++-13 apt install pkg-config apt install libcurl4-openssl-dev apt install libfmt-dev ``` 2. 在Linux命令行,进入 vampire-survivors-like-game/后端/C++ ,执行 bash build_all.sh --debug,生成三个执行文件; 3. 进入vampire-survivors-like-game/后端/C++/x64/Debug内,按先手顺序执行 WorldSvr_d , GameSvr_d , GateSvr_d 4. 修改电脑本地 hosts 文件把域名 test.rtsgame.online 定位到 127.0.0.1 5. 外网云服务器如果Ubuntu版本是22的话,要升级到24:https://zhuanlan.zhihu.com/p/694832548 6. 本地机器专用.ini 放到用户目录 ##前端安装 * 安装完node.js和下列npm内容之前,不要打开和导入项目; * 把下列npm按下面要求安装完后才能打开cocos导入和运行工程文件, * 要用管理员身份运行cmd 或 PowerShell,并且要跳转到工程根目录下,在工程根目录下,完成npm的安装 * 不要解压工程根目录下的biligame-builder-1.0.3.zip包,安装完npm游戏播放没问题后,点击菜单的extension表单,选择 extension manager,进入后点左边栏最上方的,最右边的导入按钮,在放大镜->查找->右边,然后找到根目录下的biligame-builder-1.0.3.zip导入,导入后弹出一个框,选择confirm即可; * 刚开始不熟悉情况,打开Cocos Creator编辑器可能看不懂,看不到地图,想看到地图,就在左下角搜索map,里面的内容都是地图,只要左键双击一下文件,就能在编辑器主窗口里预览。 1. 首先要有npm命令,安装了node.js才会有npm这个命令 2. 在本项目根目录执行 ```PowerShell npm install fs-extra npm install vue@^2.6.14 npm install @gltf-transform/core npm install msgpack-lite npm i --save-dev @types/msgpack-lite npm install js-yaml npm install @types/js-yaml --save-dev 如果报“因为在此系统上禁止运行脚本”,就先执行下面的 set-ExecutionPolicy RemoteSigned 然后输入“Y” ``` 否则可能报下面的错误: ![README_MsgPack没装好](README_MsgPack没装好.png) ``` [Scene] {hidden(::SceneExecutorImportExceptionHandler::)} Error: Error: Module "msgpack-lite/dist/msgpack.min.js" not found for file:///C:/Users/Administrator/source/repos/cocos-creator38-demo/assets/Main.ts at rejector (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:759:15) at ExecutorSystem.resolve [as _detailResolve] (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:777:13) at ExecutorSystem._resolve (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\src\editor-systemjs\index.ts:137:14) at SystemJS.resolve (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\src\editor-systemjs\index.ts:36:23) at C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:355:37 at Array.map () at C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:353:41 at file:///C:/Users/Administrator/source/repos/cocos-creator38-demo/temp/programming/packer-driver/targets/editor/chunks/52/cce:/internal/x/prerequisite-imports:8:13 at Object.execute (file:///C:/Users/Administrator/source/repos/cocos-creator38-demo/temp/programming/packer-driver/targets/editor/chunks/52/cce:/internal/x/prerequisite-imports:4:1) at Executor._importPrerequisiteModules (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\src\executor\index.ts:298:13) Error: [Scene] {hidden(::SceneExecutorImportExceptionHandler::)} Error: Error: Module "msgpack-lite/dist/msgpack.min.js" not found for file:///C:/Users/Administrator/source/repos/cocos-creator38-demo/assets/Main.ts at SystemJS.resolve (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\src\editor-systemjs\index.ts:36:23) at C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:355:37 at Array.map () at C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:353:41 at file:///C:/Users/Administrator/source/repos/cocos-creator38-demo/temp/programming/packer-driver/targets/editor/chunks/52/cce:/internal/x/prerequisite-imports:8:13 at Object.execute (file:///C:/Users/Administrator/source/repos/cocos-creator38-demo/temp/programming/packer-driver/targets/editor/chunks/52/cce:/internal/x/prerequisite-imports:4:1) at Executor._importPrerequisiteModules (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\src\executor\index.ts:298:13) at Logger._logHandler (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\builtin\scene\dist\script\3d\manager\startup\log.ccc:1:492) at Logger.record (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@base\electron-logger\lib\renderer.ccc:1:458) at console.error (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@base\electron-logger\lib\renderer.ccc:1:1414) at ScriptManager._handleImportException (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\builtin\scene\dist\script\3d\manager\scripts.ccc:1:5391) at Executor.importExceptionHandler [as _importExceptionHandler] (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\builtin\scene\dist\script\3d\manager\scripts.ccc:1:3485) at Executor._onModuleLoaded (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\src\executor\index.ts:347:22) at SystemJS.onload (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\src\executor\index.ts:87:18) at triggerOnload (C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:270:10) at C:\ProgramData\cocos\editors\Creator\3.8.0\resources\app.asar\node_modules\@editor\lib-programming\static\executor\systemjs-bridge\out\index.js:431:7 at file:///C:/Users/Administrator/source/repos/cocos-creator38-demo/temp/programming/packer-driver/targets/editor/chunks/52/cce:/internal/x/prerequisite-imports:8:13 ``` 3. 用Cocos Creator 3.8.7打开本项目 4. 修改Cocos Creator本地测试浏览器端口为7456或者7457 5. 选中场景Start,然后点三角形的播放按钮运行游戏 6. 如果要连接本地服务器的话,就修改电脑本地hosts文件把域名 test.rtsgame.online 定位到 127.0.0.1 7. 调试:直接在浏览器按 F12,在源代码文件内加断点 8. 服务器代码在 https://gitee.com/griffon2/iocp20coroutine ### 导出后端寻路文件的方法 1. 地面y坐标0,高于或低于面的地方不可站立,无网格处不可站立 2. 选中要导出的场景,必须双击选中打开“scene四方对战” 3. 菜单,扩展,杨宗保,网格 4. 选择Plane节点,保存为obj文件 5. obj文件复制到后端代码库的 Iocp20Coroutine\RecastDemo\Meshes 6. 双击打开RecastDemo.exe,选择“Temp Obastacles”,“Agent Radius”改为1.0 #### 贡献者 1. 第三方代码: https://github.com/microsoft/proxy https://github.com/google/glog https://github.com/open-source-parsers/jsoncpp https://github.com/recastnavigation/recastnavigation https://github.com/YunYouJun/cocos-creator-joystick https://gitee.com/wcp_code/websocketfiles openssl-3.4.0 msgpack-c-cpp-2.1.2 2. 贡献者名单(注意,强制署名,不允许匿名!如果任何人将任何侵权内容加入项目,引起的一切后果由其本人负全责,与项目其他贡献者无关): * 模型/动作:念起即行(QQ 2930801690) #### 协议 1. 使用此项目造成的一切风险由使用者承担; 2. 允许任何个人或组织将此项目用于学习和非商业用途; 3. 本项目贡献者有权(上文参与贡献名单中的个人或组织,以及项目所引用的第三方库的作者)将此项目用于闭源商业用途,无需向其它贡献者支付任何利益; 4. 任何个人或组织在未修改本项目任何内容的前提下,可以将此项目用于商业用途(比如用于教学盈利); 5. 任何个人或组织在修改本项目内容并且开源修改后的内容的前提下,可以将此项目用于商业用途(开源的意思是你要先开源然后才能发布产品,而不是发布产品之后过了十年再开源,那不叫开源,那叫闭源); 6. 参与贡献的方式非常宽松,贡献以下内容进入主分支都算参与贡献:一行代码、一个模型、一个动作、一段音效、一段音乐、一个图片;