大概效果可以参考这个动图,主打一个一行代码启动游戏开打。
直接在 V2EX 这个网页上打开控制台也能直接试用,跑一下这段代码就能直接开玩 flappy bird
const { Nostalgist } = await import('https://esm.run/nostalgist')
await Nostalgist.nes('flappybird.nes')
更多详细信息可以参考上面链接。
另外我有个大胆的想法,能不能基于这个整个摸鱼神器什么的,搞个插件在 vscode 控制台或者边栏上,领导不在就偷偷玩塞尔达救公主,领导来了随便开个别的页面就像正常上班了
当然现代塞尔达肯定不行,也就打打众神的三角力量、缩小帽啥的……
1
ragnaroks 2023-10-13 12:02:55 +08:00
看起来需要增加一个参数用于指定挂载的 DOM 来让第三方做集成,直接使用 body 绝对不是好的选择
|
2
battlefield OP @ragnaroks 有道理!不过其实可以指定 DOM 的,类似这样
```js await Nostalgist.launch({ element: '.xxx', rom: 'flappybird.nes', }) ``` 默认弄到 body 是出于方便新来的人一键试用的考虑,免得读者看到想跑起来还得配置一堆东西,就懒得看了… |
3
debuggerx 2023-10-13 12:13:33 +08:00
巧了,我前两天刚用 Emulator.js 给自己搭了个随时玩游戏的页面,魔改了它的一部分代码来支持平板和手机的自适应,部署在 gh pages 上,并利用 cf 的 kv 做了个云存档功能。测试发现它提供的 snes 核心对一些汉化游戏的支持不太好,又自己修改编译了一个 snes9x-wasm ,gba 倒是挺完美,ss 也能运行但是速度只有 10 几 fps ,nes 及更早的游戏就没什么兴趣了,然后街机全军覆没,要么提示 rom sets unknown ,要么运行后直接显示 RetroArch……
这两天在折腾把 sdlpal 移植到网页,并适配手机和平板用触屏游玩,以及云存档功能了 |
4
battlefield OP 哇,难得碰到类似折腾喜好的同道中人呀。
街机的问题,是不是 Emulator.js 附带的 fba 版本跟你对不上?我自己编译的 GitHub 上最新版 1.0.0.3 的 fba ,ROM 也用的最新版,跑起来没啥问题。存档同步我用的 OneDrive 。 ![]( https://user-images.githubusercontent.com/10987902/274794880-a89c74c6-90e9-4192-928c-020d3bbb8bd7.jpg) |
5
battlefield OP @debuggerx 哇,难得碰到类似折腾喜好的同道中人呀。
街机的问题,是不是 Emulator.js 附带的 fba 版本跟你对不上?我自己编译的 GitHub 上最新版 1.0.0.3 的 fba ,ROM 也用的最新版,跑起来没啥问题。存档同步我用的 OneDrive 。 ![]( https://user-images.githubusercontent.com/10987902/274794880-a89c74c6-90e9-4192-928c-020d3bbb8bd7.jpg) |
6
debuggerx 2023-10-13 16:17:55 +08:00
@battlefield 谢谢,我没自己编译它的所有核心,只用了它仓库里已经编译好的核心简单试了试,因为我本身对街机游戏也不是很感兴趣,一是我比较喜欢有剧情的,二是街机游戏在手机平板上操作很不舒服。
刚刚把手机浏览器运行 sdlpal 给优化得差不多了,借用了 Emulator.js 项目里虚拟手柄的代码,也分享下: https://imgur.com/a/dcxX3qV |
7
battlefield OP @debuggerx 效果不错!
|
8
IDKAFK 2023-10-15 14:58:13 +08:00
也分享一下收藏的在线游戏包含 FCS 、FC 、街机、GBA 、MD 、暗黑 1 、h5 游戏
[小霸王,其乐无穷 。红白机,FC 在线游戏,街机游戏,街机在线,NES games ,NES games online ,Super Mario]( https://www.yikm.net/) |
9
battlefield OP @IDKAFK 我知道这个,网站搞得挺好的,也是 retroarch ,我这个算轮子的话这种网站相当于小轿车
|