游戏迷提供最新游戏下载和手游攻略!

探索龙芯平台:游戏开发新篇章

发布时间:2024-10-18浏览:25

作为多年的Minecraft玩家,这个垃圾游戏消磨了我大量的时间。于是想着Minecraft Java版要是能在龙芯上跑起来就好了。

寒假前稍微研究了下,发现MC的大部分Java组件在龙芯上都没问题,唯独有一个Native库LWJGL只有x86支持。要是给他加上MIPS64支持那大概就可以爽玩咯。到了寒假开干!

这次使用的是新买的龙芯3A4000开发主机,我之前有介绍过。

中国芯首发宁美国度,龙芯3A4000主机香不香?

3A4000主机参数

LWJGL移植

LWJGL全名 Lightweight Java Game Library 顾名思义是一套给Java游戏用的库,他其实是很多Native库的Java Binding集合,从Memory Allocator到物理引擎到图形引擎应有尽有。主要是使用JNI和dyncall wrapper在Java中调用这些库为游戏提供服务。感谢龙芯JVM组,OpenJDK下JNI JNA OpenJFX等功能都基本完善,所以只要把Native库都搞好就行了。

LWJGL上游使用Travis CI生成大部分Native库,在3.2.3版本中,上游已经加入了arm32/arm64支持,有了一些交叉编译的基础框架。然而上游使用强行安装Ubuntu MultiArch包的方法来获取编译时依赖的外部库,然而Ubuntu并没有MIPS支持。

只好耍小聪明,强行加Debian源从Debian mips64el偷包用。上游使用GCC-4.8/GCC-4.9来跑各种native库(为了照顾各种古董系统的ABI?),然而Ubuntu只提供GCC-5开始的MIPS工具链,好在和上游一番沟通上游觉得对MIPS平台单独Bump到GCC-5问题不大。

一顿BuildFix和解决依赖问题,还修了个dyncall里的ABI问题,大部分Native库都跑过了,除了tinycc没有MIPS支持,上游说是打算用tinycc作“Poorman”版JIT,不过目前版本暂时没有使用,个人也认为不是很现实,毕竟tinycc支持的平台太少了,这么一搞FreeBSD OSX用户都要怨声载道,不要说MIPS这种冷门架构了。

编译过之后修改Java部分,其实也没啥要改的,就是加个架构探测,给ant的xml里加上MIPS的编译支持。不得不吐槽一下这些xml的语法真的是奇葩中的战斗机,比Makefile还难写。

做完跑Test还踩了个坑,jemalloc一直闹Unaligned Access和Segament Fault,仔细研究了一下是jemalloc要求编译时定义的页大小大于系统页大小。而编译时默认页是4k页,龙芯上则因为Cache Alias问题是16k页,不满足这个条件,导致jemalloc各种自爆。开始我把jemalloc卡死在64k页,能跑,后来证明16k页也没问题。

于是 MC 跑起来辣!

怎么跑龙芯版本MC

OK,说了那么多有的没的,那么怎么跑龙芯版本MC呢?

首先,让我们从官网下载HMCL起动器的Linux jar版本,使用java -jar命令运行,然后在图形界面下载一个游戏版本,必须是1.15以上,安装完成后,在游戏版本的设置里勾选 “启用游戏特定设置” 和 “不检查游戏完整性”。

然后从我的GitHub Release中「链接」下载最新的 lwjgl3-mips64-release.tar.gz,解压。

找到HMCL的根目录,进入.minecraft/libraries/org/lwjgl目录。注意.minecraft为隐藏文件夹,建议使用命令行操作。这里面会有lwjgl-×的一堆目录,一个个一层层进入进去,找到 lwjgl-×-3.2.2.jar lwjgl-×-3.2.2-natives-linux.jar 用我提供的tar.gz中的lwjgl-*.jar 和 lwjgl-*-linux-mips64.jar替换对应lwjgl子库的上面的两个文件即可。

最后回到HMCL,开始游戏,如果有奇怪的错误请删除 .minecraft/versions/1.15.1/1.15.1-natives 目录然后重试。

用户评论

陌颜幽梦

这游戏的题材很吸引人啊!龙芯?感觉像是玄幻设定,画面绝对能期待一下。

    有20位网友表示赞同!

寻鱼水之欢

开发者是个人吗?如果是在业界混了那么久的团队,那我肯定要去试试看!

    有16位网友表示赞同!

珠穆郎马疯@

听说游戏里可以操作各种类型的龙族,这也太酷了吧!我特别喜欢收集不同类型的生物的类型玩法。

    有19位网友表示赞同!

冷风谷离殇

开发游戏一定很不容易啊,尤其是想要在龙芯上做出来高质量的游戏,这个开发者真是太牛了!

    有18位网友表示赞同!

炙年

真希望这款游戏能快点更新,我已经迫不及待想体验一下啦!

    有11位网友表示赞同!

颓废人士

龙芯是哪个平台?我怎么没听过呢? 这应该是某种新的创新吗?很有意思。

    有8位网友表示赞同!

歆久

我喜欢这种冒险类的游戏,而且加上了神奇的龙芯元素,这组合太棒了!

    有10位网友表示赞同!

我怕疼别碰我伤口

期待更多关于这款游戏的资讯,比如游戏的剧情、角色设计以及玩法特色等等。

    有13位网友表示赞同!

封心锁爱

如果游戏中有很多战斗环节的话,我希望战斗系统操作性要简单易懂,而不是那种超级复杂的技巧游戏。

    有10位网友表示赞同!

雁過藍天

我希望能玩到多人合作的模式,和朋友一起挑战龙芯的世界太有趣了!

    有7位网友表示赞同!

暮染轻纱

游戏画面一定要精致细腻,因为我喜欢沉浸在美丽的游戏世界里探索。

    有20位网友表示赞同!

权诈

如果游戏里有开放世界的话,那该有多棒啊!我可以自由地探索每一个角落。

    有19位网友表示赞同!

话少情在

声音音乐也是非常关键的,我希望这款游戏能拥有令人惊叹的配乐和音效,提升沉浸体验。

    有18位网友表示赞同!

经典的对白

希望游戏的难度能够适中,既不要太轻松,也不要过于困难,这样才能让人更有成就感。

    有11位网友表示赞同!

何年何念

我比较喜欢线性式的游戏剧情,但如果故事本身设计的很有意思,我也可以接受开放式剧情的安排。

    有8位网友表示赞同!

陌上花

期待这款游戏能给我带来全新的游戏体验!

    有7位网友表示赞同!

热点资讯