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

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

  •  
  •   thetbw · 2023-10-23 16:26:01 +08:00 · 522 次点击
    这是一个创建于 400 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最初是折腾移植 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 的,后面我也试了试《狂野飙车》,渲染没任何问题。

    代码太乱了,暂时没有开源,上面两个开源项目太老了,直接编译会有一堆报错,现在算是可行性验证成功了,后面在整理下上面两个项目的代码
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3567 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:47 · PVG 18:47 · LAX 02:47 · JFK 05:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.