返回第701章 时空幽灵,能够穿越现实时间的BUG(中秋快乐!!!)  美利坚:游戏制作教父首页

关灯 护眼     字体:大 中 小

上一章 目录 下一页 简介

    第701章 时空幽灵,能够穿越现实时间的BUG(中秋快乐!!!) (第1/3页)

    你相信这个世界上有幽灵存在吗?

    一个能够穿越时间,穿越空间,甚至穿梭在半导体的数字世界里的幽灵。

    它能悄无声息地破坏那些原本正常的代码。

    即便这个代码从头到尾都没有任何人动过。

    在代码仓库里,近一年都没有任何提交。

    连字节码哈希值都完全一致。

    但它就是坏了。

    因为开发组在一个完全无关的新版本里加入了物理引擎。

    这……

    简直就是一个存在於数码世界的鬼故事。

    不过任何一个科学无法解释的现象,或许都只是水平暂时达不到罢了。

    有的时候,真相或许并不会满足大家的期待。或许……真相其实非常简单,也非常蠢。

    「是……是开着的!」

    几人围在电脑前,看着那扇成功打开了的门,啧啧称奇。

    「原来是这样……」

    林立新坐在跟前,面露异色。

    作为一名现代人,其实在上手代码的第一时间,他的脑海中就已经有了大致的猜测。

    游戏圈有这样一个潜规则。

    如果说游戏里最容易踩坑的是哪两样东西。

    那莫过於门和浮点数了。

    qake2时期,这扇门是完全可以正常打开的。

    即便是门後有npc站着。

    这扇门在打开时,碰撞箱会恰好挤到npc的脚,制造一个非常微小的偏移,恰好容纳门正常通过。但在完全没有修改源码里任何一点东西的时候,为什麽这个门突然打不开了?

    即便是把硬体回退到nx而不是nf上,仍然是打不开?

    其实答案非常简单。

    源码一样跟机器码一样完全是两个概念。

    amenva上下全体工程师,在开发过程中的主要语言往往就两样。

    一个是完全自举,从始至终都是amenva坚实地基的n语言。

    一个彻头彻尾的高级语言,大量易用的、现代化的语法,将它武装成了一个专为游戏而生的超级语言。

    另一个则是nvascript,为网络世界而生的jit即时编译语言。

    而问题就出在n语言这家伙身上。

    从《雷神之锤2》到现在这段时间,除了源码外,到底还发生了哪些事呢?

    n语言的编译器更新了。

    为了适应越来越现代化的硬体,和更多更新鲜的语法糖以及高级语法。n语言几乎每隔一段时间都会推送一次更新。

    一台计算机(不管是游戏机还是pc还是掌机),想要运行代码,是不可能直接跑n语言这种高级语言的。

    它必须要被编译成机器码,编译成电脑能理解的版本才行。

    编译器在处理编译的过程中,本身就会对代码进行一次初步的优化。

    把一些不必要的循环解除,不必要的变量改成常量,降低性能的写法改成更高效的写法……

    也就是说,最终交给电脑运行的,其实跟程式设计师编写的根本不是同一个东西。

    《雷神之锤2》的源码的确从来没有动过。

    但编译器更新了。

    而这,连锁引发了一个极度不

    (本章未完,请点击下一页继续阅读)

『加入书签,方便阅读』

上一章 目录 下一页