脖子僵硬得像块石头,感觉脑袋都要从肩膀上掉下来了。这就是写代码的代价吗?或者说,是做游戏的代价?我揉了揉发胀的太阳穴,盯着屏幕上那个像素点组成的“小绿人”,它正站在悬崖边上,一动不动。这已经是连续说真的天盯着这个“小绿人”发呆了。

这周的任务是把那个还在婴儿期的2D平台跳跃游戏打磨一下。做游戏这事儿,刚开始是当上帝,觉得自己无所不能,想怎么创造世界就怎么创造世界;但做了一段时间后,你就成了修理工,整天跟各种莫名其妙的Bug打交道。下午的时候,我遇到了一个特别让我抓狂的问题。那个小绿人,只要一跳到那个特定的红色方块上,就会像被施了定身咒一样,直接卡进墙里,然后顺着墙壁往下滑,说真的像个滑滑梯一样掉下去,再也没起来。我试了十几次,每次都是这样。
我开始怀疑是不是显卡驱动或Unity引擎出了什么问题。手边的咖啡早已凉透,脑子里却像装满了待解的谜题,我反复检查代码,碰撞盒的尺寸对不对?物理引擎的参数是不是设定得太离谱了?折腾了一个多小时,最终,目光锁定在了那关键的一行代码上。
“原来是因为我在跳跃判定的时候,没有把重力加速度暂时归零啊!” 我恍然大悟,那种感觉就像是你找了半天钥匙,结果发现它一直插在锁孔上,只是被窗帘挡住了。我赶紧把那行代码删掉,重新跑了一遍。随着“咚”的一声脆响,小绿人稳稳地落在了红色方块上,甚至还在上面蹦跶了两下。
那一刻,心里那块悬着的大石头终于放下了。尽管只是一个小小的逻辑调整,但看着角色在屏幕上活泼地动起来,那种成就感真是难以言喻。即便外面暴雨如注,屋里只有电脑风扇的嗡嗡声,我仍感到无比温暖。然而,这份快乐没持续多久,新的挑战又接踵而至。
中午随便煮了个泡面,热气腾腾的,我却只顾着盯着屏幕,筷子都快插不下去了。老婆回来后,看到我这副魂不守舍的样子,笑得直不起腰,说真的,我比上班还累,但眼睛里却闪着光。 deleting 按钮,打算明天重新设计一套UI。
她说得没错,做游戏确实挺辛苦的。眼睛干涩,腰酸背痛,有时候为了一个音效细节能纠结一下午。但每当想到以后有人打开游戏,操控我创造的角色去闯关、冒险,体验我设计的紧张或放松时刻,就觉得所有辛苦都值得。现在天已经黑透了,窗外的雨还在下。我关掉编辑器,把那个小绿人暂时”关”进了存档里。
虽然进度条只走了一小截,但至少今晚,我可以睡个安稳觉了。明天还要继续修那个总是跳不过去的坑,还有那个怎么也调不好的跳跃手感。不过没关系,反正我也习惯了,这大概就是程序员的浪漫吧。