网络游戏的引擎主要包括哪些东西?除了核心部分以外又有哪些内容?
《以下是摘自日本著名杂志《FAMI通》游戏中文版评论杂志》
在阅读各种游戏介绍的时候我们常常会碰见“引擎”(Engine)这个单词,引擎在游戏中究竟起着什么样的跳跃作用?它的进化对于游戏的发展产生了哪些影响?希望下面这篇文章能为大家释疑。
一、源码跃源什么是编辑引擎
我们可以把游戏的引擎比作赛车的引擎,大家知道,器彩引擎是色跳iframe 取源码赛车的心脏,决定着赛车的码编性能和稳定性,赛车的辑器速度、操纵感这些直接与车手相关的下载指标都是建立在引擎的基础上的。游戏也是彩色如此,玩家所体验到的跳跃剧情、关卡、源码跃源美工、编辑音乐、器彩操作等内容都是色跳由游戏的引擎直接控制的,它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们同时、有序地工作。简单地说,引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。”
可见,引擎并不是什么玄乎的东西,无论是2D游戏还是3D游戏,无论是角色扮演游戏、即时策略游戏、冒险解谜游戏或是动作射击游戏,哪怕是一个只有1兆的小游戏,都有这样一段起控制作用的代码。经过不断的进化,如今的游戏引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中的所有重要环节,以下就对引擎的一些关键部件作一个简单的介绍。 首先是光影效果,即场景中的光源对处于其中的人和物的影响方式。游戏的光影效果完全是由引擎控制的,折射、反射等基本的光学原理以及动态光源、彩色光源等高级效果都是通过引擎的不同编程技术实现的。
其次是动画,目前游戏所采用的动画系统可以分为两种:一是骨骼动画系统,一是模型动画系统,前者用内置的骨骼带动物体产生运动,比较常见,后者则是在模型的基础上直接进行变形。引擎把这两种动画系统预先植入游戏,方便动画师为角色设计丰富的动作造型。 引擎的另一重要功能是提供物理系统,这可以使物体的运动遵循固定的规律,例如,当角色跳起的时候,系统内定的重力值将决定他能跳多高,以及他下落的速度有多快,子弹的飞行轨迹、车辆的颠簸方式也都是由物理系统决定的。
碰撞探测是物理系统的核心部分,它可以探测游戏中各物体的物理边缘。当两个3D物体撞在一起的时候,这种技术可以防止它们相互穿过,这就确保了当你撞在墙上的时候,不会穿墙而过,也不会把墙撞倒,因为碰撞探测会根据你和墙之间的特性确定两者的位置和相互的作用关系。
渲染是引擎最重要的功能之一,当3D模型制作完毕之后,美工会按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算出来并展示在屏幕上。渲染引擎在引擎的所有部件当中是最复杂的,它的强大与否直接决定着最终的输出质量。
引擎还有一个重要的职责就是负责玩家与电脑之间的沟通,处理来自键盘、potplayer 源码输出 设置鼠标、摇杆和其它外设的信号。如果游戏支持联网特性的话,网络代码也会被集成在引擎中,用于管理客户端与服务器之间的通信。
通过上面这些枯燥的介绍我们至少可以了解到一点:引擎相当于游戏的框架,框架打好后,关卡设计师、建模师、动画师只要往里填充内容就可以了。因此,在3D游戏的开发过程中,引擎的制作往往会占用非常多的时间,《马科斯·佩恩》的MAX-FX引擎从最初的雏形Final Reality到最终的成品共花了四年多时间,LithTech引擎的开发共花了整整五年时间,耗资万美元,Monolith公司(LithTech引擎的开发者)的老板詹森·霍尔甚至不无懊悔地说:“如果当初意识到制作自己的引擎要付出这么大的代价的话,我们根本就不可能去做这种傻事。没有人会预料得到五年后的市场究竟是怎样的。”
正是出于节约成本、缩短周期和降低风险这三方面的考虑,越来越多的开发者倾向于使用第三方的现成引擎制作自己的游戏,一个庞大的引擎授权市场已经形成。
二、引擎的进化
曾经有一段时期,游戏开发者关心的只是如何尽量多地开发出新的游戏并把它们推销给玩家。尽管那时的游戏大多简单粗糙,但每款游戏的平均开发周期也要达到8到个月以上,这一方面是由于技术的原因,另一方面则是因为几乎每款游戏都要从头编写代码,造成了大量的重复劳动。渐渐地,一些有经验的开发者摸索出了一条偷懒的方法,他们借用上一款类似题材的游戏中的部分代码作为新游戏的基本框架,以节省开发时间和开发费用。根据马老先生的生产力学说,单位产品的成本因生产力水平的提高而降低,自动化程度较高的手工业者最终将把那些生产力低下的手工业者淘汰出局,引擎的概念就是在这种机器化作业的背景下诞生的。
每一款游戏都有自己的引擎,但真正能获得他人认可并成为标准的引擎并不多。纵观九年多的发展历程,我们可以看出引擎最大的驱动力来自于3D游戏,尤其是3D射击游戏。尽管像Infinity这样的2D引擎也有着相当久远的历史,从《博德之门》(Baldur’s Gate)系列到《异域镇魂曲》(Planescape:Torment)、《冰风谷》(Icewind Dale)直至今年夏天将要发布的《冰风谷2》,但它的应用范围毕竟局限于“龙与地下城”风格的角色扮演游戏,包括颇受期待的《夜在绝冬城》(Neverwinter Nights)所使用的Aurora引擎,它们都有着十分特殊的使用目的,很难对整个引擎技术的发展起到推动作用,这也是为什么体育模拟游戏、飞行模拟游戏和即时策略游戏的引擎很少进入授权市场的原因,开发者即便使用第三方引擎也很难获得理想的效果,采用《帝国时代2》(Age of Empires)引擎制作的《星球大战:银河战场》(Star Wars:Galactic Battleground)就是一个最好的例子。
因此,下面对引擎的历史回顾将主要围绕动作射击游戏的变迁展开,动作射击游戏同3D引擎之间的关系相当于一对孪生兄弟,它们一同诞生,一同成长,互相为对方提供着发展的动力。
引擎的诞生(年~年)
年,3D Realms公司/Apogee公司发布了一款只有2兆多的小游戏——《德军司令部》(Wolfenstein 3D),稍有资历的玩家可能都还记得初接触它时的兴奋心情,用“革命”这一极富煽动色彩的词语也无法形容出它在整个电脑游戏发展史上占据的重要地位。这部游戏开创了第一人称射击游戏的先河,更重要的是,它在X轴和Y轴的基础上增加了一根Z轴,在由宽度和高度构成的平面上增加了一个向前向后的纵深空间,这根Z轴对那些看惯了2D游戏的玩家造成的巨大冲击可想而知。
Wolfenstein 3D引擎的作者是大名鼎鼎的约翰·卡马克,这位id Software公司的首席程序师正是凭借这款Wolfenstein 3D引擎在游戏圈里站稳了脚跟。事实上,《德军司令部》并非第一款采用第一人称视角的游戏,在它发售前的几个月,Origin公司就已经推出了一款第一人称视角的角色扮演游戏——《创世纪:地下世界》(Ultima Underworld),这款角游戏采用了类似的技术,但它与Wolfenstein 3D引擎之间有着相当大的差别,举例来说,《地下世界》的引擎支持斜坡,地板和天花板可以有不同的高度,分出不同的层次,玩家可以在游戏中跳跃,可以抬头低头,这些特性Wolfenstein 3D引擎都无法做到,java获取本身源码而且从画面上看,《德军司令部》更接近漫画风格而不是传统的像素画面。
尽管从技术细节上看,Wolfenstein 3D引擎比不上《创世纪:地下世界》的引擎,但它却更好地利用了第一人称视角的特点,快速火爆的游戏节奏使人们一下子记住了“第一人称射击游戏”这个单词,而不是“第一人称角色扮演游戏”。《德军司令部》后来还发布过一款名义上的续集——《三元的崛起》(Rise of the Triad),这款游戏在Wolfenstein 3D引擎的基础上增加了许多重要特性,包括跳跃和抬头低头等动作。
引擎诞生初期的另一部重要游戏同样是出自id Software公司的一款非常成功的第一人称射击游戏——《毁灭战士》(Doom)。Doom引擎在技术上大大超越了Wolfenstein 3D引擎,《德军司令部》中的所有物体大小都是固定的,所有路径之间的角度都是直角,也就是说你只能笔直地前进或后退,这些局限在《毁灭战士》中都得到了突破。尽管游戏的关卡还是维持在2D平面上进行制作,没有“楼上楼”的概念,但墙壁的厚度可以为任意,并且路径之间的角度也可以为任意,这使得楼梯、升降平台、塔楼和户外等各种场景成为可能。
由于Doom引擎本质上依然是二维的,因此可以做到同时在屏幕上显示大量角色而不影响游戏的运行速度,这一特点为游戏创造出了一种疯狂刺激的动作风格,在这方面迄今为止大约只有《英雄萨姆》(Serious Sam)系列能与之相比,除此之外还没有哪款3D引擎能在大批敌人向你涌来的时候依然保持游戏的流畅,这也是为什么如今市面上的大部分第一人称射击游戏都在积极地培养玩家的战术运用能力、提高玩家的射击准确率而拒绝滥砍滥杀的主要原因之一。值得一提的是,尽管Doom引擎缺乏足够的细节度,但开发者仍然在《毁灭战士》中表现出了惊人的环境效果,其纯熟的设计技巧实在令人赞叹。
不过更值得纪念的是,Doom引擎是第一个被用于授权的引擎。年底,Raven公司采用改进后的Doom引擎开发了一款名为《投影者》(ShadowCaster)的游戏,这是游戏史上第一例成功的嫁接手术。年Raven公司采用Doom引擎开发《异教徒》(Heretic),为引擎增加了飞行的特性,成为跳跃动作的前身。年Raven公司采用Doom引擎开发《毁灭巫师》(Hexen),加入了新的音效技术、脚本技术以及一种类似集线器的关卡设计,使你可以在不同关卡之间自由移动。Raven公司与id Software公司之间的一系列合作充分说明了引擎的授权无论对于使用者还是开发者来说都是大有裨益的,只有把自己的引擎交给更多的人去使用才能使引擎不断地成熟起来。
《毁灭战士》系列本身就相当成功,大约卖了万套,而授权费又为id Software公司带来了一笔可观的收入。在此之前引擎只是作为一种自产自销的开发工具,从来没有哪家游戏商考虑过依靠引擎赚钱,Doom引擎的成功无疑为人们打开了一片新的市场。
引擎的转变(年~年)
在引擎的进化过程中,肯·西尔弗曼于年为3D Realms公司开发的Build引擎是一个重要的里程碑,Build引擎的“肉身”就是那款家喻户晓的《毁灭公爵》(Duke Nukem 3D)。《毁灭公爵》已经具备了今天第一人称射击游戏的所有标准内容,如跳跃、度环视以及下蹲和游泳等特性,此外还把《异教徒》里的飞行换成了喷气背包,甚至加入了角色缩小等令人耳目一新的内容。在Build引擎的基础上先后诞生过款游戏,例如《农夫也疯狂》(Redneck Rampage)、《阴影武士》(Shadow Warrior)和《血兆》(Blood)等,还有台湾艾生资讯开发的《七侠五义》,这是当时(至今依然是)国内不多的几款3D射击游戏之一。Build引擎的授权业务大约为3D Realms公司带来了一百多万美元的额外收入,3D Realms公司也由此而成为了引擎授权市场上的第一个“暴发户”。不过从总体来看,Build引擎并没有为3D引擎的发展带来任何质的变化,突破的任务最终由id Software公司的《雷神之锤》(Quake)完成了。
《雷神之锤》紧跟在《毁灭公爵》之后发售,两者孰优孰劣一时之间成为玩家的热门话题。从内容的精彩程度来看《毁灭公爵》超过《雷神之锤》不少,但从技术的先进与否来看,《雷神之锤》是毫无疑问的赢家。Quake引擎是当时第一款完全支持多边形模型、动画和粒子特效的真正意义上的3D引擎,而不是Doom、Build那样的2.5D引擎。此外Quake引擎还是连线游戏的始作俑者,尽管几年前的《毁灭战士》也能通过调制解调器连线对战,但最终把网络游戏带入大众的视野之中的是《雷神之锤》,是挡屏提醒 源码它促成了电子竞技产业的发展。
一年之后,id Software公司推出《雷神之锤2》,一举确定了自己在3D引擎市场上的霸主地位。《雷神之锤2》采用了一套全新的引擎,可以更充分地利用3D加速和OpenGL技术,在图像和网络方面与前作相比有了质的飞跃,Raven公司的《异教徒2》(Heretic II)和《军事冒险家》(Soldier of Fortune)、Ritual公司的《原罪》(Sin)、Xatrix娱乐公司的《首脑:犯罪生涯》(Kingpin:Life of Crime)以及离子风暴工作室去年夏天刚刚发布的《安纳克朗诺克斯》(Anachronox)都采用了Quake II引擎。
Quake II引擎的授权模式大致如下:基本许可费从万美元到万美元不等,版税金视基本许可费的多少而定,万美元的许可费大约需提取%以上的版税金,万美元的许可费则提取很少一部分版税金。这样算下来,《雷神之锤2》通过引擎授权所获得的收入至少有一千万美元,尽管游戏本身的销售业绩比起《毁灭战士》来要差很多,大约卖了多万套,收入在万美元左右,但在授权金这一块它所获得的盈利显然要远远高于《毁灭战士》,此时的引擎已经从一种单纯的工具变成了一块令人垂涎欲滴的肥肉。
俗话说“一个巴掌拍不响”,没有实力相当的竞争者,任何市场都无法发展起来的。正当Quake II独霸整个引擎市场的时候,Epic Megagames公司(即现在的Epic游戏公司)的《虚幻》(Unreal)问世了。毫不夸张,第一次运行这款游戏的时候,我的确被眼前的画面惊呆了,尽管当时只是在x的分辨率下运行的这款游戏(四大悲事之一:玩游戏机器不够劲)。除了精致的建筑物外,游戏中的许多特效即便在今天看来依然很出色,荡漾的水波,美丽的天空,庞大的关卡,逼真的火焰、烟雾和力场等效果。从单纯的画面效果来看,《虚幻》是当之无愧的佼佼者,其震撼力完全可以与人们第一次见到《德军司令部》时的感受相比。 Unreal引擎可能是使用最广的一款引擎,在推出后的两年之内就有款游戏与Epic公司签订了许可协议,这还不包括Epic公司自己开发的《虚幻》资料片《重返纳帕利》,其中比较近的几部作品如第三人称动作游戏《北欧神符》(Rune)、角色扮演游戏《杀出重围》(Deus Ex)以及永不上市的第一人称射击游戏《永远的毁灭公爵》(Duke Nukem Forever),这些游戏都曾经或将要获得不少好评。
Unreal引擎的应用范围不限于游戏制作,还涵盖了教育、建筑等其它领域。Digital Design公司曾与联合国教科文组织的世界文化遗产分部合作采用Unreal引擎制作过巴黎圣母院的内部虚拟演示,Zen Tao公司采用Unreal引擎为空手道选手制作过武术训练软件,另一家软件开发商Vito Miliano公司也采用Unreal引擎开发了一套名为“Unrealty”的建筑设计软件,用于房地产的演示。
这款与《雷神之锤2》同时代的引擎经过不断的更新,至今依然活跃在游戏市场上,丝毫没有显出老迈的迹象,实属难得。
引擎的革命(年~年)
游戏的图像发展到《虚幻》这里已经达到了一个天花板的高度,接下去的发展方向很明显不可能再朝着视觉方面进行下去。前面说过,引擎技术对于游戏的作用并不仅局限于画面,它还影响到游戏的整体风格,例如,所有采用Doom引擎制作的游戏,无论是《异教徒》还是《毁灭巫师》,都有着相似的内容,甚至连情节设定都如出一辙。玩家开始对端着枪跑来跑去的单调模式感到厌倦,开发者们不得不从其它方面寻求突破,由此掀起了第一人称射击游戏的一个新的高潮。
两部划时代的作品同时出现在年——Valve公司的《半条命》(Half-Life)和LookingGlass工作室的《神偷:暗黑计划》(Thief:The Dark Project),尽管此前的《系统震撼》(System Shock)等游戏也为引擎技术带来过许多新的特性,但没有哪款游戏能像《半条命》和《神偷》那样对后来的作品以及引擎技术的进化造成如此深远的影响。
曾获得无数大奖的《半条命》采用的是Quake和Quake II引擎的混合体,Valve公司在这两部引擎的基础上加入了两个很重要的特性:一是脚本序列技术,这一技术可以令游戏以合乎情理的节奏通过触动事件的方式让玩家真实地体验到情节的发展,这对于诞生以来就很少注重情节的第一人称射击游戏来说无疑是一次伟大的革命;第二个特性是对人工智能引擎的改进,敌人的行动与以往相比明显有了更多的狡诈,不再是单纯地扑向枪口。这两个特点赋予了《半条命》引擎鲜明的个性,在此基础上诞生的《要塞小分队》、《反恐精英》和《毁灭之日》等优秀作品又通过网络代码的加入令《半条命》引擎焕发出了更为夺目的光芒。 在人工智能方面真正取得突破的游戏是Looking Glass工作室的《神偷:暗黑计划》,游戏的故事发生在中古年代,玩家扮演一名盗贼,任务是dmx512 源码进入不同的场所,在尽量不引起别人注意的情况下窃取物品。《神偷》采用的是Looking Glass工作室自行开发的Dark引擎,Dark引擎在图像方面比不上《雷神之锤2》或《虚幻》,但在人工智能方面它的水准却远远高于后两者,游戏中的敌人懂得根据声音辨认你的方位,能够分辨出不同地面上的脚步声,在不同的光照环境下有不同的目力,发现同伴的尸体后会进入警戒状态,还会针对你的行动做出各种合理的反应,你必须躲在暗处不被敌人发现才有可能完成任务,这在以往那些纯粹的杀戮游戏中是根本见不到的。如今的绝大部分第一人称射击游戏都或多或少地采用了这种隐秘的风格,包括新近发布的《荣誉勋章:盟军进攻》(Medal of Honor:Allied Assault)。遗憾的是,由于Looking Glass工作室的过早倒闭,Dark引擎未能发扬光大,除了《神偷:暗黑计划》外,采用这一引擎的只有《神偷2:金属时代》(Thief 2:The Metal Age)和《系统震撼2》等少数几款游戏。
受《半条命》和《神偷:暗黑计划》两款游戏的启发,越来越多的开发者开始把注意力从单纯的视觉效果转向更具变化的游戏内容,其中比较值得一提的是离子风暴工作室出品的《杀出重围》,《杀出重围》采用的是Unreal引擎,尽管画面效果十分出众,但在个体的人工智能方面它无法达到《神偷》系列的水准,游戏中的敌人更多的是依靠预先设定的场景脚本做出反应,例如砸碎弹药盒可能会引起附近敌人的警惕,但这并不代表他听到了什么,打死敌人后周围的同伙可能会朝你站立的位置奔过来也可能会无动于衷,这些不真实的行为即便在《荣誉勋章:盟军进攻》里也依然存在。图像的品质抵消了人工智能方面的缺陷,而真正帮助《杀出重围》在众多射击游戏中脱颖而出的则是它的独特风格,游戏含有浓重的角色扮演成分,人物可以积累经验、提高技能,还有丰富的对话和曲折的情节。同《半条命》一样,《杀出重围》的成功说明了叙事对第一人称射击游戏的重要性,能否更好地支持游戏的叙事能力成为了衡量引擎的一个新标准。 从年开始3D引擎朝着两个不同的方向分化,一是如《半条命》、《神偷》和《杀出重围》那样通过融入更多的叙事成分和角色扮演成分以及加强游戏的人工智能来提高游戏的可玩性,二是朝着纯粹的网络模式发展,在这一方面,id Software公司再次走到了整个行业的最前沿,他们意识到与人斗才是其乐无穷,于是在Quake II出色的图像引擎的基础上加入更多的网络成分,破天荒推出了一款完全没有单人过关模式的纯粹的网络游戏——《雷神之锤3竞技场》(Quake III Arena),它与Epic公司稍后推出的《虚幻竞技场》(Unreal Tournament)一同成为引擎发展史上的一个转折点。 随着Quake III引擎的大获成功,id Software公司在引擎授权市场上也大赚了一笔。Raven公司再次同id Software公司合作,采用Quake III引擎制作了第一人称射击游戏《星际迷航:精英部队》(Star Trek Voyager:Elite Force),此外这部引擎还被用于制作第三人称动作游戏《重金属F.A.K.K. 2》(Heavy Metal F.A.K.K 2)和《艾丽丝漫游魔境》(American McGee’s Alice)、最近的两款二战题材的射击游戏《重返德军总部》(Return to Castle Wolfenstein)和《荣誉勋章:盟军进攻》,以及开发中的《绝地放逐者:绝地武士2》(Jedi Outcast:Jedi Knight II)。从地牢到外太空,从童话世界到二战年代,从第一人称视角到第三人称视角,充分显示了Quake III引擎的强大潜力。
Epic公司的《虚幻竞技场》虽然比《雷神之锤3竞技场》落后了一步,但如果仔细比较一下的话,你就会发现它的表现要略高出后者一筹。从画面方面看两者差不多打成平手,但在联网模式上,它不仅提供有死亡竞赛模式,还提供有团队合作等多种激烈火爆的对战模式,而且Unreal Tournament引擎不仅可以应用在动作射击游戏中,还可以为大型多人游戏、即时策略游戏和角色扮演游戏提供强有力的3D支持。Unreal Tournament引擎在许可业务方面的表现也超过了Quake III,迄今为止采用Unreal Tournament引擎制作的游戏大约已经有多款,其中包括《星际迷航深度空间九:坠落》(Star Trek Deep Space Nine:The Fallen)、《新传说》(New Legend)和《塞拉菲姆》(Seraphim)等。
在年到年期间迅速崛起的另一款引擎是Monolith公司的LithTech引擎,这款引擎最初是用在机甲射击游戏《升刚》(Shogo)上的。前面说过,LithTech引擎的开发共花了整整五年时间,耗资万美元,功夫不负有心人,年LithTech引擎的第一个版本推出之后立即引起了业界的主意,为当时处于白热化状态下的《雷神之锤2》vs.《虚幻》之争泼了一盆冷水。
正是由于过于高昂的开发代价,年Monolith公司决定单独成立一个LithTech公司,以LithTech引擎的授权许可作为主要业务,希望借此捞回一些成本。采用LithTech第一代引擎制作的游戏包括《血兆2》和《清醒》(Sanity)等。年LithTech公司推出了引擎的2.0版本和2.5版本,加入了骨骼动画和高级地形系统,给人留下深刻印象的《无人永生》(No One Lives Forever)以及即将上市的《全球行动》(Global Operations)采用的就是LithTech 2.5引擎,此时的LithTech已经从一名有益的补充者变成了一款同Quake III和Unreal Tournament平起平坐的引擎。如今LithTech引擎的3.0版本也已经发布,并且衍生出了“木星”(Jupiter)、“鹰爪”(Talon)、“深蓝”(Cobalt)和“探索”(Discovery)四大系统,其中“鹰爪”被用于开发《异形大战掠夺者2》(Alien Vs. Predator 2),“木星”将用于《无人永生2》的开发,“深蓝”用于开发PS2版《无人永生》,“探索”则将被用来制作一款尚未公布的大型网络游戏。
LithTech引擎除了本身的强大性能外,最大的卖点在于详尽的服务,除了LithTech引擎的源代码和编辑器外,购买者还可以获得免费的升级、迅捷的电子邮件和电话技术支持,LithTech公司甚至还会把购买者请到公司进行手把手的培训。而且LithTech引擎的平均价格也不算很高,大约在万美元左右,同Quake III引擎的万美元相比已经是相当低廉了。
引擎的明天(年~)
年有许多优秀的3D射击游戏陆续发布,其中一部分采用的是Quake III和Unreal Tournament等现成引擎,如《星际迷航深度空间九:坠落》、《重返德军总部》和《荣誉勋章:盟军进攻》,而更多的则采用的是自己开发的引擎,比较有代表性的包括网络射击游戏《部落2》(Tribes 2)、第一人称射击游戏《马科斯·佩恩》、《红色派系》(Red Faction)和《英雄萨姆》等。
《部落2》采用的是V引擎,这款引擎虽然无法同Quake III和Unreal Tournament相提并论,但开发者为它制定的许可模式却相当新颖,你只需花上美元就可以获得引擎的使用权,不过天下没有免费的午餐,随之而来的一系列规定相当苛刻,例如,开发者不能把该引擎用于为其它游戏发行商、其它商业游戏站点等竞争对手制作游戏,开发出来的游戏必须在发行前交给GarageGames公司(V引擎的所有者),不能交给任何第三方,GarageGames公司将拥有这些游戏五年的独家发行权等等。尽管如此,对于那些规模较小的独立开发者来说,这个超低价引擎仍然具有非常大的吸引力。
《马科斯·佩恩》采用的是MAX-FX引擎,这是第一款支持辐射光影渲染技术(Radiosity Lighting)的引擎,这种技术以往只在一些高级的建筑设计软件中出现过,它能够结合物体表面的所有光源效果,根据材质的物理属性及其几何特性,准确地计算出每个点的折射率和反射率,让光线以更自然的方式传播过去,为物体营造出十分逼真的光影效果。MAX-FX引擎的另一个特点是所谓的“子弹时间”(Bullet Time),这是一种《黑客帝国》风格的慢动镜头,在这种状态下甚至连子弹的飞行轨迹都可以看得一清二楚。MAX-FX引擎的问世把游戏的视觉效果推向了一个新的高峰。
《红色派系》采用的是Geo-Mod引擎,这是第一款可任意改变几何体形状的3D引擎,也就是说,你可以使用武器在墙壁、建筑物或任何坚固的物体上炸开一个缺口,穿墙而过,或者在平地上炸出一个弹坑躲进去。Geo-Mod引擎的另一个特点是高超的人工智能,敌人不仅仅是在看见同伴的尸体或听见爆炸声后才会做出反应,当他们发现你留在周围物体上的痕迹如弹孔时也会警觉起来,他们懂得远离那些可能对自己造成伤害而自己又无法做出还击的场合,受伤的
wdasm编辑器搜索到文件怎么修改啊?
WDasm是一个强大的反汇编工具,操作简单,使用方便。通常被程序员使用,当然也可被用来Crack软件了,很适合Cracker使用。我在这把与crack相关的功能简述如下:
1.0 开始
2.0 保存反汇编文本文件和创建方案文件
3.0 反汇编文本代码的基本操作
4.0 复制汇编代码文本
5.0 装载位的汇编代码动态调试
6.0 运行,暂停或终止程序
7.0 单步跟踪程序
8.0 设置激活断点
9.0 偏移地址和虚拟地址转换
1.0 开始
1.1 运行WDasm,在这里以windows自带的计算器为例:calc.exe。
1.2 从Disassembler(反汇编)菜单选择Disassembler Options(反汇编程序选项)选项将出现如下对话框:
1.3 在Disassembler(反汇编)菜单,选择Open File(打开文件)选项或按工具栏按钮
1.4 选择你要打开的文件就可。
注意:你反汇编文件后,如字符己超过屏幕外,这时你要选择合适的字体(在Font字体选项中Select Font选择字体) ,然后设为默认字体(Save Default Font)即可。 当然一般以默认值就可。
2.0 保存反汇编文本文件和创建方案文件(Save The Disassembly Text and Create A Project File )
略。
3.0 反汇编源代码的基本操作
3.1 转到代码开始(Goto Code Start)
在工具栏按或从菜单的转到(Goto)选项选择转到代码开始(Goto Code Start) 或按Ctrl S 这样光标将来到代码的开始处,用户可通过双击鼠标或用shift+上下光标键改变光标的位置。
注:代码的开始处是反汇编代码列表清单汇编指令的开始,而不是代码运行的起点,程序运行的起点称为程序入口点(Program Entry Point)
3.2 转到程序入口点(Goto Program Entry Point)
在工具栏按或菜单的转到(Goto)选项选择 转到程序入口点(Goto Program Entry Point)或按F这样光标将来到程序入口点(Entry Point)这里就是程序执行的起始点,一般动态调试时LOAD时也就停在此处。 3.3 转到页(Goto Page)
在工具栏按或菜单的转到(Goto)选项选择转到页(Goto Page)或按F这时跳出一对话框,输入页数可跳转到相关页面去。
3.4 转到代码位置(Goto Code Location)
在工具栏按或菜单的转到(Goto)选项选择转到代码位置(Goto Code Location)或按F一个对话框将出现,充许用户输入代码偏移地址,以跳转到此位置上去。
3.5 执行文本跳转(Execute Text Jump)
这功能是在Execute Text(执行文本)菜单选项里的,执行跳跃(Execute Jump)功能激活条件是光标在代码的跳转指令这行上(这时光条是高亮度的绿颜色)。此时工具条Jump To按钮也激活。如图:
此时按或菜单选项Execute Jump(执行跳跃)或按右光标键,光条将来到跳转指令所指到的位置。在这例子里,将来到:CE xor eaxeax 这一行代码处:
如要返回到上一次跳跃,请参考3.6.
3.6 返回到上一次跳跃Return From Last Jump
这功能是在Execute Text(执行文本)菜单选项里的,此指令仅仅是在 执行文本跳转功能完成后才激活。当这条件成立时,按钮将激活。按或在菜单里选项返回到上一次跳跃(Return From Last Jump)或按左光标键,光条将返回到上一次跳跃位置处。
3.7 执行呼叫Execute Text Call
这功能是在Execute Text(执行文本)菜单选项里的,此功能激活的条件是光条在CALL指令一行。在这一行时光条将发绿,按钮将激活。执行时光条将会来到CALL所指的地址处。
如下图: 光条在D call D4 一行。
此时按或在菜单的执行呼叫(Execute Text Call)或按右光标键,光条将来到CALL所指的地址D4这一行。
如要返回到刚才起点的D call D4 一行,参考3.8的返回呼叫。
3.8 返回呼叫(Return From Last Call)
这功能是在Execute Text(执行文本)菜单选项里的,此指令仅仅是在执行呼叫Execute Text Call功能完成后才激活。当这条件成立时,按钮将激活。按或在菜单里选项返回呼叫(Return From Last Call)或按左光标键,光条将返回到上一次呼叫位置处。
3.9 导入功能(Imported)
在菜单功能选项里,其作用主要是查看import函数。按或在菜单功能选项里的导入(Imports)命令,执行后将列出当前文件的Import函数。
你可双击这些项目,光条将来到调用这些函数的代码处。
注意:如果代码多处引用了这些函数,你双击这个项目函数时,光条将在调用了其的几个位置代码处循环.
你也可用copy all或copy view复制import函数。
3. 出口功能(Exported)
在菜单功能选项里,其作用主要是查看Export函数。按或在菜单功能选项里的出口(Exports)命令,执行后将列出当前文件的Exports函数。
注意:一般EXE文件没有exported,DLL文件有exported函数。
3. 裁判(References)
在这个菜单选项里有菜单参考(MENU) 对话参考(DIALOG) or (串式数据参考STRING DATA),分别对应按钮:,或。
注意:其中(串式数据参考STRING DATA)功能破解时很常用。
4.0 复制汇编代码文本
Wdasm充许打印或复制指定行的汇编代码。首先你将鼠标移到WDASM的最左边单击,将会出现一个小红点,再按住shift键,移到你需要的下一行,再单击鼠标一下,将选中一段,按CTRL+C复制或在菜单选项反汇编里的拷贝指定的行(Copy Lines of Text)功能或按,把数据复制到剪贴板里。如:
5.0 装载位的汇编代码动态调试
5.1 反汇编windows自带的计算器程序 calc.exe.
5.2 选择菜单调试选项中的加载处理(Load Process),或按Ctrl+L.出现一个加载对话框,你可输入选项命令。现在你可按装载(load)按钮。
Calc.exe现在被WDASM动态调试,将出现左右两个调试窗口(如下图),在初始化calc.exe程序后,指令将停留在入口点(Entry Point)处。
左边的调试窗口列出各种状态器如:CPU寄存器,CPU控制寄存器,断点,活动的DLL,段寄存器等等;
(左调试窗口)
(右调试窗口)
6.0 运行,暂停或终止程序
6.1 在右调试窗口,按运行(RUN)按钮或按F9calc.exe将运行起来。
按暂停(PAUSE)按钮或空格键,程序将暂停,这在单步跟踪时经常用到。
按终止(TERMINAT)按钮,程序将停止,退出动态调试环境。
7.0单步跟踪程序
7.1 重新加载 calc.exe
7.2 在程序加载后,停留在入口点,你可按F7或F8单步调试程序,这两个键所不同的是F7是跟进CALL里,F8是路过。
7.3 进入自动调试按 (F5) 和结束自动调试按 (F6) 。
8.0设置激活断点
8.1 重新加载 calc.exe
8.2 在WDASM的菜单转到选项转到代码处(goto code)功能,填上,按确定,你将在WDasm的主窗口(此时可能最小化了,把其还原即可)来到地址一行。光条在这一行显亮绿色,按F2或用鼠标左点击最左边(同时按住CTRL)设置断点。
这时如断点设置成功,光条最左边有一小段黄条,显示此行为断点。如下图:
如果断点不在这里,整行光条将是**的。
当断点设置好后,在左调试窗口中的断点小窗口显示断点情况(右边有一*):
此时按F2或(鼠标左键+CTRL),断点将取消。
8.3 此时按F9程序将运行到相关断点时停止。
9.0 偏移地址和虚拟地址转换
WDASM、SOFTICE和Hiew(Decode模式)显示的地址都是虚拟地址,但是在Hiew(Decode模式)下,F5功能键查找的地址是偏移地址,因此必须将虚拟地址转换成偏移地址,才能找到正确的地址。常用的方法是在WDASM下将绿色的光条移到某一行代码上 在窗口底部有一行字指示其偏移地址 如虚似地址:Code DaTa@e而偏移地址为:@Offset Eh. 这就是偏移地址。
.0 结束
(要了解更多的内容参考WDASM的帮助文件
创游编辑器怎么制作游戏创游编辑器攻略大全
创游编辑器怎么制作游戏?创游编辑器怎么编辑?创游编辑器这个游戏不同于以往的闯关冒险游戏,这是一个可以自娱自乐的游戏哦,玩家们可自己创作专属游戏呢,具体技巧方法内容现在就来分享给各位咯~
创游编辑器攻略大全
《创游编辑器》能把我们心中的想法变成有趣的游戏:因为这是一款以制作游戏为核心的游戏!
可视化编程,零基础可用的「游戏编辑器」
万丈高楼平地起,游戏还得靠自己!
相信很多人在玩游戏时,或多或少都曾经幻想过成为一名游戏制作人。但苦于没有基础,不会编程、美术、策划样样不会,而搁置了这个一闪而过的念头。
真正想独立制作一款游戏无疑是耗时耗力的,光是学会繁琐难记的代码编程这一门槛就足够令人头秃。
《创游编辑器》的可视化编程,可以说最大程度消除了「代码」这一难倒万千未来的游戏制作人们的门槛。
无需“#include”,更不用“#defineL1”诸如此类门外汉们看得一头雾水的源代码。它通过自身内置的编辑器将代码所能实现的功能可视化,通过具象的图像帮助零基础玩家充分理解其存在的用途。
应用商店式的素材选择,通过编辑工具可将素材在地图场景内进行简易框涂,绘制成想要的地图场景。
虽然目前为止,《创游编辑器》仅提供了平台跳跃和简易RPG游戏的模板制作,但才华出众的网络冲浪选手们仍然大开脑洞,利用奇思妙想制作了种种不同类型的游戏。
二值笔绘风,高自由度设计
值得一提的是《创游编辑器》的高自由度设计。
作为一款小体量游戏,《创游编辑器》在整体画面上选择了二值笔绘风。虽然二值笔自带锯齿,注定与高端大气的画面无缘,但这种以像素排列式画笔下的风格意外更接地气。
游戏内的所有贴图场景,都可以由玩家亲自动手绘制。小到障碍物、地块,大到背景贴图。
三两笔勾画,一块MC式带草皮的地块就大功告成(雾)。
虽然我画工,咳,一般,但大家应该能看出来它的确能绘制出那些想象中的场景吧。
人物形象同样也是可以DIY绘制的。就我粗略翻越一圈,看得也是眼花缭乱——马里奥、汤姆猫、喵里奥、迪迦奥特曼、戴三级盔的吃鸡小人,甚至狗头。
只要你想得到,能画得出来,《创游编辑器》可以为我们构建任何一个地方。
「创意工坊」式的DIY游戏平台
《创游编辑器》在短短几日内受到了大量玩家的关注,没有铺天盖地的营销和宣传,玩家们的「自来水」就几乎让它完全席卷段视频平台。
这样一个做工并不精细,甚至仍然存在部分让人头大的bug,为何一时间吸引无数玩家,还自发发布作品为其宣传?
究其根本,我想大概还是源自于《创游编辑器》的核心玩法:创造。
它可以称得上是一个小型的自定义游戏平台。
玩家通过这个平台进行创作,在满足自己的同时还能把自己创作的游戏或素材在这个平台上进行分享,还有机会被选上精选在编辑器的首页进行展示。油然而生的成就感自不用说,谁又不希望自己花了心思的作品受到大家的喜爱呢?
有分享者自然也有得到分享的玩家,并不是每个玩家都属于创作型的。如果不愿意花费时间、没有能力去制作游戏,可以像在「创意工坊」一样,挑选想要尝试的关卡进行试玩,体验他人的成果。又或者觉得自己水平不足无法绘制更好的素材时,玩家也可以选择使用金币去兑换其它玩家分享在平台上的素材。
从市面上大热的《光遇》《绝地求生》到《马里奥》《空洞骑士》等等,无需下载可以玩到那些(模仿)你熟知的游戏。
除了正儿八经的游戏,当然还有一些让人笑到头掉的沙雕游戏。
——比如这个究极噩梦刮痧模拟器。
即便《创游编辑器》目前仍然处于测试前期阶段,尚有许多内容仍待开发,但就目前而言,对于热爱创造的玩家们来说可玩性还是相当不错的。
vs中快捷键设置_VS设置快捷键
vs中快捷键设置
智能提示:ctrl + J
方法参数提示:ctrl + shift +空格
智能标记(如:提示using、实现接口、抽象类等):ctrl + .
执行测试:ctrl + R,T(当前上下文),ctrl + R,A(所有),ctrl + R,Y(所有受影响)
重新生成:ctrl+shift+B
执行化全文:ctrl+K,D
循环粘贴:ctrl+shift+V
快速切换到上一页/下一页:ctrl+F6/ctrl+shift+F6
#region快捷键:选中要注释的内容,按ctrl+K,S,选择#region
VS设置快捷键
上挑+冰波(冻住了)+列波+电球+邪光斩 然后就跑 上挑起手+不动+列波(本人PK一般不放不动,就是靠修罗的冰波电球恶心死对面)上挑起手+冰波(没冻住运气差会出硬直没有不屈就被对面干)+列波(对面倒地如果蹲伏了就)+平A+上挑+冰波这样蹲伏一结束就会受到攻击+电球+邪光斩 完成以上连招需要相对高的施放速度(时装最好是天空,最次也要新年套之类的)装备情况最好是异次元+冰刃波动剑的一套然后打上施放加快+戒指那些东西自己选个好点的加速度的就好
vs如何设置快捷键
软件默认是这个操作,也可以根据个人喜好,在软件设置里面修改按键。
vs自定义快捷键
vs怎么添加头文件和库文件
它的快捷键是ctrl+Alt+L
vs怎么添加头文件和库文件
它的快捷键是ctrl+Alt+L
vs怎么添加头文件和库文件
它的快捷键是ctrl+Alt+L
vs怎么添加头文件和库文件
它的快捷键是ctrl+Alt+L。
vs怎么添加头文件和库文件
它的快捷键是ctrl+Alt+L。
vs中快捷键设置跟Js一样
就任何特定的软件开发任务而言,在Visual Studio和Visual Studio Code之间做出决定就像在IDE和编辑器之间做出决定一样简单。事实并非如此,主要是由于VS Code经配置后,可以做到对许多编程语言而言与IDE很接近。然而,伴随这种可配置性而来的是许多不足。
比如说,如果你的开发风格是测试驱动型,Visual Studio立即就可以使用。另一方面,VS Code有大约个测试驱动的开发扩展,可支持Node.js、Go、.Net和PHP。同样,Visual Studio与数据库(尤其是Microsoft SQL Server及其衍生版)的兼容性很好,但VS Code有好多数据库扩展。Visual Studio拥有出色的重构支持,但Visual Studio Code为六种语言实施了基本的重构操作。
有几种明确的情况。比如说,如果你是软件架构师,又可以使用Visual Studio企业版,你会想要使用Visual Studio。如果你需要与团队成员协作、共同开发或调试,那么Visual Studio是更好的选择。如果你需要进行严谨的代码分析或性能分析或从快照进行调试,那么Visual Studio企业版会帮助你。
VS Code在数据科学界往往很受欢迎。然而,Visual Studio 拥有提供许多功能的数据科学工作负载。
Visual Studio不能在Linux上运行,VS Code可以运行。另一方面,Visual Studio for Windows拥有Linux/C ++工作负载和Azure支持。
针对使用Visual Studio和VS Code中都支持的语言的日常开发/测试/调试周期,选择哪一个其实归结为个人偏好。如果你每次搞开发项目往往搞数小时,那么Visual Studio可能更适合。如果你从事短时间开发、在其他任务之间轮换,Visual Studio Code可能会让你更满意。
VS中快捷键
区别一:含义不一样。
Visual Studio(简称VS)是美国微软公司的开发工具包系列产品,是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等。通俗的讲,是一款编译器。
visual studio code是美国微软公司是一个项目:运行于MacOSX、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器。通俗地讲,是一款编辑器。
区别二:跨平台运行能力不一样。
Visual Studio各种功能只能在Windows和macOS(MacOSX)之上运行,不能跳跃各平台编辑。
visual studio code是一款真正的跨平台编辑器,可以在用户习惯的平台上使用,而不是非要迁徙到Windows上。
区别三:功能不一样。
Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序,开发新的程序。
visual studio code集成了所有一款现代编辑器所应该具备的特性,包括语法高亮,可定制的热键绑定,括号匹配以及代码片段收集,这款编辑器也拥有对Git的开箱支持。
vs调试快捷键设置
在想断住的地方按F9设置断点。
按F5使用debug模式运行,程序执行到设置断点的地方会自动停住。这时候就可以查看当前各个变量值或者内存值了。
按F可以单步执行,就是按一下从断点处向下执行一行
快捷键技巧
1.注释:CTRL+K+C
2.取消注释:CTRL+K+U
3.设置断点调试:F9,断点行不执行
4.回到上一个光标位置:CTRL±
5.前进到下一个光标位置:CTRL+Shift±
6.复制整行代码:光标停在该行,CTRL+C,再粘贴CTRL+V
7.剪切整行代码:光标停在该行,CTRL+X
8.删除整行代码:光标停在该行,CTRL+L
9.撤销:CTRL+Z
.返撤销:CTRL+Y
vs设置快捷键
vs右侧解决方案资源管理器不见了怎么办 ,有两种方式可以把右侧隐藏的工具栏进行显示。可以直接按"ctrl + alt + l" 快捷键进行显示。
1、找到VS软件,双击打开vs软件
2、在VS软件的顶部点击"视图",在试图下方点击"解决方案资源管理器",或者直接按"ctrl + alt + l" 快捷键
3、这个时候会看到右侧就会显示出解决方案资源管理器
4、在VS软件的顶部点击"窗口",然后找到窗口的下方找到重置窗口布局,点击"重置窗口布局"。
5、在弹窗口的对话框中点击"是"按钮。
6、这个时候就会看到右侧已显示处理解决方案资源管理器了。
VS常用快捷键
是不太一样,就是更方便了。在属性窗口中(如果不见就:视图-其他窗口-属性窗口),在上面的图标中选“消息”图标,然后在下面的列表中找到WM_Lbuttondown,然后在后面的下拉列表了选择添加就行了。
vs设置快捷键
VS 有用的快捷键 : Ctrl + r, ctrl + w, 切换空格示。
vs快捷键大全
VS版快捷键
Ctrl+E,D ----格式化全部代码
Ctrl+E,F ----格式化选中的代码
CTRL + SHIFT + B生成解决方案
CTRL + F7生成编译
CTRL + O打开文件
CTRL + SHIFT + O打开项目
CTRL + SHIFT + C显示类视图窗口
F4显示属性窗口
SHIFT + F4显示项目属性窗口
CTRL + SHIFT + E显示资源视图
F转到定义
vs怎么设置快捷方式
VS 是Microsoft Visual Studio的简称。VS是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。
VS可以帮助在各种平台上快速创建,是当前最先进的应用程序。
visualstudioåvscodeçåºå«
è¿ä¸¤ä¸ªè¯åºå«äºå«ä¹ä¸åã跨平å°è¿è¡è½åä¸åãåè½ä¸åã
1ãå«ä¹ä¸åï¼Visual Studioæ¯æ¯ä¸ä¸ªåºæ¬å®æ´çå¼åå·¥å ·éï¼æ´ä¸ªè½¯ä»¶çå½å¨æä¸æéè¦ç大é¨åå·¥å ·ï¼æ¯ä¸æ¬¾ç¼è¯å¨ãvisual studio codeè¿è¡äºWindowsé对äºç¼åç°ä»£ Web åäºåºç¨ç跨平å°æºä»£ç ç¼è¾å¨ï¼æ¯ä¸æ¬¾ç¼è¾å¨ã
2ã跨平å°è¿è¡è½åä¸åï¼Visual Studio åç§åè½åªè½å¨ WindowsåmacOSä¹ä¸è¿è¡ï¼ä¸è½è·³è·åå¹³å°ç¼è¾ãvisual studio codeæ¯ä¸æ¬¾çæ£ç跨平å°ç¼è¾å¨ï¼å¯ä»¥å¨ç¨æ·ä¹ æ¯çå¹³å°ä¸ä½¿ç¨ï¼èä¸æ¯éè¦è¿å¾å° Windowsä¸ã
3ãåè½ä¸åï¼Visual Studioæ¯ç®åææµè¡çWindowså¹³å°åºç¨ç¨åºçéæå¼åç¯å¢ãæä¾äºé«çº§å¼åå·¥å ·ãè°è¯åè½ãæ°æ®åºåè½ååæ°åè½ãvisual studio codeéæäºææä¸æ¬¾ç°ä»£ç¼è¾å¨æåºè¯¥å ·å¤çç¹æ§ï¼è¿æ¬¾ç¼è¾å¨ä¹æ¥æ对 Git çå¼ç®±å³ç¨çæ¯æã
2024-12-28 23:18
2024-12-28 23:11
2024-12-28 22:24
2024-12-28 21:57
2024-12-28 21:53