序 #
最近刚参加完2026年的GlobalGamejam,回家休息了一整天,感觉精神重新振作起来了,现在差不多可以汇总和复盘下这次的Gamejam。
主题与思路 #
这一次Gamejam的主题是Mask,说到Mask,我理解到的是拉丁文词源Masque的引申含义,即伪装。
说到伪装,就会想到我一直在做的夜之城传说怪盗项目,之前就有思考过角色的伪装能力,所以就在想能不能做个关于伪装的游戏。
但最终,我还是否决了这个想法,因为这个游戏开发想法可能难度太大,而我这次正好刚换了新的游戏引擎在尝试,于是我便将游戏设计的思路转向更简单的玩法——推箱子。
和梦暮想了多个头脑风暴,最终选了其中三个灵感,做成了一个五关的简单知识锁玩法的游戏,这个游戏的玩法就是扮演将箱子推到特定的位置,但是箱子可能会伪装成各种东西,比如伪装成墙壁、甚至伪装成关卡本身,也就是说,这游戏基本有很多都是可以推的,隐藏的箱子,玩家本身也可以伪装成箱子。
灵感来源其实还有一个就是双马谜题,因为这个谜题的解题思路就是,一旦你看到谜题,就会形成一个固有的偏见,如果被困在这个偏见中,就无法解开谜题。
开发过程 #
开发过程感觉一路上总体来说是相当顺畅的,这次游戏开发,我能从这次gamejam学到的最多的东西就是,原来将游戏开发的Scope,核心动词精简到最低,竟然能这么容易完成游戏。
这下我明白为什么之前的游戏大多都完不成了,也许正是因为我的游戏Scope界定太模糊了,要么是浪费了太多时间在不必要的东西上,要么是游戏本身玩法的复杂度远远被低估了。
虽然夜之城传说我之前一直想做一个基于状态机且支持多人的怪盗游戏,但很可惜就是因为这个原因,加上我没有给自己对游戏的Scope做有效的限定,导致我的游戏一直都没法完成。
我的时间安排是第一天花了不少时间修bug和做关卡,尽量用最快的写法完成这些关卡并修好bug,第二天则开始绘制素材,我发现我绘画速度也不是特别慢,要快起来也是可以画得非常快的。
这一次gamejam,我一时兴起,连续画了三幅画,个人感觉还是蛮不错的。虽然本来还准备做个视差背景,可惜时间不够了,没法实现逻辑。
最后是用着提前用racket写好的幻灯片在台上展示作品,顺便邀请大家来体验我的游戏。
初次尝试Trial #
这一次Gamejam,我既是第一次全栈开发游戏,又是第一次初次尝试trial这个引擎。作为基于CommonLisp的引擎,虽然功能确实不够全面,设计关卡体验不够直观,还有待自制一个工具来改善trial的关卡设计。
不过,这个引擎我实际写代码的时候,发现它用起来各方面都比预期的还要舒服,也许这就是Lisp语言的魅力吧。
很多人可能只看到了Lisp语言难学、小众的表面,却看不到Lisp语言对写各类程序,特别是复杂的游戏系统都是降维打击。这门语言对编程生产力的提升,不是一般的效率增长,而是指数级的全面增长,哪怕AI时代,也依然需要Lisp来写出最优雅,最方便和快速的代码。
通过这一次的尝试,我也发现我不知不觉对熟悉Lisp语言了,总算是把Lisp最难的入门这道槛攻克了,现在看Lisp代码也感觉看得很舒服,很优雅了,不会产生恐惧的心理了。