Skip to content

Global Gamejam 2026 广州站 Review

Jam!

一年一度的 GameJam。

这次则是第一次线下开发,可能是太激动(?)也有可能是前几天半夜Coding着凉了,前几天其实有一些感冒。

无论怎么样,飞机落地之后见到了冰神,之后就基本上只剩下了激动的心颤抖的手了。

之后遇到了咸鱼鱼、可乐、Char和Terry老师,不得不说长发男浓度有一些高(

攻壳站的站点后还是很爽,虽然说空间稍显有限,但是还能摆的下一台显示器(然后我也是用上了,爽到爆炸)。

Dev

这次的主题是 Mask。头脑风暴阶段其实感觉还有一个非常好的Idea。冰神提出的一个灵感,大约是去年Refraction的精神续作,通过切换Mask来看到不同光线下的机关,不同Mask叠加可以看到不同的机关,然后在不同的滤镜下可以进行操作。但是后面发现这个其实更像 Filter,而非一种 Mask(遮罩)。

后面大家看到桌子上摆着一只夜鹭师傅,灵感就来了()考虑到我们队名也是魔鹭,便想到了这个非常神秘的《啥鸟?!》的灵感——考虑到夜师傅可以Cos不同种类的鸟,也是一种伪装(Mask),就以这个灵感来做游戏。

核心玩法,便是平台跳跃+解谜了。虽然我们第一天超级松弛,晚上八点钟没Coding然后跑去外面吃猪肚肠,第二天(周六)早上还悠哉悠哉吃了个早饭才回来Coding。

这次主程主要是我(和Gemini老师)。大一的时候,还非常不喜欢AI Coding,觉得它违背了人类的工匠精神,但是到后面发现,AI Coding其实节省了一些“非思考性”的工作,即查询编程语言语法、API调用查文档的工作,让人可以把更多的精力放在“思考”上面。AI并无法节约过多的架构性的思考,这也是软件工程这门学科存在的必要之处。

比如说这个项目的架构设计,我非常有先见之明地把3C拆成了不同模块——玩家的逻辑状态放PlayerState,输入和移动放PlayerController而非Player本身,然后切换能力的逻辑则使用了策略模式,把不同的能力封装成不同的ActorComponent,挂载在Player上面。这样一来,后续添加新的能力就非常方便了。虽然咸鱼鱼有点没看懂我的U++思路(x),他作为蓝图高手封装了不少Actor给策划用,我们并行开发竟然没遇到什么问题,也是进度管理的一大奇迹。

周六晚上,程序这边的工作就差不多完工了(基本核心玩法),但是十点多突然感觉有点做不完了(美术还没导游戏里面,关卡也一关也没搭)。当时我略微有一些极了,如果我能开发的快一点或许策划就能早点开始做场景了。但是那个时候盯了一天电脑,已经十分疲惫,把最后一点收尾工作搞完之后就去酒店睡觉了(。)

最后一天周日,还是睡到了九点多(),然后赶紧回来做开始菜单UI和一些特效(虽然最后特效最后爆了没效果),策划光速做完了十几个关卡,实在是神速,然后咸鱼鱼和策划进行了一早上的Debug和导入美术素材。

我感觉最爆的一集是,临近开始展示(大约是两点的时候,三点开始展示),我们发现啄木鸟破坏木头的能力突然坏掉了。我查询了一下,这件事情也是前两天的史山导致的。这件事情略显抽象,大约是这样的:我们的所有可交互物(按钮、门、可破坏木头)在C++类上是继承自BaseInteractable的,然后我当时脑子抽了,可破坏木头抽象了一个BaseDestructible类继承自BaseInteractable,蓝图理应是派生自BaseDestructible的,由于Destruct逻辑是蓝图先写的,就只能C++后声明一些NativeDestruct蓝图里面直接Implement这个,连到之前写好的函数里面。

问题发生在,木头在蓝图里面派生自BP_BaseInteractable了(而非C++的BaseInteractable,因为一些耦合的Reset逻辑),而啄木鸟的代码在C++侧,无法获取到蓝图的BP_BaseInteractable类(除非动态反射,但这个我从来没用过)。现在想来,主要是我当时设计架构的时候没有考虑到蓝图继承的情况,导致了这个问题。不应该抽象BaseDestructible类,而是应该C++声明一个接口 IDestructible,然后让蓝图去实现这个接口。这样一来,啄木鸟就可以通过C++接口调用木头的Destruct函数了,最后也在临近开始展示30分钟内用这个方法解决了这个问题。

总的来说,这次Jam还是非常愉快的。非常出乎意料的是,竟然在线下拿了人气第六!这实在是没有想到,归功于美术实力产能确实超级顶(大概画了四个角色Sprite,每个都有5-6个动画Flipbook,还有一些道具的动画、场景的TileMap),夜师傅的魅力还是太大了233

碎碎念

我有时候会去想,什么是开心的?我喜欢的事情真的让我很开心吗?

我现在知道,这些思考真的是无意义的内耗。去做,然后很开心,这就是开心的事情。比如说 GameJam,和朋友一起 Coding。

我很感叹的是,我选择了一条我喜欢的道路,我的专业也是我热爱的事业。虽然这条路并不容易,有迷茫,有现实的引力,但我也会坚持下去。

此时,想到了开模联的一位好朋友的寄语:“不必匆忙,不必火花四溅。”只需做自己,大抵这句话是此时最好的注解。