前不久,参加了学校游戏社团Nova独游社举办为期两周的GameJam,算是一段有点意思的经历,遂以本文记录如下。
GameJam是什么
GameJam是指游戏开发者聚集在一起,在有限的时间内合作创作游戏的活动。这种活动旨在通过短时间内集中精力,挑战创意和技术能力,创造出原创的游戏作品。
很多游戏公司都会举办GameJam来为新游戏寻找灵感和思路,游戏开发者社区itch就有个专门的GameJam板块(https://itch.io/jams),记录了所有最近进行的GameJam活动。
GameJam周期或长或短,长的一两个月,短的一两天,学校社团举办的这场时间不短,总共两周时间。不过因为种种事情忙碌,我投入游戏制作的时间大概不到三天,对我来说,算是一次比较短时间的GameJam。
我为什么要参加GameJam
对新奇的事物,我一贯保有兴趣去尝试,GameJam完全符合我的兴趣。
其次,之前接触过一些游戏引擎开发的内容,不过是一个人单打独斗,想借此机会,感受一下团队合作的流程。
最重要的是,我和我的好兄弟曾约定,当我做出一款像样的游戏时,他要出一期手书视频。我想看看当我达成这一目标时,他又会如何应对。GameJam正好给一个灵感和Deadline,Deadline才是第一生产力!
于是我在社团群开始招人:
主题确定
这期GameJam的主题是“逆转",看到这个主题,我第一想法是想到了B站up主不自由摄影师winga做的一期视频,故事大概描述了平行世界中,男主和女主不断奔跑,最终相遇。
于是打算做一个关于重力逆转的2d跑酷视频。
在我发布招队友信息后,很快一个策划和一个美术找上来组建团队。
起初,他们只是想找个程序来干活,对我的想法不怎么感兴趣,策划开始“大放卫星":
越讨论越抽象,策划甚至想做一个QQ农场或者部落冲突。。
最终,在我的竭力争取下,他们还是同意了我2d跑酷游戏的方案。
跑酷游戏拆解
拆解是一个策划行业的术语,意思是对游戏的各个系统和组成部分做解构。我这里以程序视角对游戏进行拆解。
跑酷游戏和经典飞机大战的游戏类似,虽然玩家视角下,主角在不断奔跑,但从游戏设计的角度来说,实际上是场景在不断往前移动而形成的一种视觉假象。因此,对于这款游戏来说,需要实现的功能点有以下这些:
- 角色
- 跑步动画
- 碰撞逻辑
- 翻转衔接
- 技能动画与碰撞
- 场景
- 地图块的生成和移动
- 障碍物的随机生成和移动
- 重力系统
- 碰撞逻辑
- UI
- 开始界面
- 死亡界面
- 角色技能状态
- 生存时间记录
- 音效
- 开始界面音效
- 游戏界面音效
- 角色技能音效
- 碰撞销毁音效
- 按钮点击音效
- …
因此可以看出,虽然一款看上去很简单的游戏,需要考虑和处理的细节也不少。以我的菜鸡水平评估了下,大致三天可以完成。
制作过程
主题修正
策划很快对游戏出了一个策划案,世界观背景大致是亚当和夏娃从上帝那里偷来了“重力的权柄”,逃到人间的平行世界祈望相会。
原本的计划是美工能在第一周时间内把基本素材做好,不过因种种原因,一咕再咕,无奈之下,我只好自己去寻找美术素材。
Unity商城素材虽多,但把“免费”的筛选条件一打开,可用的就寥寥无几。于是另辟蹊径,去找了经典童年游戏《死神VS火影》的美术素材。
得益于该游戏良好的二创社区生态,找这方面素材并不是一件难事,动作序列比较多,可挑选的余地也很充足。
于是把男主和女主设定为动漫死神里的黑崎一护和露琪亚。
有人可能会问,为什么得先定美术素材再做,难道不是做完直接换人物贴图就好了吗?实际上开发过程中,人物的大小、人物技能的判定范围,动画的速度都需要和素材相适配,如果调整素材,一系列工作都需要重新调整。
因此,如果无法如期拿到相关美术素材,就得根据新素材来重新设计。
程序设计
这个游戏涉及的代码量不少,本文也并不是技术分享帖,因此如果需要了解上述功能如何实现,可以移步此游戏的开源仓库:https://github.com/zstar1003/Reverse_Bleach
游戏行业整体看来是比较闭塞的,很多游戏作者并不会去开源他的代码,这导致遇到bug时,通过搜索资料进行处理颇为费力。
此次过程我将ChatGPT纳入到程序编写过程中,大概有60%的代码由它帮我完成。出人意料的是,它在这方面意外的好用:
唯一的问题是它无法返回图片,因此在一些涉及软件操作的部分,还是需要依赖经验去进行调整。
难度动态优化
仅实现上面这些内容,游戏整体还是颇为简单,为了让游戏更有挑战性,增加了两点难度上的调整和限制:
-
- 场景移动速度会随时间不断加快
-
- 技能限制:在男女主原世界中,只能使用一次技能,在位置颠倒后,男女主会丧失力量,无法使用技能,回到原世界后又会恢复力量。
最终成果
最终,做成了一款双人跑酷游戏,甚至为它做了一段短PV:
死神IP游戏《逆转尸魂界》全球首发实机PV
游戏下载地址(仅支持Windows):https://pan.baidu.com/s/15w-f1dpwMfkdc4P3RDjRHQ?pwd=8888
GameJam流程
两周限时结束,我拿着这款游戏去参加了GameJam的路演。
第一个环节是每一个队伍用5分钟的时间介绍自己的游戏内容。
看了下别人队伍做的内容,好多是平台跳跃游戏,风格类似《i wanna》,亮点不多,路演竟然长时间再讲背景和世界观。
还看到一组是用Renpy做的小说类剧情动画,我并不认为这样能称得上一款游戏。
有一组设计得还挺有意思,玩法虽然是平台闯关,但可以通过吃到重力宝石改变游戏的摄像机视角,这非常考验关卡设计能力。不过程序有点草率,视角转换没做摄像机动画,让人玩得有点晕。
剩下的是一些解密游戏,我对这方面不感兴趣。
路演结束后,是游戏试玩环节。社团成员到不同的摊位上去试玩别人组的游戏,每人两票,可以投给喜欢的游戏团队。
我的游戏处于一个非常尴尬的境地:有的人喜欢解密类型,对动作游戏不感兴趣;有的人玩了下,尝试一个人操控两个角色,觉得太难。从路演就可以看出,和我游戏兴趣类似的人还是不多,因此,得票惨淡也在情理之中。
总结
这次GameJam经历让我产生了一些思考,记录如下:
- 1.游戏行业中,策划的地位有点类似互联网行业的产品经理。如果策划只会头脑风暴,光说不练,不容易生存。之前看到凉屋游戏就明确不招“专职策划",策划必须得是多面手,比如,出完策划案之后,还可以继续去做关卡设计和UI设计,而不是只是给程序“加油打气”。
- 2.即使是一款简单的游戏,如果引入新的规则和设定,也需要做引导教程。因为我这款游戏的操作按键不多,就没加教程提示。于是我惊奇地发现,在游戏试玩时,玩家看到标有F字母提示的技能时,并没有想到去按F释放技能,而是本能地去用鼠标点击。因此,如果不是利用现实世界存在的固有规则,新的规则再简单,也需要设计引导。
- 3.游戏内测很重要。我做完这个游戏之后,先发给策划进行测试,他反映障碍物出现得太规律,导致游戏前期过于简单。起初我以为是个别感受,没及时调整,后来给更多人测试后发现这是普遍现象。因此,游戏正式发布前,需要进行内测,去发现开发者无法预料的问题。
合作招募
如果你看到这里,说明你对做游戏也有浓厚的兴趣。
一款游戏如果需要一定耐玩性,一是具备roguelike的随机性,二是可以联机游玩。因此,我打算在今年寒假期间,开始做一款本地联机的卡牌游戏。如果你有美术设计天赋或Unity游戏开发经验,且在这个假期中时间充裕,可以直接和我私信,一起做有意思的游戏。