“因为当共通模式确定之后,有关这一段的代码,那就能直接复制。”
伊森觉得自己听懂了,但又没完全听懂。
所谓的听懂了,指的就是复制。
没办法,谁让他的前世里,程序员复制代码的梗实在是太多了呢?
至于没听懂嘛……
“噢伊芙琳,我想知道你说的共通模式是什么意思?”
伊森果断开问。
“共通模式?这个指的其实就是幽灵的行为在你的设计中,有没有共通的地方?”
既然伊森不懂,伊芙琳便耐心解释,“就比如说,四只幽灵追逐玩家,这个其实就是共通模式,但放在我们这里,共通模式这个词语便不适用了,因为你给四只幽灵设置了不同的特性。”
“你给红色幽灵设置的特性是直接追逐,那么在写代码时,它的特征那就是实时计算出自己和玩家之间的最短距离,然后顺着这条道路一直前进。”
“你给粉色幽灵设置的特性是埋伏玩家,那么在写代码时,它的计算方式是实时计算出玩家的位置,然后按照玩家的面向,向前确定一些像素点,然后把这个虚空的,玩家可能前进的目标变成幽灵的目的地,让粉色幽灵前往这个位置,同时,玩家每一次变动,粉色幽灵的前进位置也会变动。”
“而你给蓝色幽灵设置的特点是配合红色幽灵进行围堵,在这种情况下,那就必须把玩家所在的点确认为中心点,一头连接红色幽灵,一头连接蓝色幽灵,在这个过程中,红色幽灵的行径路线必须最先计算,如果他是横向移动,那就是X轴,如果是纵向移动,那就是Y轴,在这种情况下,蓝色幽灵的行径路线必须与他相对称,以营造出一个直角交点,当直角交点出现时,你想要的围堵效果才能体现,蓝色幽灵才能在游戏中以包夹的方式追捕玩家。”
“最后一个橙色幽灵,你设计的特性是驻守,那么在写代码时,它的特征就是在出生地附近驻守,并以它为中心,设定一个检测半径,当玩家进入半径时,这只橙色的幽灵便会计算出最短距离,开始追击,而当玩家脱离他的判定半径后,这只橙色的幽灵便会停止追击,直至玩家再次出现。”
“因为他们的追逐模式不一样,所以我们便不能把幽灵的追逐称之为共通模式,反过来说,只要幽灵的行动模式完全一样,那么这些代码就是……”
伊芙琳拉长了自己的声线。
而伊森则了然点头,补充道:“共通的。”
“Bingo!”伊芙琳笑着打了个响指,“So……在你看来,共通模式有哪些?”
伊芙琳都已经把话说的这么清楚了,那伊森描述起来也就简单多了。
虽然前世的他只玩过《吃豆人》这款游戏,并没有尝试制作,但即便如此,四只幽灵的共通模式还是非常的好判断的,就比如说逃跑和被抓。
一,所谓逃跑,就是玩家扮演的角色吃到了地图上四个角的发光豆后,给幽灵上的一层DeBuff。
当玩家吃到发光豆,处于无敌状态时,四只幽灵便会进入害怕躲避的状态,因为在这个时候,玩家扮演的角色是可以将他们反杀的,如此一来,变色逃跑就成了四只幽灵的共通模式。
二,被抓,这个指的就是玩家处于无敌状态时,吃掉了幽灵后,幽灵的死亡状态。
由于在《吃豆人》中,幽灵死亡后是可以复活的,但必须回到中间的老巢进行休整。
所以,这个过程,那也是四只幽灵的共通模式。
说实话啊!虽然伊森之前洋洋洒洒的写了很多内容,但这种分段的剖析,草稿纸上还真的没有。
因此,当他在伊芙琳的询问下回忆出这四只幽灵的共通模式后,伊芙琳便在那儿快速的记载。
同时,伊芙琳的嘴巴也不停歇,不断说道:“如果拆开来看,逃跑这个模式就是四只幽灵检测到地图四个发光点的任意一个的消失,然后便进入反方向奔逃的一种行为……”
“被抓那就是四只幽灵在逃跑期间与玩家角色在地图上同一坐标的重叠反馈,这一点需要和幽灵对玩家的抓捕进行区分,因为坐标判定的检测是相通的,不能出错,所以……加个时间检测?就比如说,在地图发光点消失之后的一段时间里,幽灵一旦和玩家重叠,那就是被抓?”
望着姐姐那奋笔疾书的身影,伊森有些感慨。
因为在决定要制作《吃豆人》这款游戏时,他根本就没有预料到,这个游戏竟然能这么的难。
分开写判定?
这工作量也太大了吧!
但在此同时,他的心里,其实也升腾起了一抹好奇。
“伊芙琳。”他喊起了女孩的名字。
“昂?”女孩下意识地回答。
“我能问你个问题吗?”
“说。”
“我想知道,为什么在被抓这个判定里,你要选择时间检测的方式?”
伊森疑惑的问:“在我的设定里,当玩家吃了发光点后,幽灵的身上是会有一层负面状态的,同时,它们也会变幻模样,所以,我们不能把检测设定为模样的改变吗?当玩家碰到模样改变的幽灵时,幽灵就会死亡,这个逻辑不行吗?”
“当然可以。”伊芙琳明白伊森想要说什么。
但同时,她也解释道:“但这样设定的话,游戏检测就会有一个问题,假设玩家和拥有负面状态的幽灵相互碰撞时,幽灵的负面状态刚好消失,那么这个时候游戏该怎么判定呢?”
“幽灵会判定自己的身上没有负面状态,而同时碰撞的重叠代码则会判定幽灵有状态。”
“因为这两个代码是同时计算的。”
“那在这种情况下,到底是玩家吃了幽灵,还是幽灵杀了玩家呢?”
“机器算不出来。”
“这种不分先后级的粗暴判断可能会导致游戏出现判定的问题,所以检测最好的锚定点,我觉得就是优先级最高的时间,这样设定的话,代码只需要判定一个变量,且不容易出错。”
原来是这样?
伊森听懂了。
“那这样的话代码是不是也会少写一些?”
“当然。”伊芙琳点头道:“毕竟我们的内存有限,能给4K的就绝对不能给8K的。”
“多加一点,那就意味着成本增加三十多美元。”
好家伙!这就算上成本了?
伊森惊了。
但伊芙琳的自信倒是让他放心了不少。
在两人的交流下,当天晚上他们就已经把四只鬼魂的AI给分析了一遍。
第二天,伊芙琳便开始窝在家里,尝试着撰写代码。
说实话啊,如果换做其他任何一家游戏公司,在面对《吃豆人》这种需要撰写代码的游戏时,制作进度都不可能很快的,因为当下市面上的个人计算机普及率相当的低。
就算那些商业公司想做,想从电路板街机跳到CPU街机的领域,他们也得先去采购个人计算机,然后招聘那些懂得编程的工程师,让他们来制作游戏。
在这个过程中,他们可能还会面临牛郎星那种摇杆计算机的坑笔货,以及CPU适配等各种问题。
而伊森他们嘛……
完全没有这种顾虑。
因为伊芙琳用的个人计算机是史蒂夫·沃兹尼亚克手搓出来送给伊森的APPLE 1。
不仅如此,MOS 6502还是他们自家的产品。
当制作游戏最重要的CPU发明人和提供生产工具的个人计算机发明人都能随便找到时,伊森真的想不出,这个世界上还有谁能拦着自己把《吃豆人》这个玩意给做出来?
尤其是当他向查克·派朵打了个电话,询问MOS 6502的汇编语言,对方不到一个小时便将那151条操作码,56条指令以传真的形式发过来后……
即便伊芙琳从未接触过MOS 6502,她也能对着指令集快速上手。
而等伊森拨打了史蒂夫·沃兹尼亚克的电话,让他来给那个APPLE 1加装一个磁盘接口,对方三个小时不到,就已经把外接设备给伊森弄齐了时……
伊芙琳便不用担心,数据会丢了。
当然了,伊森的呼唤也让其他人有些好奇。
查克·派朵就在电话里问他,是不是有新点子了。
伊森笑着称是,并表示做完以后会给他送上一份。
史蒂夫·沃兹尼亚克则更加粗暴,想要看伊森的灵感。
虽然这不符合商业机密保护的规矩,但伊森还是同意了。
而等史蒂夫·沃兹尼亚克看完后,这个小胖子顿时就激动万分——
“Oh!Sxxt!这特么的是你的灵感?”
“Oh!My!God!你的这个设计让我看的就想玩!”
“游戏制作带我一个怎么样?”
“我不要钱!我只想把它做出来!”
“你们让我负责什么项目都行!不管是四只幽灵的路径撰写,还是基础面板的设计,又或者说是地图关卡的打造,这些项目我都能完成!”
“真的!”
“我在代码方面非常厉害的!”
这种提议让伊森大喜过望,而伊芙琳也乐得有人替自己分担工作。
于是乎,在游戏制作的第一天,《吃豆人》小组就由两个人变成了三个人。
同样,也是在这一天,史蒂夫·沃兹尼亚克这个小胖子一上手就发现了一个问题。
“伊森,伊芙琳,你们是不是漏算了一个东西?”
“因为在你们的设计里,四只幽灵和玩家一样,都是从地图中间的小屋子里出发的,但,四只幽灵里只有红色,粉色和蓝色会对玩家一直追捕,橙色则是范围监视。”
“所以,当游戏开始后,玩家跑出中间时,三只幽灵会在大门开启后追逐,而第四只橙色只会在中间待命,这样的话,玩家躲避它不就非常轻松了?”
“我的建议是,如果可以的话,它也会从鬼屋里出来,然后定时沿着迷宫内的墙壁不断的前进,就比如说,难度低时为三十秒?前进十秒然后再休息三十秒?难度高了以后改成二十秒?十秒?”
“我们可以把它做成一个漫无目的的游走型生物,当玩家进入它的范围时,它便会凶狠的对其进行追捕,这样一来,是不是更加生动?”
这一提议让伊森愣在了当场。
虽然他不知道,前世《吃豆人》里的小橙鬼是不是这样设计的,但这并不重要对吧?
因为史蒂夫·沃兹尼亚克的提议一听就很好玩啊!
“很好!”
“很有压迫感!”
“这件事情就交给你了!”
伊森拍了拍史蒂夫·沃兹尼亚克的肩膀,给这个小胖子委以重任。
反正都是白嫖!
技术大佬愿意多做,那他又怎么可能会和对方客气?
不存在的好吗!
第92章 制作ing
虽然伊芙琳的制作思路很是清晰,沃兹的加入也让伊森更有信心,但编程其实和数学一样,都不是那种嘴上一碰就能将理念化作现实的科学技术。
就算伊芙琳分析的头头是道,所有人都清楚,四只幽灵的个性追逐那才是《吃豆人》这款游戏的核心卖点,但在撰写代码时,那还是得一步步的来。
他们得先设计关卡和玩家操控的角色,因为只有当地图和目标确定之后,幽灵才有发挥的空间。
在这个阶段里,即便伊森不懂代码,他也不能呆在一旁做嘴炮宗师,伊芙琳将草稿纸拍在了他的面前,让他把自己事先画好的地图用0、1、2、3的方式换成计算机能够看得懂的符号。
说的简单一点,那就是0这个符号代表道路,1这个符号代表墙壁。当它们以横排数列的方式呈现在计算机上时,能够被机器读懂的地图也就出现了。
而2框定的区域则是主角和幽灵们的出生点,也是幽灵死亡后的回归小屋,如果没有这个地方的坐标,那么《吃豆人》这个游戏根本就无法开始。
至于3嘛……则是地图上的无敌星的位置。