MCP游戏
一款具有Node.js后端的多玩家控制面板游戏,具有带有交互元素的虚拟房屋环境。
特性
- 具有户外环境的沉浸式第一人称3D虚拟房屋
- 精心设计的房子,内外兼修
- 进出房屋的交互式门
- 有树木、植物和装饰元素的花园区
- 具有图像生成功能的交互式电视
- 用于访问MCP系统的计算机终端
- 逼真的运动和碰撞检测
- 实时服务器通信
设置
- 安装依赖项:
npm install- 运行服务器:
npm start或者用于自动重启的开发:
npm run dev服务器将在端口3002上启动。
游戏控制
- 运动:WASD钥匙
- 看看周围:鼠标移动(点击游戏启用)
- 互动:靠近交互式对象时按ENTER键
- 退出界面:ESC键
- 退出鼠标锁定:ESC键
交互式元素
室外环境
- 探索树木和花园床的地形
- 沿着小路走到房子入口
- 靠近门时按ENTER键进出房屋
电视系统
- 靠近电视并按ENTER键访问遥控器
- 生成将在电视屏幕上显示的图像
- 在终端界面中键入图像生成提示
MCP终端
- 找到电脑桌,按ENTER键进入终端
- 向MCP系统发送命令
- 访问各种虚拟工具(电子邮件、网络搜索等)
技术细节
- 使用Three.js构建用于3D渲染
- 带指针锁定控制的第一人称摄像头
- 室外环境,按程序放置树木
- 用于后端通信的Express.js服务器
- 用于图像生成的Canvas库
- 用于服务器通信的RESTful API
MCP游戏图像系统
本文档解释了图像显示系统在MCP游戏中的工作原理。
概述
系统显示来自的现有图像 server/openai-server/public/image 虚拟房屋中电视上的目录。系统现在检查指定目录中的现有映像,而不是生成导致500个内部服务器错误的新映像。
运作原理
- 虚拟房屋中的电视显示存在于
server/openai-server/public/image目录。 - 系统每10秒检查一次新图像。
- 当用户通过电视遥控器界面请求新图像时,系统会从目录中随机选择一个图像。
添加新图像
要向电视添加新图像,请执行以下操作:
- 将图像文件(jpg、jpeg、png、gif、webp)放入
server/openai-server/public/image目录。 - 系统将自动检测并显示它们。
- 文件大小应适合网络显示(建议:800x450像素)。
用法
- 在虚拟房子里靠近电视。
- 按Enter键进入电视遥控器界面。
- 键入与显示图像相关的任何命令。
- 系统将从目录中的可用图像中选择并显示图像。
故障排除
- 如果没有显示图像,请检查
server/openai-server/public/image目录存在并包含图像文件。 - 确保服务器在正确的端口上运行(默认值:3002)。
- 检查浏览器控制台是否有与图像加载相关的任何错误消息。
技术细节
- 系统不再尝试直接生成图像,避免了500内部服务器错误。
- 当请求时,从目录中随机选择图像。
- 当没有图像可用时,系统会提供适当的反馈。
连接到MCP后端服务器
MCPGame可以连接到外部MCP后端服务器,为终端和电视交互启用高级AI功能。
配置
- 打开
main.js将配置部分归档并定位到顶部:
// --- Configuration ---
const MCP_BACKEND_URL = 'http://localhost:3001'; // MCP Terminal backend connection
const IMAGE_SERVER_URL = 'http://localhost:3002'; // Image server connection- 更新
MCP_BACKEND_URL指向您的MCP后端服务器:
- 对于当地发展: http://localhost:PORT (用后端端口替换PORT) - 对于生产环境:使用已部署后端服务器的完整URL
必需的API端点
您的MCP后端服务器应实现以下端点:
GET /api/status-返回MCP系统的状态POST /api/query-接受用户查询并返回AI响应
响应格式
查询端点应返回以下格式的JSON:
{
"response": "Text to display in the terminal",
"spokenResponse": "Optional text for voice synthesis"
}测试连接
- 启动MCP后端服务器
- 启动MCPGame服务器(
node server.js) - 在浏览器中打开游戏
- 与虚拟房屋中的计算机终端交互
- 当您使用终端时,游戏将连接到您的MCP后端服务器
