京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5142|回复: 0

从编程的角度看,我的世界是一种怎样的存在?聊聊你不知道的MC

[复制链接]

22

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2019-4-5 05:26:39 | 显示全部楼层 |阅读模式 来自 中国
《我的世界》在不同群体眼中,都是一种不同的存在。所以今天,我叫Minecraft就带领大家看一看,MC在以编程的角度来看时,那个在程序员眼中的,不一样的MC。程序员眼里的MC,和我们有什么不一样?聊聊你不知道的MC。
6 k- \# h: N$ E' m( N编程世界里的Minecraft,究竟是一种怎样的存在呢?6 `/ B* I, g! p
来自一位Modder:你知道《我的世界》为什么会有这么多的BUG么?因为早期,也就是2009年的时候,Notch决心开发Minecraft的时候,只是计划作为一个小项目来开发,并没有预料到会火到这个程度。而且最初是Notch一个人在制作,所以在底层代码的逻辑构建上,并不是多么的宏观,甚至是混乱。而后续的更新一直是在底层代码的基础上来构建。假设一下,在十年前的汽车发动机上一直修改,改到现在。这个发动机会不会出毛病呢?
, K6 ~; Q$ k/ T开发前瞻性不足:也正是由于当初Notch的开发前瞻性不足,导致《我的世界》从根本上,缺乏一些漂亮的逻辑代码架构。所以现在Mojang在开发的时候,我们经常会看到一些字眼。例如重写光照系统,重写水源光影,重写战斗系统等等,实际就是对底层代码的重写。当然,其实也不是完全的重写。依旧要遵循这Notch留下的代码规则来改。6 ^2 T' Q) f7 P
MC的地图生成算法:简单来说,《我的世界》一个地图的生成,是分为很多个步骤的。第一个步骤,是生成基础地形,例如平原、山地这样一类的群系。第二个步骤,是河流、树木、洞穴等等。第三个步骤,村庄、要塞、遗迹等等。可以看出,重复多次的结构生成,会产生类似峡谷村庄,峡谷要塞等等这一类奇葩的BUG景象。虽然称之为特性,但从编程的角度,这可能不是什么完美的编码。
2 z( I- h8 }: r! N  S随机数缺陷造就了特性之美:Minecraft的代码中,大量的运用随机数。这也带动了整个《我的世界》进度的展开。例如随机的区块、随机的生物生成、随机的天气、随机的僵尸围城。随机事件带动情节发展,固然是MC的特色,但因为JAVA随机数的局限性,也同样会出现BUG。就例如种子107038380838084和164311266871034,这两个种子因为随机数的BUG,而导致地形大量的无限循环和重复。% I  y9 D3 t4 k, R' C6 R# a
最后,从编程的角度来说说《我的世界》流畅性的问题。你是否发现,几乎所有的低端设备,包括电脑,或者是安卓、等游戏主机设备。运行Minecraft的时候,都是极为流畅的。而王者一类的游戏就不行。其实最根本的原因不是MC的优化多么的好,而是Minecraft真的太流行了,几乎所有的设备GPU,也就是图形处理,都会针对MC做专门的优化。这就是MC在游戏界的地位!
! N; B! [0 c4 w! m; r5 [" S1 ~所以,从这样的一个编程视角来看《我的世界》,虽然它缺陷很多,BUG很多。但无论缺陷也好,特性也罢,它们都造就了时下最火的Minecraft!* ~0 g$ ~- {3 L( M: N. {

8 A- {# |* |$ T2 ]) o2 B8 D% I7 {4 {看完才知道差距!我们这群普通玩家,体验的是游戏性,而程序员们看到的是代码背后的故事。也许当真你弄懂了一切,再玩《我的世界》会失去原本的乐趣吧!
% w5 U; W, o, y7 {* q0 ?& L) g' h0 @0 |5 ?- C
来源:http://www.yidianzixun.com/article/0Leehwx5
4 A. _3 t/ H% a+ t' p& \$ Y免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

帖子地址: 

梦想之都-俊月星空 优酷自频道欢迎您 http://i.youku.com/zhaojun917
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2026-3-17 06:28 , Processed in 0.041738 second(s), 24 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表