去年七月,我的世界突然就安静了。不是我主动想安静,是老东家那个狗屁项目彻底黄了,我这种拿高薪的老人自然就被“优化”了。当时我气得差点把笔记本砸了,在家窝了快两个月,每天除了帮老婆带孩子就是对着天花板叹气。
那种感觉,怎么说?就像一个天天开高速的人,突然被要求在小区里倒车。心里空得发慌,感觉自己好像废了。我老婆看我颓废得不行,就跟我说:“你不是老说以前自己写代码多开心吗?现在有时间了,别光想着找工作,自己弄点东西出来,找回点乐趣。”
她这句话一下子点醒了我。找工作是正事,但手不能停,人不能锈。我决定要搞点实打实的东西,不为钱,就为了证明我这双手还没退化。
我的猪公主:项目立项与初期摸索
搞什么?我以前是搞大后端和架构的,离前端和游戏挺远的。既然是找乐子,那就搞点我女儿喜欢的。我女儿最近迷上了一部动画片里那头粉色的小猪,天天嚷着要玩有那头猪的游戏。我一拍大腿,行,就搞个“我的猪公主”!
目标定了,是个横版过关的小游戏。我翻出了我大学时候接触过的Unity,那工具链好几年没碰了,跟新的一样。我强迫自己从最基础的组件开始捋。第一个星期,我光是研究怎么让那头“猪公主”动起来,就耗掉了我大量的咖啡和耐心。
我的实践记录是从零开始的:
- 第一步:资源获取与整合。 我知道自己画画不行,所以就在网上扒拉了一堆免费的像素风素材。猪公主的形象,我稍微修改了一下,让它看起来更粗糙、更像素化,省得涉及版权问题。
- 第二步:基础运动框架搭建。 我硬着头皮写了主角的移动、跳跃、冲刺这三个核心脚本。那猪公主像个醉汉,跳起来软绵绵的。我调试了整整两天,才让它有了点重力感。
- 第三步:碰撞系统的噩梦。 真正的折磨从碰撞开始。横版游戏,主角和地面、主角和怪物之间的判定,简直就是个玄学。我反复测试,不断修改刚体属性和碰撞器的尺寸。有一次因为一个参数写错了,猪公主直接从地图里穿下去了,气得我差点把屏幕砸了。我狠狠地逼着自己,把官方文档里关于2D物理的部分嚼烂了,才算把主要的Bug清干净。
这个过程是艰苦的,但也是快乐的。因为没有老板盯着,我完全掌控了这个项目的生死。每一个小小的实现,都让我感觉找回了当年刚接触编程时的兴奋。
游戏介绍的打包和更新地址的处理
项目跑起来了,虽然内容简陋,但至少能玩了。既然要分享实践记录,那成品就得拿出来见人。我开始着手准备《我的猪公主》的游戏介绍。
我找了几个朋友帮忙测试,他们给了我一堆奇葩的反馈。我把这些反馈整理了一下,用最通俗的话,写了一个非常简单的介绍文档,主要就三点:
我的猪公主_游戏介绍:
- 这游戏很简单,就四个键:左右移动、跳、冲刺。
- 目标是穿过充满陷阱的厨房,去拯救被困的“王子”(是块烤肉)。
- 全程像素画风,操作粗糙,但很解压,别指望它是什么大制作。
然后就是更新地址。这是最让我头疼的地方。我不想把时间浪费在App Store或者Steam那种复杂的审核流程上。我做这个是为了分享经验,不是为了卖钱。
我做了一个最粗暴的决定:我把游戏文件打包压缩,直接上传到我个人搭建的一个小服务器上,给了一个最直接的下载链接。至于更新地址,我根本就没打算频繁更新,如果有了大的版本修改,我会在博客里重新发一次分享,然后直接替换掉那个压缩包文件。这种方式简单粗暴,但对我这个小破项目来说,足够了。
我为什么敢这么随便?
因为我做这个项目不是为了KPI,是为了我那个被“优化”掉的尊严。我用我的双手证明了,即使离开了大厂的豪华配置,我一样可以从头到尾拉起一个能跑起来的项目。我一边继续面试,一边维护着我的猪公主,这种充实感,是以前在公司里搞那些虚头巴脑的PPT时,绝对体会不到的。
这就是我这回实践的全部过程。东西虽小,但五脏俱全,每一步都是我自己踩坑爬出来的。