Closed pengan1987 closed 6 years ago
要求的功能 楼主可以参考互联网档案馆Archive.org的Emularity项目实现ZIP格式游戏包的支持和不清除缓存情况下的游戏存档 https://github.com/db48x/emularity
优先度
Emularity使用了BrowserFS在浏览器中构建一个虚拟的文件系统,这个文件系统使用了浏览器的IndexedDB功能,因此具有一定持久性,可以实现不清除缓存状况下的游戏存档,而且ZIP包的下载体积也要比package小很多。
建议网站做动静分离,把游戏镜像放到阿里云OSS、Azure Blob Storage,Amazon S3或者类似的云存储中,规避服务器本身的流量和性能问题。包括那个比较大的dosbox.js都可以放到存储里面去,避免web server反复gzip带来的压力。
不是太建议把游戏的可执行文件放在这个repository里,可能会有版权问题,也会导致repository变的非常大,同时也可以考虑把游戏信息(介绍、执行文件名等)做成xml或者json的metadata文件,和网站框架分开维护,可以参考一下archive.org的模拟器区。
几个例子: 这个是使用Emularity,纯静态化页面和JS的仙剑 http://jsemu.oss-cn-shanghai.aliyuncs.com/emdosbox/pal.html
这个是使用v86的Win95,使用browserfs加载ZIP后的img镜像,也是纯静态页面的 http://jsemu.oss-cn-shanghai.aliyuncs.com/v86/win95.html
我的知乎专栏里还有一些其他的模拟器,全部都是只依靠阿里云OSS的静态页面,有兴趣可以去看一下 https://zhuanlan.zhihu.com/p/42973469
谢谢你的建议!🙏
@pengan1987 完成!
要求的功能 楼主可以参考互联网档案馆Archive.org的Emularity项目实现ZIP格式游戏包的支持和不清除缓存情况下的游戏存档 https://github.com/db48x/emularity
优先度
Emularity使用了BrowserFS在浏览器中构建一个虚拟的文件系统,这个文件系统使用了浏览器的IndexedDB功能,因此具有一定持久性,可以实现不清除缓存状况下的游戏存档,而且ZIP包的下载体积也要比package小很多。
建议网站做动静分离,把游戏镜像放到阿里云OSS、Azure Blob Storage,Amazon S3或者类似的云存储中,规避服务器本身的流量和性能问题。包括那个比较大的dosbox.js都可以放到存储里面去,避免web server反复gzip带来的压力。
不是太建议把游戏的可执行文件放在这个repository里,可能会有版权问题,也会导致repository变的非常大,同时也可以考虑把游戏信息(介绍、执行文件名等)做成xml或者json的metadata文件,和网站框架分开维护,可以参考一下archive.org的模拟器区。
几个例子: 这个是使用Emularity,纯静态化页面和JS的仙剑 http://jsemu.oss-cn-shanghai.aliyuncs.com/emdosbox/pal.html
这个是使用v86的Win95,使用browserfs加载ZIP后的img镜像,也是纯静态页面的 http://jsemu.oss-cn-shanghai.aliyuncs.com/v86/win95.html
我的知乎专栏里还有一些其他的模拟器,全部都是只依靠阿里云OSS的静态页面,有兴趣可以去看一下 https://zhuanlan.zhihu.com/p/42973469