浏览器中运行完整 Java ,,运行 j2me 游戏

203 天前
 thetbw
最初是折腾移植 j2me 到开源掌机,偶然发现一个叫 doppio ,可以在浏览器上运行 jvm 。想着是不是可以搞个类似 4399 的东西,直接在浏览器上运行以前老的 j2me 游戏

地址 https://j2me.thetbw.xyz
使用方向键上下左右游戏
服务器网不咋滴,加载有点慢,总共需要加载 100m 资源,可以 f12 网络面板查看进度。后续去掉不需要的类加上压缩,加载体验应该会好一点。

截图
https://s2.loli.net/2023/10/23/vqnhIfRLUGWHD6E.png

原理
通过 https://github.com/plasma-umass/doppio 创建一个浏览器中的 jvm
然后在浏览器中的 jvm 里面运行 https://github.com/j2me-preservation/midpath 这个 j2me 模拟器。
重写一个后端,将原模拟器的绘图方法绘制到 canvas 上。

目前问题:
按键的映射有问题,只有上下左右可用
按键不能按太快,不然也会 bug ,因为 js 是单线程,jvm 的多线程是通过 js 模拟出来的,可能是线程切换的问题

虽然性能差了很多,但是运行 j2me 这种游戏我觉得还是挺 ok 的,后面我也试了试《狂野飙车》,渲染没任何问题。

代码太乱了,暂时没有开源,上面两个开源项目太老了,直接编译会有一堆报错,现在算是可行性验证成功了,后面在整理下上面两个项目的代码
394 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/984570

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX