我的世界这款游戏为什么要用java的语言编写

我的世界这款游戏有时mod一装多,或开了光影,或高清材质就明显会有卡顿现象。我一向觉得是java语言在电脑的java虚拟机上运行浪费了很多cpu资源,导致电脑运行几个g的... 我的世界这款游戏有时mod一装多,或开了光影,或高清材质就明显会有卡顿现象。
我一向觉得是java语言在电脑的java虚拟机上运行浪费了很多cpu资源,导致电脑运行几个g的大型游戏都还行,而运行这个100m的游戏有时也卡。
如果我的世界用c语言开发(是不是一定还得要个引擎),画面效果和游戏性会不会大大的提高?
展开
 我来答
百度网友9cc52170e9
2018-03-30 · TA获得超过2.1万个赞
知道小有建树答主
回答量:140
采纳率:100%
帮助的人:4.7万
展开全部

用java的语言编写,其优点是消耗电脑资源相对较少,适用于资源稀缺的设备,像是空调,洗衣机什么的。但缺点却是开发成本太高。

当初《我的世界》作者花了一周就做出了游戏最初版本,用c语言恐怕得一年甚至永远不可能做出来,这样的话我们就会永远的和这个游戏错过了。而且做出来界面很丑,我没学过c语言的图形界面部分内容,只是不明觉厉,觉得c语言和黑窗口才是绝配。

c语言因为它的语言本身不做任何多余的检查,写出来的程序非常容易出现bug,解决了一个反而会有更多的冒出来,最终导致整个项目的失败,windows的vista版本就是这样。

你的职场小助理
2021-07-21 · TA获得超过3772个赞
知道小有建树答主
回答量:544
采纳率:100%
帮助的人:8.2万
展开全部

用java的语言编写,其优点是消耗电脑资源相对较少,适用于资源稀缺的设备,像是空调,洗衣机什么的。但缺点却是开发成本太高。

当初《我的世界》作者花了一周就做出了游戏最初版本,用c语言恐怕得一年甚至永远不可能做出来,这样的话我们就会永远的和这个游戏错过了。而且做出来界面很丑,我没学过c语言的图形界面部分内容,只是不明觉厉,觉得c语言和黑窗口才是绝配。

天气系统

《Minecraft》的世界中不仅为玩家提供了昼夜,也会有一些天气变化,最常见的就是雨和雷暴

在我的世界中除了可以用代码使天气发生各种变化之外,还有另外一种指令是调整时间的。因为即便当前的天气是你想要的但是光亮度不够,对某些建筑或者操作来说也是特别不方便,所以这时我们就需要改变时间来调整世界的亮度。

当天黑的时候需要试验一些只有高亮度下才能做的试验时,就可以输入/time set 1000来直接进入白天,这只是调整世界的时间点,并不是使世界的时间流逝瞬间穿越,所以这种方法不可以使得植物快速生长。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友15339bb
2015-12-17 · TA获得超过101个赞
知道答主
回答量:45
采纳率:0%
帮助的人:40.1万
展开全部
这就开玩笑啦,现在没有哪个大型游戏用c语言开发的,c语言是面向过程的语言,一旦项目大了就会招架不住
优点是消耗电脑资源相对较少,适用于资源稀缺的设备,像是空调,洗衣机什么的
但缺点却是开发成本太高,当初我的世界作者花了一周就做出了游戏最初版本,用c语言恐怕得一年甚至永远不可能做出来,这样的话我们就会永远的和这个游戏错过了
而且做出来界面很丑,我没学过c语言的图形界面部分内容,只是不明觉厉,觉得c语言和黑窗口才是绝配
c语言因为它的语言本身不做任何多余的检查,写出来的程序非常容易出现bug,解决了一个反而会有更多的冒出来,最终导致整个项目的失败,windows的vista版本就是这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
暗影·羽a271750
2020-11-10 · TA获得超过1583个赞
知道小有建树答主
回答量:318
采纳率:60%
帮助的人:36.1万
展开全部
如果你真的想问为什么要用 Java 来写的话……我猜 MoJang 可能只会 Java 。
不久前我一个朋友就是这样,只学了 Java 然后问我做游戏用哪个游戏引擎比较好,我告诉他所有游戏引擎都没有用 Java 的,都是C++、C#、甚至有用 JavaScript 的,他一赌气就说要自己从零开始开发一个游戏……
就很神奇,最初我是因为听说“Java用于游戏编程更牛皮”才知道Java的存在,然而目前主流游戏基本没有用Java的……

————————————————————

【我的世界优化差、电脑和手机卡的原因】

1、mod 插件系统为提高兼容性会降低优化。

众所周知,性能优化和兼容程度成反比。而mod作为一类即插即用插件,必须要提高兼容性以适应这一操作。所以,绝大多数游戏的mod系统都会牺牲一部分性能,导致加载很多mod时会卡的不行,比如老滚和捡破烂。别问,问就游戏内置了就不卡了。

2、我的世界在游戏制作行业算是比较出了名的渲染优化差。
举个例子,比如用其他游戏引擎(如unity)做一个你无法进入、只能站在外面官网的摩天大厦,在游戏中这个摩天大厦的模型可能只有外壳,而且如果是远距离的话可能就会优化成面片(反正你也看不出来是不是立体的)然后通过处理材质来提高真实度,而且还可以设置成近距离外壳、远距离自动优化成面片来全自动优化性能。
我的世界就不同了,假设这栋大楼高80米宽30米,放到我的世界里就是 30 * 30 * 80 = 72000个方块,然后每个方块6个面,就是 7200 * 6 = 432000 个 1 X 1 的面片加贴图同时渲染,去掉反向面至少也得有 266000个面片需要渲染。就算只有外壳,也是至少 29 * 4 * 78 + 30 * 30 * 2 = 10848 个方块共计 65088 个面去反后至少 32544 个面需要渲染。而无论你在远在近,这栋大楼均是由这些个方块组成,不会自动优化(众所周知我的世界唯一的自动优化只有视距和区块系统2333)。

3、我的世界游戏引擎存在一些硬核问题,以及开发者的优化问题。
我之前开发我的世界mod的时候就发现很多东西确实比较脑壳痛。像什么地形扫描,地形扫描,地形扫描,地形扫描。我的世界性能方面最头疼的地方就是地形扫描,线性15米就等于是扫描15格,面积15*15就等于扫描了255个方块,稍微大一点的区域简直就是恐怖。
比如我如果要做实时的矿产勘探,假设半径15格,模拟为玩家处于正中间、长宽高30的立方体区域。这个放在现实中也就是相当于高科技半径15米的矿产雷达,但是就这15米就需要扫描27000个方块,也就是说某一段代码至少要重复27000次才能保证一次完整的扫描。
然后问题来了,如果1秒扫描一次的话就需要循环27000次,为降低性能开销我当时就改为5秒一次,平均优化摊开变成了5秒150游戏帧分别扫描这27000个方块,每一个游戏帧扫描180个方块,这样极大降低了性能,但是让算法更复杂。
而有一个简单粗暴的优化方式,就是一口气扫描完27000个方块,然后等待5秒钟,再进行下一次扫描。这样做的话性能开销比摊开优化要好一点,但是每一次扫描都会导致游戏卡顿一下,卡顿时间长度根据当时瞬间系统性能,我实测最惨的一次是连续5次卡顿半秒以上。
然后更大的问题是,很多 mod 开发者觉得自己的 mod 性能消耗很小,就都这样简单粗暴写(别问,问就我的世界开发投入的精力与收入严重不对等导致优化和后期维护变成了纯粹费力不讨好)。单独加载都没啥大问题,但是万一赶巧了运算扫描卡在同一瞬间……这个概率还真的不低。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LXH929257102
推荐于2017-11-25 · TA获得超过489个赞
知道小有建树答主
回答量:545
采纳率:100%
帮助的人:244万
展开全部
事实是这样的,有一个人是java程序员,java写的很好,突然来了灵感想到了我的世界这个游戏,然后就想做出来,结果真的用java做出来 了
你说的用c语言写,情况应该是这样的,一个人来了灵感想到了我的世界中款游戏,但是他不会写代码,他分析了各种语言写的程序的运行速度和占用的资源,觉得c语言最合适,就招聘了一群会c语言的程序员来给他做出这个游戏
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式