字: 大 中 小
关灯 护眼
三月小说 > 美利坚:游戏制作教父 > 第761章 完全可破坏的地形

第761章 完全可破坏的地形

    「我们已经有段时间没做街机了。」

    看到两人落座,林立新开口道。

    杰拉德搞的那个情侣合作街机给他提了个醒。

    有部非常适合多人派对又不算特别吃规模的作品,放在眼下这个填补空档的时期特别合适。

    《rms》,也就是传说中的《百战天虫》。

    说起这款游戏,其实对神秘东方的玩家们来说还有些陌生。

    但若是提起它的『祖国版』,那在当年可谓是人尽皆知。

    《弹弹堂》

    千禧年後诞生的一款页游。

    玩法高度致敬《百战天虫》,并加入了更多竞技化、社交化的改动,使其更加适配国内市场。

    在闪客文化和页游文化最为昌盛的21世纪10年代上半叶,也算得上是名噪一时。

    玩家选择移动或开火,调整瞄准角度,调整力度,用自己氪金打造的华丽武器狠狠地轰上对手一炮。当然也少不了那段时间非常受欢迎的『结婚』和『拜师』、『公会』等社交体系了。

    其实这类游戏的核心逻辑非常简单,倒不如说amenva就曾开发过一款。

    《愤怒的小鸟》嘛。

    虽然是当初发布在掌机上的阉割版,但核心思想跟未来那款几乎无异。

    这类游戏在电子游戏领域的学名叫做『炮兵游戏』。

    也就是一类从早期军事弹道计算器衍生出来的游戏类型。

    别看玩法非常复杂新奇,但它绝对是游戏领域年纪最大的老古董之一。

    在那个计算机尚不发达,大家对电子游戏的理解还是示波器上跳动的桌球时,炮兵游戏便已经悄然在军事实验室中诞生了。

    通过旋钮控制发射角度,通过装药量的调整等,以计算机模拟的形式计算弹道。

    对炮兵们来说,熟记射表的他们可以轻松利用经验和知识做到指哪打哪。

    起初,这只是一次军事化的实验。

    科学家们想要测试看看,用计算机模拟炮弹的弹道精度到底如何。这些数据可以辅助他们对军火进行各种优化调整,就像是汽车行业的模拟风洞一样。

    真车想要跑一次风洞,不仅仅是成本高昂,时间开支也是一个巨大的麻烦。

    但换用计算机模拟,那限制就只取决於计算机的算力。

    理想情况下,一台超算甚至可以同时演算成千上万个实例。

    而在这个过程中,热衷於折腾的科学家们忽然意识到了一点。

    算弹道……好像有点好玩!

    於是,他们便开始着手改造弹道模拟器,为其添加更多的功能。

    比如不再是固定点位,而是玩家可以移动、自行选择阵地位置。

    比如游戏可以变成两个人的pvp,而不是单纯地射击看落点。

    再比如可以为游戏添加风向的因素、更复杂的地形……

    慢慢的,炮兵游戏便诞生了,并逐步演化出了自己的一条道路。

    就比如在早期苹果电脑上的《炮兵》。再到後来游戏机上的像素版本。

    炮兵游戏开始不断演化,变得越来越完善,越来越有趣。

    而amenva开发的那款《愤怒的小鸟》,更像是一次变体化的异色作尝试。

    脱离了传统炮兵游戏的套路,转而深耕重力系统和物理碰撞。

    它的好处是显而易见的。

    传统的炮兵游戏其实具有一定的门槛性。

    而经过卡通化的改造、益智化改造後,与其说是一款炮兵游戏,它更像是小朋友玩绷弓子。

    更加符合直觉、软核化,面对全年龄向的市场。

    这没什麽不好的。

    倒不如说这才是它走向大众,被大多数玩家所接受的依仗。

    但传统炮兵游戏,其实潜能还远远没有被发掘出来呢。

    「我们这次不做物理化的地图了,让地图重回刚体。」说到这儿,林立新伸手在计划板上写下了第一条规矩。

    这一下着实让在场的卡马克和威尔有些摸不着头脑。

    其实从今天与会的配置来看就不难判断出新项目的情况。

    卡马克是个十足的引擎主义者,威尔又是一位系统化设计的爱好者,或者说是模拟爱好者。

    俩人搭在一起,大概率是要做一款非常ner向的理工男作品的。

    更不用说这次目标的平台是街机端,配置上可以更加自由一些。

    可这一上来居然就给物理引擎砍了?

    炮兵游戏没有物理引擎,那还玩个毛哇,那不是全成雷射炮了吗?

    「不不不,弹道计算我们当然还是要做的,而且要认真做,我说的是地形。」

    林立新显然是察觉到了两人的疑惑,开口解释道。

    《愤怒的小鸟》在关卡设计上做了个很讨巧的手法。

    预设各种物理件,整个关卡的设计更像是在搭积木。几条木块搭起一个方框,就可以当做是小屋子。

    玻璃板做支撑柱,玩家一眼就明白这是个弱点,打破它整个楼就倒了。

    这些结构件的设计本身就是引导的一部分。

    与其说是炮兵游戏,整个游戏过程其实更像是在解谜。

    思索如何用最少的鸟,最少的开支,造成最大的破坏。

    只要能找到结构上的缺陷点,就可以迅速击溃,并产生连锁反应。

    这种纯粹的破坏性带来的爽感是浑然天成的。

    但它也存在一个小小的问题。

    不适合pvp环境。

    一方摆放关卡,一方负责破坏,这种不对称竞技其实也有其生存空间。

    甚至还有不少作品把它做成了乐趣的一部分,比如世嘉的《世纪之石》。

    但它一定程度上其实失去了传统炮兵游戏的模板。对於一款传统的炮兵游戏来说,它比拼的其实就是谁的炮术更精湛,谁能迅速适应环境打出最准的攻击。

    非对称化很难得到这样的体验。

    「如果这样的话,那战斗也会容易陷入对策化吧?每张地图总会被摸索出最优解,最後就演变成抢阵地的玩法了。」

    威尔迅速反应了过来,很快便意识到了这里面存在的隐患。

    地图不再是物理化的零件,变成了固定的刚体,那它就注定存在客观上的『最优点』。

    比如一个掩蔽很好,又有一定高度的位置,通过抛射能轻而易举地打到地图上的其他点位。

    俗话说得好,高打低打啥比,最终一定会演变成对战略要地的争夺战。

    「的确是这样,但……如果整个地图都可破坏呢?」

    「哎?」

    威尔眨巴眨巴眼,试图在脑海中构思出这样的场景,

    「你是说……加入防御的阵地,护栏之类的可破坏物?让玩家可以通过武器拆毁地方的阵地之类的?」

    这麽听来反倒是有点rts之类的意思了,多了点策略性。有点像之前雅达利那款《rampart》,双方抉择将防御工事摆在什麽位置取到最好的效果。

    听起来似乎的确能对这种情况带来一些改善。

    「不,我是说字面意义上的,整个地图都可破坏。」

    林立新笑着摇摇头。

    这才是炮兵游戏真正的灵魂。

    一个每一回合都在发生变化的阵地,玩家永远都面对着全新的坐标环境,需要时刻调整射表并选择合适的武器。

    「比如说……玩家现在在一座山头上。」

    他伸手在板子上画出一个山丘的简笔画,

    「现在另一位玩家一炮轰在了这片山头上,会直接在上面炸出一个坑。」

    林立新擦掉山体的一部分,向内画出一道弧线,

    「玩家也会因为脚底下的土地被炸空了的关系掉落下去。」

    「哎?」闻言,不管是卡马克还是威尔都随之一愣,紧接着便是惊喜的眼神。

    这个……好像能行哦。

    至於要如何实现?

    在场的三人不说是可观测宇宙内最强的码农,也绝对是世不二出的奇才,设计这种系统就是手到擒来的事。

    几乎是十分钟都没用到,他们便得出了一个非常优雅的解决方案。

    全地形可破坏,听起来似乎非常复杂。

    毕竟它涉及到了整个地图状态的存储和修改,每一个像素点都要被计算在内,光是想想就是个巨大的开支。

    但实际上业界里对此早就已经有了一套非常通用且高效的解。

    尤其是他们甚至都不需要考虑物理的问题,这个问题就更好解了。

    首先,建一个二维的表,用x代表横轴,y代表纵轴。

    这样只需要一组地图范围内的坐标,就一定能定位到具体的某个元素,也就是屏幕上对应位置的那个像素点。

    至於这个元素要存什麽……当然不可能保存这个地形的材质、颜色、硬度等各种乱七八糟的数据。

    它只需要存一个1bit的数据,也就是一个0或1的值就够了。

    1代表这个像素是实心的,0代表这个像素是空气。

    这样一来,通过任意一个坐标,都可以迅速找到该点有没有地形。

    被炸毁也只需要把对应坐标的值改成0即可。

    那麽问题来了……

    这样的话,地图岂不是只能显示成纯色?要是画面变成这个鬼样子,那视觉效果绝对是不及格的。

    接下来就到了显卡上场的时候了。

    显卡,尤其是ca架构最擅长的是什麽?

    大批量处理海量的简单计算。

    只需要提前准备一张地图的图片,根据地形情况在渲染的时候选择是否剔除即可。

    如果这一个点位已经被炸掉了,那渲染的时候直接跳过就好了。地图实际的纹理更像是套用了一层遮罩,直接糊在地形上。

    所以有地形的地方能看得到,没有地形的地方也会被自动剔除。

    根本不需要实时计算那麽多复杂的数据,只需要维护一个几十kb的极小的表。

    即便地图再大一些,也不过就是把这张表的边界拉大一点儿而已。

    但经过这样一操作……

    一个真正可以被炸毁的,打到哪哪里就多个坑的地图系统便诞生了。
『加入书签,方便阅读』