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

作者&投稿:牧龚 (若有异议请与网页底部的电邮联系)
《我的世界》这个游戏为什么用Java写而不用C语言或者c#写?~

只是猜测:用java比C#跨平台性好,比C开发效率高。还有作者自己的偏好也是重要原因。不过微软已经收购了,要改成C#也不是没可能。

没有什么特定的原因,就是作者 Notch 自己碰巧擅长 Java 罢了。跟多平台之类的也没关。Notch 做 Minecraft 就是当个业余爱好做着玩的,没有想过后来会风靡全球。

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

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

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



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

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

天气系统

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

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

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



这就开玩笑啦,现在没有哪个大型游戏用c语言开发的,c语言是面向过程的语言,一旦项目大了就会招架不住
优点是消耗电脑资源相对较少,适用于资源稀缺的设备,像是空调,洗衣机什么的
但缺点却是开发成本太高,当初我的世界作者花了一周就做出了游戏最初版本,用c语言恐怕得一年甚至永远不可能做出来,这样的话我们就会永远的和这个游戏错过了
而且做出来界面很丑,我没学过c语言的图形界面部分内容,只是不明觉厉,觉得c语言和黑窗口才是绝配
c语言因为它的语言本身不做任何多余的检查,写出来的程序非常容易出现bug,解决了一个反而会有更多的冒出来,最终导致整个项目的失败,windows的vista版本就是这样

如果你真的想问为什么要用 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 性能消耗很小,就都这样简单粗暴写(别问,问就我的世界开发投入的精力与收入严重不对等导致优化和后期维护变成了纯粹费力不讨好)。单独加载都没啥大问题,但是万一赶巧了运算扫描卡在同一瞬间……这个概率还真的不低。

事实是这样的,有一个人是java程序员,java写的很好,突然来了灵感想到了我的世界这个游戏,然后就想做出来,结果真的用java做出来 了
你说的用c语言写,情况应该是这样的,一个人来了灵感想到了我的世界中款游戏,但是他不会写代码,他分析了各种语言写的程序的运行速度和占用的资源,觉得c语言最合适,就招聘了一群会c语言的程序员来给他做出这个游戏


我的世界这个游戏叫什么?
minecraft我的世界这个游戏日语游戏名《Minecraft:マインクラフト 》。《我的世界》是由Mojang Studios开发,在中国由网易代理的沙盒式建造游戏,游戏于2017年8月8日在中国大陆独家运营。玩法 游戏里的各种活动包括采集矿石、与敌对生物战斗、合成新的方块与收集各种在游戏中找到的资源的工具。游戏中的无...

我的世界是什么游戏?
我的世界(Minecraft)是一款高级沙盒游戏,所呈现的世界并不是华丽的画面与特效,而是注重在可玩性上面。几乎所有Minecraft世界的区块都可以通过采矿和收集来分解。那么这些位可以重新组合以构建新的东西。打一棵树,直到你得到一些木头,把木头变成木板,然后将木板结合起来创造一个手工制作的桌子。只要找到合...

大家喜欢《我的世界》这款游戏,是什么让大家爱上它的?
很多人喜欢这款游戏,我觉得原因有很多,首先游戏的覆盖范围是比较广的,而且目标非常的明确,如果你是一个建筑党,那么房子你想怎么建就怎么建,如果你是一个红石党,就可以拥有高自动化的机械,如果你是像我一样的生存党,就可以变身屠龙勇士。最后一个是mod党,可以感受作者各种各样的脑洞,不愁没...

《我的世界》是一个怎样的游戏?
《我的世界》是一款沙盒式建造游戏,缔造者为Mojang AB创始人马库斯·佩尔松,其灵感源于《无尽矿工》?《矮人要塞》和《地下城守护者》。现首席开发者为延斯·伯根斯坦。玩家可以在游戏中的三维空间里创造和破坏林林总总的方块,甚至在多人服务器与单人世界中体验不同的游戏模式,打造精妙绝伦...

我的世界是什么啊
《我的世界》(Minecraft)是一款极具创造性和探险性质的沙盒游戏,由瑞典游戏开发者马库斯·佩尔松(Markus Persson),也被称为“Notch”,于2011年首次发布。这款游戏在全球范围内广受欢迎,拥有数亿的玩家。其独特的开放性和无尽的可能性使其成为一种全新的游戏体验。第一章:《我的世界》的起源 《...

我的世界是什么游戏?
Minecraft是一款沙盒游戏,整个游戏没有剧情,游戏中玩家可以在一个三维世界里用各种方块建造建筑物,透过像积木一样来对元素进行组合与拼凑,轻而易举的就能制作出小木屋、城堡甚至城市,玩家可以通过自己创造的作品来体验上帝一般的感觉。在这款游戏里,不仅可以单人娱乐,还可以多人联机,玩家也可以安装...

我的世界 是一款什么游戏啊,
《我的世界》是一款由Mojang AB和4J Studios开发高自由度沙盒游戏。《我的世界》最初由瑞典游戏设计师马库思·阿列克谢·泊松(游戏名为Notch)单独开发。玩家(史蒂夫史蒂夫娘\/亚历克斯)是用户们在世界中控制的人物。当用户开始一个新游戏,玩家就会被放进由伪随机或指定的种子世界中,物品栏为空。如果...

《我的世界》为什么如此受欢迎?它就是个盖房子游戏吗?
还有便是无尽的mod,这是开发厂商自己都没想到的(至少刚开始应该没想到),MC自身是个挖矿游戏(大雾),可是加了mod以后他可所以FPS,可所以RPG,可所以MMORPG,可所以“进击的僵尸”,可所以梦想乡,也可以变成C++模拟器。MC自身是个开创性的游戏,他敞开和简略的架构为很多的玩家们可以参加到改进他...

世界最棒的《我的世界》到底为什么这么好玩?
我的世界是一款非常好玩的沙盒类游戏,在游戏当中呢,虽然没有什么华丽的画面还有玩法,而且,仅仅只有一个像素画质,但是却吸引了大量的玩家,就是因为这一款游戏自由度非常的高,只要能够想到的,都可以在游戏当中创造出来,正因为这个原因,喜欢这款游戏的玩家非常的多。那么在游戏当中,玩家可以说每天都...

为什么我的世界这款游戏可以做到全球普及?
二、有着非常强的创造性。我的世界之所以火,就火在他的创造性强,并且有很多版本适合全世界可以使用。他的创造性非常的强,在游戏当中你可以建造各种各样的宫殿以及建筑物,只要你能够想到的,就没有造不出来的,甚至有的人1:1还原了整个地球。只要你有足够大的劳动,就能够在游戏当中得到实现,这是...

牡丹江市15197293068: 《我的世界》这款游戏为什么要用java的语言编写? -
脂柿纽枢: 回答这个问题只是为了防止有人被一楼二楼极其片面的观点误导. (感觉他们都是在复制粘贴) 用Java来写,纯粹是因为notch在最初开发阶段只是把这个游戏写着玩的,并不存在什么c和黑框框的联系,YouTube上有大佬利用c链接OpenGL也是一个人在一周写出了mc的雏形,并且性能要优于Java版. 另外,安卓版的mc被命名为基岩版,用c++编写的...跟Java没啥关系. 还有win10版本的mc也是c++编写的,这一巴掌把那些自认为“c语言和黑窗口才是绝配”的人打得痛吗?c++和c也只是多了几个库,删了几个语法,本质区别并不大.

牡丹江市15197293068: 为什么我的世界电脑版一定要JAVA运行环境 -
脂柿纽枢: 《我的世界》是用java语言编写的,需要java环境才能运行.而且《我的世界》有很多懒人包的,就是整合到一起,免于玩家安装游戏出现问题,你如果有问题也可以去《我的世界》中文论坛提问,,,在我的世界中文论坛可以下载到很多版本的《我的世界》,还有多种mod即模组可以使用,非常有可玩性的.模组是玩家自制的游戏插件,如工业mod,建筑mod,极限生存mod等,还有龙珠,魔兽等另类玩法的mod,增加游戏的趣味性.

牡丹江市15197293068: 我的世界为什么要用Java啊 -
脂柿纽枢: 不是一定要java的,也有我的世界免java版,不过性能比较差.我的世界运行的时候靠的就是java.

牡丹江市15197293068: 《我的世界》这个游戏为什么用Java写而不用C语言或者c#写? -
脂柿纽枢: 只是猜测:用java比C#跨平台性好,比C开发效率高.还有作者自己的偏好也是重要原因.不过微软已经收购了,要改成C#也不是没可能.

牡丹江市15197293068: 我的世界java有什么用 -
脂柿纽枢: Java就是驱动这个软件的程序.

牡丹江市15197293068: 我的世界为什么用java -
脂柿纽枢: 打开登陆器后,点设置,然后选择JAVA路径,一般默认安装在C:\Program Files\Java\jre7\bin.

牡丹江市15197293068: 电脑里,我的世界启动时,为什么要下Java? -
脂柿纽枢: 什么错误,贴出来看看 或者到java论坛(小伙伴开发网)找java大神?把详细错误贴出来 方便查看

牡丹江市15197293068: 如果《我的世界》采用更好的引擎制作,它会更受欢迎吗 -
脂柿纽枢: 不会的.我的世界用的引擎是java.java的好处就是耗能低,不烧显卡.(不包括内存)Minecraft开发者带给玩家的原本是低画质、经典、又好玩的风格.你知道为什么这游戏做的这么成功然后被微软收了吗?原因就在于他的这游戏非常特殊....

牡丹江市15197293068: 我的世界不下载JAVA能不能启动?为什么? -
脂柿纽枢: 因为MC(也就是我的世界)是用java语言写的,java语言为了支持跨平台这个特性,需要运行在java虚拟机(jvm)上.这里需要下载安装的是jre,java runtime environment.也就是提供虚拟机环境.如果是要使用java语言进行开发,需要下载的是jdk.

牡丹江市15197293068: 我的世界盒在为什么总是显示游戏需要Java环境运行,请点击确定安?
脂柿纽枢: 因为JAVA程序是玩Minecraft的必备程序,所以装了JAvA你才可以正常的启动游戏哦.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网