我的世界用的什么引擎?

蓟博天蓟博天最佳答案最佳答案

对于这个问题,问我是再对不过了,毕竟我可是专门研究MC的(笑) 先摆结论,Minecraft使用Java语言开发,基于Java的虚拟机(JVM)运行。

在早期版本中,由于使用了无端网桥传输(UDP)进行数据包传输,因此可以被理解为“跨平台”游戏;但自从基岩版发布以来,因采用了不同平台的本地存储方式,导致玩家需要在各自的平台间进行切换而不得不重新下载游戏,使得本作“跨平台”的特性不复存在。 下面开始正题。

首先需要明确一点,所谓“跨平台”并非是指“多平台”,二者不能混为一谈——所谓的“跨平台”指的是在不同平台上运行同一个软件且能够交互的操作形式。

对于大多数的PC端的游戏而言,它们只需要考虑桌面环境这一种界面形式即可,因为Windows几乎是所有电脑操作系统中的主流,所以此时所谓的“跨平台”往往便指代了“多平台”——即能在多个平台上通过对应的软件播放同样的视频、执行同样的程序等等。 但是对于Minecraft这样的游戏来说就不符合上述情况了,因为它还必须考虑一个重要的特性——“存档可移植性”。

任何一款游戏如果要想支持多种平台,并且保证数据能在各平台间流畅地传输与交换,就必须要保证其游戏数据(通常为Save文件)能够在各个平台间顺畅迁移。而想要做到这一点,除了要在各个平台下都建立相对应的存储系统之外,最快捷的方式就是让该游戏使用同一种编程语言开发。这样既能保证代码的可读性和便捷开发,又能通过不同的平台编译器生成相应的字节码或机器码从而实现各平台的通用性。

值得一提的是,虽然Java本身是一种耦合了虚拟机的编程语言,但是这里的虚拟机并非指Java的虚拟机(JVM),而是指另一套完全独立的内存管理器和垃圾回收器。也就是说,尽管Java本身是面向对象且带有虚拟机的复杂语言,但是它在这里却起到了近似于C/C++的作用,即作为与平台无关的开发语言来降低跨平台开发的难度。

我来回答
请发表正能量的言论,文明评论!