V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hzcer
V2EX  ›  分享创造

浏览器中游玩 DOS 游戏

  •  3
     
  •   hzcer · 2018-09-03 11:19:06 +08:00 via iPhone · 10168 次点击
    这是一个创建于 2281 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写了个在浏览器中玩中文 DOS 游戏的网页

    DEMO: https://dos.zczc.cz 网站架在 Cloudflare 后面,所以可能有一点慢,请耐心等待。

    游戏数量

    现在支持三十多款游戏(时间有限只能做到这样了)。欢迎大家提出想要添加的游戏。

    感谢

    基于 https://github.com/dreamlayers/em-dosbox

    项目地址

    https://github.com/rwv/chinese-dos-games 求 Star !

    第 1 条附言  ·  2018-09-04 08:57:34 +08:00
    新增全屏支持
    第 2 条附言  ·  2018-09-05 17:50:51 +08:00
    可以存档了💾
    57 条回复    2018-09-13 16:19:00 +08:00
    siknet
        1
    siknet  
       2018-09-03 11:23:46 +08:00
    能存档不?
    kangkang
        2
    kangkang  
       2018-09-03 11:28:46 +08:00
    点赞
    hzcer
        3
    hzcer  
    OP
       2018-09-03 11:29:02 +08:00
    @siknet #1 存档的确现在还没有做完,因为 Emscripten 不能十分方便的保存存档,现在主要可能的解决方案有两个。一个是 https://kripken.github.io/emscripten-site/docs/api_reference/Filesystem-API.html#filesystem-api-idbfs 另一个是 http://github.com/copy/v86。使用 v86 我已经做出可以存档的 DEMO 了,但 v86 仍然有些 bug 使得 DEMO 基本上不可用。
    hzcer
        4
    hzcer  
    OP
       2018-09-03 11:31:03 +08:00
    @siknet #1 另外还有一个缓解方案就是提供一些经典存档,如 DEMO 中的仙剑奇侠传。但这需要大量的时间来进经典存档的获取、筛选。
    lingll
        5
    lingll  
       2018-09-03 11:44:20 +08:00
    三国志 4 运行退出, 估计没配置好内存
    hzcer
        6
    hzcer  
    OP
       2018-09-03 11:50:00 +08:00
    @lingll #5 对的,加入游戏的时候没有仔细验证,看到标题界面就以为已经运行成功了。
    siknet
        7
    siknet  
       2018-09-03 12:02:05 +08:00
    已 star,能存档的话更方便上班摸鱼...
    chungzh
        8
    chungzh  
       2018-09-03 12:22:53 +08:00
    挺好玩的,star~
    outcastveron
        9
    outcastveron  
       2018-09-03 13:14:04 +08:00
    nb,star 一下支持
    jy02201949
        10
    jy02201949  
       2018-09-03 13:16:19 +08:00
    dos, 必须来个金瓶梅啊哈哈哈哈
    lingll
        11
    lingll  
       2018-09-03 13:23:37 +08:00
    不错, 手机浏览器都可以玩, 不过没键盘鼠标没法玩
    hzcer
        12
    hzcer  
    OP
       2018-09-03 13:52:01 +08:00
    Cytion
        13
    Cytion  
       2018-09-03 14:48:47 +08:00 via Android
    终于能够摸 20 年前的鱼了

    感谢楼主
    zlhsvc
        14
    zlhsvc  
       2018-09-03 14:54:26 +08:00
    很有意思
    Xi
        15
    Xi  
       2018-09-03 14:58:28 +08:00
    同级生 2?
    NordicShaw
        16
    NordicShaw  
       2018-09-03 16:38:27 +08:00
    可以,可以,能存档最好了。
    cnzzz
        17
    cnzzz  
       2018-09-03 17:33:03 +08:00
    厉害,顶一个
    pythonee
        18
    pythonee  
       2018-09-03 19:50:47 +08:00
    惊喜
    novay55555
        19
    novay55555  
       2018-09-03 20:11:24 +08:00
    厉害厉害. 感谢分享
    20015jjw
        20
    20015jjw  
       2018-09-04 08:11:35 +08:00 via Android
    nice
    suyuyu
        21
    suyuyu  
       2018-09-04 10:36:40 +08:00
    老哥 你这是真的慢--
    hzcer
        22
    hzcer  
    OP
       2018-09-04 10:53:32 +08:00 via iPhone
    @suyuyu 现在每小时 50G 的流量,不躲在 Cloudflare 后面真的吃不消
    missdeer
        23
    missdeer  
       2018-09-04 11:26:07 +08:00
    Firefox 上跟幻灯片似的
    ArchiTech
        24
    ArchiTech  
       2018-09-04 11:46:03 +08:00
    nb
    nianbo2001
        25
    nianbo2001  
       2018-09-04 11:49:27 +08:00
    厉害
    niuoh
        26
    niuoh  
       2018-09-04 12:49:15 +08:00
    有 步步高版的金庸群侠传就好了
    zhenhua
        27
    zhenhua  
       2018-09-04 13:16:14 +08:00
    好怀念。。 一百个赞
    Lanke0
        28
    Lanke0  
       2018-09-04 13:44:41 +08:00
    怀念 dos 版马里奥
    kirisakiaria
        29
    kirisakiaria  
       2018-09-04 14:50:18 +08:00
    感谢分享
    rekulas
        30
    rekulas  
       2018-09-04 23:11:32 +08:00
    @hzcer 游戏包不能缓存,导致加载慢和服务器流量大,这个能否解决,比如首先考虑数据压缩(测试了下可以减少 30%-50%),肯定会对加载性能有影响但应该比直接加载快些 /把数据包伪装成图片 /压缩包之类的进行缓存控制
    shrekshao
        31
    shrekshao  
       2018-09-05 02:06:35 +08:00
    好评
    shrekshao
        32
    shrekshao  
       2018-09-05 02:07:11 +08:00
    卖给 steam ?搞到 electron 推一波复古游戏出来卖?
    hzcer
        33
    hzcer  
    OP
       2018-09-05 09:45:53 +08:00
    @rekulas #30 游戏包一直是缓存的啊?数据压缩的确可以使得加载快很多,需要 nginx 的 http_gzip_static_module 模块。
    hzcer
        34
    hzcer  
    OP
       2018-09-05 09:46:12 +08:00
    @shrekshao #32 版权是个问题呀
    zhang1215
        35
    zhang1215  
       2018-09-05 14:28:49 +08:00
    就喜欢这种复古的
    hzcer
        36
    hzcer  
    OP
       2018-09-05 17:50:34 +08:00 via iPhone
    @siknet
    @NordicShaw
    可以存档了
    rekulas
        37
    rekulas  
       2018-09-05 19:37:40 +08:00
    红警 95 可以加 比较经典
    xuddk727
        38
    xuddk727  
       2018-09-06 09:39:30 +08:00
    这个好 NB 啊?怎么实现的,输出重定向???
    d0m2o08
        39
    d0m2o08  
       2018-09-06 12:41:32 +08:00
    放到自己的小鸡上了,已 star
    adidala
        40
    adidala  
       2018-09-06 17:17:34 +08:00
    厉害了 上班划水利器
    leelrs
        41
    leelrs  
       2018-09-07 03:19:51 +08:00
    厉害 在微信群里传播的很快啊
    wl904836468
        42
    wl904836468  
       2018-09-07 10:01:29 +08:00
    血狮也可以加上
    drquest
        43
    drquest  
       2018-09-08 02:35:08 +08:00 via iPhone
    @rekulas 现在游戏应该是打成 zip 包的了,流量省很多
    MPVTZE
        44
    MPVTZE  
       2018-09-08 14:46:21 +08:00
    牛逼。
    问下服务器支持到什么时候?
    yksoft1
        45
    yksoft1  
       2018-09-08 16:42:23 +08:00
    你这个 em-dosbox 用的 SDL2 那个分支编译的?
    yksoft1
        46
    yksoft1  
       2018-09-08 16:44:22 +08:00
    而且新的 emscripten 下貌似就算是 SDL2 分支都有很多问题吧。。
    yksoft1
        47
    yksoft1  
       2018-09-08 16:51:49 +08:00
    @rekulas 没有 dynamic core,dosbox 哪怕在 x86 上都基本上跑不动红警 95.
    hzcer
        48
    hzcer  
    OP
       2018-09-09 01:33:38 +08:00
    @MPVTZE #44 网站现在每天大约 500-600GB 的流量,但服务器在 CDN 后面压力不大。但是假如要追求更快的加载速度估计是没有办法了。现在还没有取消服务器支持的计划。
    hzcer
        49
    hzcer  
    OP
       2018-09-09 01:38:54 +08:00
    @yksoft1 #45 直接使用 em-dosbox 的初版是 sdl2 的那个分支编译的,后来支持存档的第二版使用的是 db48x/emularity,但 db48x/emularity 文档还没有编译的说明,使用的是 db48x/emularity 提供的 dosbox.js ,似乎也是 sdl2
    hzcer
        50
    hzcer  
    OP
       2018-09-09 01:40:18 +08:00
    @yksoft1 #46 目前倒是没有碰到什么致命的问题,都是一些微小的 bug,还有对老版本浏览器可能支持不太好。
    yksoft1
        51
    yksoft1  
       2018-09-09 01:40:30 +08:00
    YKSOFT Systems ‏ @yksoft1 34s34 seconds ago

    I tried to compile DosBox-X SDL2 with Emscripten with references from https://github.com/dreamlayers/em-dosbox/tree/em-dosbox-0.74 … . However it couldn't get past cb_bios_startup_screen__func by now.. @jonatha99941399
    0 replies 0 retweets 0 likes
    hzcer
        52
    hzcer  
    OP
       2018-09-09 01:40:38 +08:00
    @rekulas #37 红警还没有开始测试
    hzcer
        53
    hzcer  
    OP
       2018-09-09 01:48:11 +08:00
    @yksoft1 #51 我看您提供的链接是 em-dosbox-0.74 分支,这个分支好像已经很久没有更新过了。另想请问您编译失败的 Emscripten 版本是什么呢?
    yksoft1
        54
    yksoft1  
       2018-09-09 01:57:13 +08:00
    @hzcer 反正我现在参考 em-dosbox 自己把 dosbox0.74 改了个简单的用 WebAssembly 跑的版本,感觉速度不太好就是了,还在研究 Dosbox-X 的移植
    del1214
        55
    del1214  
       2018-09-11 10:26:46 +08:00
    真厉害
    akumax
        56
    akumax  
       2018-09-11 13:56:05 +08:00
    赞,前几天刚在群里看到,没想到源头在这里。ORZ
    mytry
        57
    mytry  
       2018-09-13 16:19:00 +08:00
    可以考虑把大文件追加在一个几百字节的 GIF 动图后面,然后上传到各大免费图床相册里(比如知乎、贴吧等),这样速度就不封顶了,而且最关键还免费 - -
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2659 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:55 · PVG 17:55 · LAX 01:55 · JFK 04:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.