Hytale的后端语言猜测

EmptyIrony

农民
2
硬币
257
水晶
0
感觉后端应该八九不离十还是Java写的
首先这个游戏要从minecraft引流过来,肯定少不了开发者的参与
而minecraft开发社区庞大的数量,肯定是Java对开发者们更友好更容易上手

坐等开发者文档了
 
  • 支持
反应: 希铁石z
这边写的是mod要用java写。

你说的这个 客户端 指的是 启动器吗?还是指游戏本身是用c#写的?
官方的意思其实挺明显了,Hytale是通过服务器mod + 客户端自带的组件来实现某些内容创作者的特性了。
也就是说,hytale的游戏客户端是不需要通过代码来进行modding的,而hytale的服务器可以通过java来进行moddding。
 

DaiBM1

农民
3
硬币
601
水晶
0
官方的意思其实挺明显了,Hytale是通过服务器mod + 客户端自带的组件来实现某些内容创作者的特性了。
也就是说,hytale的游戏客户端是不需要通过代码来进行modding的,而hytale的服务器可以通过java来进行moddding。
那么这个服务端上的mod相当于minecraft中的插件了?
 
那么这个服务端上的mod相当于minecraft中的插件了?
可以这样说,但是更加准确的说法应该是 modding。我的世界中的插件是由社区提出的概念,这个概念主要是由Bukkit API构筑的。但是值得注意的是,使用 Bukkit API 在不借助 NMS 技术的情况下,是有很大的局限性的,例如你不能增加新方块抑或是想要的事件 Bukkit API 没有提供你就很难对部分游戏内容进行修改。当然,Fabric 的ASM为我们提供了一些补充在事件机制上的模式,可以参考 https://fabricmc.net/wiki/tutorial:modding_tips。所以,在更加广义的方面,我们一般使用 modding 来代指修改游戏来增加内容,同样的,在 Hytale 游戏里面,我认为 modding 相较于 plugin 更合适。
 

DaiBM1

农民
3
硬币
601
水晶
0
可以这样说,但是更加准确的说法应该是 modding。我的世界中的插件是由社区提出的概念,这个概念主要是由Bukkit API构筑的。但是值得注意的是,使用 Bukkit API 在不借助 NMS 技术的情况下,是有很大的局限性的,例如你不能增加新方块抑或是想要的事件 Bukkit API 没有提供你就很难对部分游戏内容进行修改。当然,Fabric 的ASM为我们提供了一些补充在事件机制上的模式,可以参考 https://fabricmc.net/wiki/tutorial:modding_tips。所以,在更加广义的方面,我们一般使用 modding 来代指修改游戏来增加内容,同样的,在 Hytale 游戏里面,我认为 modding 相较于 plugin 更合适。
谢谢大佬,再问个问题:NMS和ASM分别是什么?
 
谢谢大佬,再问个问题:NMS和ASM分别是什么?
NMS 即 net.minecraft.server 包下的内容,是我的世界服务器的原生代码,通过对这些代码进行编程能够达到一些 Bukkit API 无法实现的特性,举个例子,玩家在1.9 以后新增的挥剑cd,就可以通过 NMS 的原生玩家类获取到。

至于 ASM,ASM是一个通用的Java字节码操作和分析框架。 它可以用于修改现有类或直接以二进制形式动态生成类。 ASM提供了一些常见的字节码转换和分析算法,可以从中构建自定义复杂转换和代码分析工具。 ASM提供与其他Java字节码框架类似的功能,但专注于性能。 因为它的设计和实现尽可能小而且快,所以它非常适合在动态系统中使用(但当然也可以以静态方式使用,例如在编译器中)。在fabric中,我们能够通过mixin向minecraft中注入我们想要的代码以实现无尽可能。