机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
云复古
复古游戏的开源云游戏服务 视频演示: https://www.youtube.com/watch?v=GUBrJGAxZZg 技术总结: https://webrtchacks.com/open-source-cloud-gaming-with-webrtc/ CloudMorph: https://github.com/giongto35/cloud-morph : 我当前专注于云游戏的通用解决方案
Discord: 加入我们
在 cloudretro.io 试试吧
直接玩现有游戏: [宝可梦绿宝石]( https://cloudretro.io/?id=1bd37d4b5dfda87c___Pokemon%20-%20Emerald%20Version%20(U ))
介绍
CloudRetro 提供了一个开源的复古游戏云游戏平台。它最初是作为一个实验,用于测试使用 WebRTC 和 Libretro 的云游戏性能,现在其目标是通过该技术提供最现代和最方便的游戏体验。
理论上,在云游戏中,游戏在远程服务器上运行,媒体以最佳方式流式传输给玩家,以确保最舒适的用户交互。这使得在网页浏览器上直接玩任何复古游戏成为可能,这些游戏完全兼容多平台,如桌面、安卓、IOS。
在理想的网络条件下并且服务器资源竞争较少时,游戏将像视频演示中一样流畅运行。由于我仅在美国东部、美国西部、欧洲、新加坡的有限服务器上托管该平台,你可能会遇到一些延迟或连接问题。你可以尝试按照下一节的说明自行托管服务,以更好地了解性能表现。
功能
- 云游戏:游戏逻辑和存储托管在云服务上。它减少了游戏初始化的繁琐。图像和音频通过先进的编码技术以最优化方式流式传输给用户。
- 跨平台兼容:游戏运行在网页浏览器上,这是最通用的内置应用程序。无需游戏主机、插件、外部应用或设备。
- 模拟器无关:游戏可以直接游玩,无需额外设置游戏模拟器或平台。
- 协作玩法:遵循群体游戏的理念(TwitchPlaysPokemon),多个玩家可以通过相同的深度链接一起玩同一款游戏。游戏体验由云游戏提供支持,因此游戏更加流畅。查看群体游戏部分
- 在线多人:史上第一次,您可以在线玩复古游戏的多人模式。您可以尝试《侍魂》2人对战的格斗游戏示例。
- 横向扩展:基础设施设计能够通过增加更多实例在高流量下扩展。
- 云存储:游戏状态存储在在线存储中,因此您可以回来继续未完成的游戏。
开发环境
- 安装 Go
- 安装 GStreamer
# Ubuntu / Windows (WSL2)
apt-get install -y make gcc pkg-config libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good
# macOS
brew install pkg-config gstreamer gst-plugins-base gst-plugins-good
# Windows (MSYS2)
pacman -Sy --noconfirm --needed git make mingw-w64-ucrt-x86_64-{gcc,pkgconf,gstreamer,gst-plugins-base,gst-plugins-good}
因为协调器和工作进程需要同时运行。工作进程连接到协调器。
- 脚本
make dev.run- 该脚本会生成两个进程,一个在后台,一个在前台
- 手动
- 需要在两个会话中分别运行协调器和工作进程
go run cmd/coordinator/main.go- 启动协调器go run cmd/worker/main.go --coordinatorhost localhost:8000- 生成连接到协调器的工作进程
此外,您可以安装和配置一个 X Server 显示器,以便能够运行 OpenGL 核心。请参见 docker-compose.yml 文件中的 Xvfb 示例配置。
使用 Docker 运行
使用 makefile 脚本:make dev.run-docker 或直接使用 Docker Compose:docker compose up --build。它会生成一个 Docker 环境,您可以在 localhost:8000 上访问该服务。
配置
默认配置文件存储在 pkg/config/config.yaml 文件中。此配置文件将嵌入到应用程序中,并在启动时自动加载。为了更改默认参数,您可以使用 CLOUD_GAME_ 前缀指定环境变量,或者将自定义 config.yaml 文件放置在以下位置之一:应用程序附近、用户主目录中的 .cr 文件夹,或者通过 -w-conf 应用程序参数 ( worker -w-conf /usr/conf ) 指定自定义目录。
部署
如果你想尝试在云中托管自己的 cloud-retro 副本,可以查看 部署脚本 示例。这个脚本(deploy-app.sh)允许将配置好的应用程序自动推送到服务器群。云服务器应为任何基于 Debian 的系统,并且已安装 docker-compose 应用程序 安装。
技术文档
常见问题
群体游戏,一起玩游戏
通过点击这些深度链接,您可以直接加入游戏并与其他人一起玩。
- [玩《宝可梦绿宝石》]( https://cloudretro.io/?id=652e45d78d2b91cd___Pokemon%20-%20Emerald%20Version%20(U ))
- 火焰纹章
- 武士大战4
- 合金弹头X
您也可以通过访问 cloudretro.io 自己主持新的游戏,并点击“分享”按钮生成您游戏的永久链接。
鸣谢
我们非常感谢所有人,我们有幸与他们合作,并感谢许多人从他们出色的作品中提供的帮助和灵感。
致谢:
- Pion团队,感谢他们提供出色的Golang WebRTC库及支持。
- Libretro团队,感谢他们提供最棒的模拟器库。
- kivutar 用于 go-nanoarch 和 ludo。
- gen2brain,感谢他们提供的h264和VPX编码器。
- poi5305 用于 YUV 视频编码。
- fogleman 为 NES 模拟器 提供。
艺术
公告
CloudMorph是一个兄弟项目,提供更通用的方法在浏览器中以云游戏方式运行任何离线游戏/应用程序: https://github.com/giongto35/cloud-morph
团队
作者:
- Nguyen Huu Thanh (https://www.linkedin.com/in/huuthanhnguyen)
- Tri Dang Minh ( https://trich.im )
维护者:
- 谢尔盖·斯捷潘诺夫 ( https://github.com/sergystepanov )
- 本文标题:cloud-game - 基于网络的复古游戏云游戏平台
- 本文链接:https://cn121.com/game/giongto35-cloud-game.html
- 原项目:giongto35/cloud-game 版权归原作者 giongto35 及贡献者所有
- 收录信息:本站于 2026-10-18 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 giongto35/cloud-game。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。