从召唤师峡谷到创意工坊,一位LOL网友用热爱复刻游戏的三百个日夜

CF排位号 104
广告一
从召唤师峡谷到创意工坊,一位LOL网友怀揣热爱,耗时三百个日夜复刻LOL式游戏,过程中还联动网友制作的乐队,将峡谷元素与音乐创意相融,既还原了游戏的热血内核,又融入了专属的情怀表达,用持续的创作把对LOL的执念转化为兼具还原度与巧思的作品,尽显玩家对游戏的深厚羁绊。

凌晨三点的电脑屏幕,泛着冷蓝色的光,我揉了揉布满血丝的眼睛,鼠标悬停在“开始游戏”的按钮上——这不是《英雄联盟》的客户端,而是我花了三百天,用业余时间一点点敲出来的游戏Demo,屏幕中央的地图,上半部分是被符文环绕的“召唤平台”,下半部分是野区的“暗影狼巢穴”,连河道里的螃蟹都摆着和原版一模一样的横移姿势,谁能想到,一年前我还只是个在铂金段位反复横跳的普通玩家,现在居然成了“自己做LOL”的“独立游戏开发者”。

故事的起点,是去年夏天的一次排位赛,那局我玩李青,前期抓崩了对面打野,中期却因为队友一波冒进的团灭,被对面推掉了水晶,屏幕弹出“失败”的界面时,我突然盯着小地图发呆:如果能把野区的刷新时间改得更灵活一点,如果能给辅助加一个“共享视野”的专属技能,…这些“像种子一样埋进心里,突然冒出一个疯狂的想法:既然我这么懂LOL,为什么不自己做一个?

从召唤师峡谷到创意工坊,一位LOL网友用热爱复刻游戏的三百个日夜

我知道这有多离谱,我大学学的是汉语言文学,连C语言都只在选修课上学过皮毛,唯一和“游戏制作”沾边的经历,是高中时用RPG Maker做过一个只有三关的像素小游戏,但那天之后,我把书架上的《英雄联盟官方设定集》翻了三遍,把S1到S12的全球总决赛录像拉出来重看,甚至把每个英雄的技能描述、攻击前摇、弹道速度都记在了笔记本上——我要先搞懂,LOL到底为什么好玩。

真正开始动手,是在一个月后,我选了Unity引擎,因为网上的教程最多,适合新手,第一步是做地图,我想先复刻最经典的召唤师峡谷,光是画地图的纹理,就花了我两周,我用PS一点点抠出草丛的轮廓,调整河道的水纹透明度,甚至连防御塔的基座都照着原版的花纹描了三遍,第一次把地图导入引擎时,我激动得差点把鼠标扔出去——可当我试着移动“镜头”时,才发现自己连最基本的“第三人称视角跟随”都没搞懂:镜头要么穿模到地图下面,要么晃得像坐过山车,根本没法正常看视野。

那一周我泡在B站和Unity论坛里,看了几十个“新手视角设置”的教程,把别人写的代码一行行复制到自己的项目里,再对着注释改参数,记得有个参数叫“镜头平滑时间”,我从0.1调到1.0,试了几十次,终于让镜头跟着“英雄”移动时,不会再突然“飞”到天上去,解决了视角问题,接下来是做英雄,我选了艾希作为第一个可操作的英雄,因为她的技能机制最基础:被动是“减速”,Q是“攻速加成”,W是“扇形箭雨”,R是“全图大招”。

做艾希的W技能时,我遇到了第一个大难题:怎么让箭雨的弹道和原版一样,是“扇形扩散”,而不是一堆直线飞行的箭?我一开始用“循环生成箭支”的方法,结果箭支要么挤在一起,要么角度歪歪扭扭,完全没有原版的流畅感,后来我在论坛上看到一个老玩家的帖子,他说自己做LOL复刻时,是用“角度偏移”来控制箭支的方向——先算出艾希面向的方向,再给每一支箭的旋转角度加上一个固定的偏移量,比如第一支偏-30度,第二支偏-20度,以此类推,就能形成扇形。

我照着这个思路改代码,改到第三天凌晨,终于看到艾希射出的箭雨,像原版一样呈扇形散开,击中野怪时还能弹出“减速”的提示,那天我在房间里跳了起来,把旁边的可乐都碰洒了——那是我第一次觉得,“自己做LOL”这件事,好像真的能成。

随着项目慢慢推进,我开始不满足于“复刻”,我想加一点自己的东西,原版的野区只有“红蓝buff”“大小龙”,我想加一个“随机野怪事件”:比如某局游戏里,暗影狼会突然“狂暴”,攻击速度提升50%,但击败后会掉落一个“可以召唤小狼协助战斗”的道具;河道蟹也会有概率变成“黄金河道蟹”,击败后能获得一个“临时视野全图”的效果。

为了做这个“随机事件”,我学了“概率触发”的逻辑,还专门给每个野怪加了“状态机”——普通状态、狂暴状态、黄金状态,每个状态对应不同的属性和掉落,记得做“黄金河道蟹”的掉落效果时,我想让它触发时,屏幕上弹出一个和原版“男爵击杀”一样的特效,结果因为粒子效果参数没调好,特效要么小得看不见,要么大得把整个屏幕都盖住,闪得我眼睛疼,我花了一周时间调粒子的大小、颜色、持续时间,甚至把原版的特效视频放慢,一帧一帧看它的变化,终于做出了一个像模像样的“黄金河道蟹击杀特效”。

做游戏的日子,是和“崩溃”反复拉扯的日子,有一次我改英雄的平衡参数,不小心把艾希的攻击力调得太高,结果她一箭就能秒掉满血的防御塔;还有一次我改地图的碰撞体,把草丛的碰撞范围改小了,结果英雄能直接“穿”进草丛里,完全失去了“卡视野”的意义,最崩溃的是去年冬天,我花了半个月做的“大龙坑”场景,因为电脑突然死机,项目文件损坏,打开后所有的模型都变成了紫色的“缺失纹理”提示,我对着电脑坐了半小时,差点把整个项目删掉——那是我第一次怀疑,自己是不是在做一件根本不可能完成的事。

那天晚上我翻出了以前玩LOL的截图,有一张是我和大学室友开黑,我们五个人拿了“五杀”,屏幕上的“Penta Kill”闪得刺眼,我突然想起,当时我们为了拿五杀,练了整整一周的配合,从技能衔接的时间,到站位的角度,错一点都不行,做游戏不也一样吗?我咬咬牙,花了三天时间重新做“大龙坑”,这次我不仅把纹理补了回来,还加了一个“大龙咆哮”的音效——是我自己用手机录的,对着麦克风喊“嗷”,再用软件调得低沉一点,听起来居然和原版有点像。

今年春天,我把做了一半的Demo发到了一个LOL玩家的论坛里,没想到收到了几百条回复,有个玩家说:“看你做的艾希W,和我玩的感觉一模一样,太感动了”;还有个玩家给我提建议:“可以加一个‘自定义符文’的功能,让玩家自己选符文的效果”,这些评论像燃料一样,让我又充满了动力,我开始每天抽出两个小时,根据玩家的建议改项目:加了自定义符文,加了“人机对战”模式,甚至加了一个“回放系统”——可以把自己的操作录下来,像原版一样放慢看细节。

现在我的Demo里,已经有了五个可操作的英雄:艾希、李青、盖伦、安妮、伊泽瑞尔,地图也基本还原了召唤师峡谷的布局,甚至连“防御塔攻击优先级”“小兵刷新规律”都和原版一致,前几天我找了两个朋友来测试,我们玩了一局“自定义对战”,我玩李青,朋友玩艾希,当我用“摸眼回旋踢”把对面的安妮踢到艾希面前,艾希接上W和R拿下人头时,朋友喊了一句:“太像了!就像真的在玩LOL一样!”

那一刻我突然明白,我做的不是一个简单的“复刻游戏”,而是把我对LOL的热爱,一点点揉进了代码里,我知道这个Demo离真正的游戏还有很远:没有匹配系统,没有皮肤,没有完整的剧情,甚至还有很多bug——比如有时候伊泽瑞尔的大招会“卡”在半空中,比如人机偶尔会站在原地不动,但那又怎么样呢?

上周我在项目的“页面里加了一行字:“献给所有在召唤师峡谷哭过、笑过、热爱过的人”,未来我可能会继续把这个Demo做下去,也可能不会,但这三百天的经历,已经成了我最珍贵的回忆,原来热爱真的能让人学会很多东西:我学会了写代码,学会了做模型,学会了调特效,甚至学会了在崩溃的时候,再给自己一点坚持下去的勇气。

昨天晚上我又打开了原版的《英雄联盟》,玩了一局艾希,当我射出W技能,看着箭雨散开的瞬间,我突然笑了——原来从召唤师峡谷到我自己做的游戏,中间隔着的不是三百天的努力,而是一份“我想把喜欢的东西,变成自己的东西”的初心,而这份初心,才是所有“好玩”的游戏里,最珍贵的那个秘密。

相关推荐

扫码二维码