这是我独立完整开发的第二个游戏,距离上一次这么开发游戏过去了差不多一年。
之所以要做这个游戏,原因之一是年初时朋友向我推荐了pico8并且慷慨地赠送了我正版的软件,我在感激之余决定用pico8做一款游戏出来,但是从年初到七月份因为各种事情一拖就是半年,实在过意不去了;
之二是朋友推荐时的其中一个理由是不同于其他更大型更全面的游戏引擎,pico8的api比较有限,需要开发者从更底层来编写游戏,而且由于pico-8本身是一个虚拟戏主机,把游戏开发的适配工作限制得更死,它的分辨率只有128x128,可用的色彩最多只有32种,默认的精灵尺寸仅为8x8,音乐也只支持自带的编码,但这些限制让游戏的规模变得很小,工作量也就大大降低。总而言之,就是pico-8很适合单人或者微型团队,快速地做出完整的游戏原型。
所以我在上次使用了godot开发游戏之后,打算这次试一试pico-8。
这次游戏的玩法其实不是新点子,而是复刻了我和朋友很多年前参加LD时做的一款游戏《bulletJam》,当时的主题是“running out of space”,我和朋友就做了一个子弹和敌人都如同果酱一样,会堆积在游戏场景中,最终让玩家的活动空间越来越小的射击游戏。
因为这次的主要目的是学习pico-8,所以我没有打算一开始就尝试新的游戏,而是重做以前的老项目。
不过因为当时的自己对于游戏制作还完全没有经验,所以现在回头看,感觉不仅模仿痕迹很重,而且堆积效果和游戏流程都做得很仓促,属于虽然好歹做完了,但依然有很多缺憾的项目。
而且我当时只是负责美术的部分,这次打算完全独立开发。所以希望尽可能弥补一些当时的缺憾。
于是在7月底我开始了开发,一边看pico8的官方文档,一边测试各种api,让我意外的是pico8的学习门槛格外得低,我几乎在第一天就掌握了它的很多常用函数,现在回头看时,倒是很多pico-8使用的lua语言的语法让我花了不少时间来学习。
在学习了基础的移动和按键反馈后,最先要实现的就是子弹的堆积效果了,这里pico8的低分辨率限制就变成了优势,我可以完全针对每一个像素做堆积效果,而不用太过担心性能,因为总共也只需要处理128x128个像素点。虽然中途还是出现了一些需要优化的情况,但我确实第一次体会到了把脑子里像素级别的算法实现在画面中的开发。
其实关于这个堆积的算法,中间做过好几个版本,目前在游戏中实现的并不是“最拟真”的效果,而是会让堆积的粒子呈现出中心放射状的效果,我觉得这样的画面会让游戏在后期时呈现出一种很有趣的尖刺丛生的感觉。
在堆积效果攻克了之后,游戏的开发变得很顺利,敌人和游戏主流程的开发几乎只用了一周就做完了,很多代码甚至只写了不到一个小时就实现了,pico8的小规模开发的优势在这个项目里展现得淋漓尽致。
最终我完成了整个游戏,并且打包上传了itch.io和机核网的游戏库,相比LD版本,这次重做的版本把画面换成了8位像素风,敌人和玩家全都简化成了像素点和圆形,由于pico8的操作限制,原本的鼠标控制准星改成了键盘或手柄的按键控制方向,并且显示准星线,同时增加了一个反色的场景,让已经堆积的子弹重新射向主角,使得游戏在规则上允许玩家无限玩下去。
这次的开发让我对pico8的好感度大增,虽然之前用Godot也能感受到它对个人开发者的友好,但pico8的小规模所体现出的快速成型,和像素级别的画面控制,让我可以最大程度地把注意力放在游戏的玩法和流程设计上,我开始想要继续用pico8制作更多的小规模的,侧重玩法的游戏,感觉对于积累玩法设计的经验会很有帮助。
评论区
共 4 条评论热门最新