欢迎光临散文网 会员登陆 & 注册

CiGA Game Jam 2023 经历分享、过程记录

2023-07-20 03:15 作者:夜月千秋  | 我要投稿

本文写于2023-07-16

整理发布于2023-07-19

本文主要偏记录性质。

文章较长,不计算大量图片文字全文也有7000+字,自己随便写写,排版和文案比较混乱,见谅。

因为是极限开发,时间较短,这次做的时候细节基本主要靠沟通,文中的文档截图其实只记录了一些关键部分,大部分设定还是靠语音讨论决定的,可能会有和实际作品有出入的地方。


以下正文

参加了CiGA Game Jam 2023

↓本次参赛作品链接↓


GameJam特指短时间内极限游戏开发,CGJ是48小时的

CGJ流程:

第一天下午17:00公布主题

第三天下午16:00截止开发,23:59截止作品和演示视频的提交

本次CGJ 07-07开始,07-09结束

找团队

2022年一个人solo参加,大约花了4个小时进行构思,21:30左右开始动手开发,第二天晚上就把核心玩法开发的差不多了,第三天主要就是增加音效音乐、开始界面、帮助界面。

但是一个人参加,所有的工作都得自己来,外加自己程序也是个半吊子,做地板和碰撞的时候踩了不少坑,多花了很多不必要的时间,到第三天的时候就感觉很疲惫了,也没有精力去思考作品的不足,最后中午就开始录视频提交了。很蠢的是那个时候居然没想着剪辑视频,可能是受限于当时的眼界吧,我就记得录了好多遍视频,最后选了一个录的最好的提交了。今年则只录了两遍,然后两个视频各挑了一部分剪辑完成。


今年仔细衡量了一下,还是觉得找个队伍比较好,自己一个人能力和精力实在有限,另一方面也是想看看一般大家是怎么在线上进行这种极限开发的合作的,当然找不到合适的就打算solo了。

于是提前了四五天在活动页面上挂了个队伍,找程序大佬合作。

结果到比赛前一天晚上,07-06也只有1个程序找我,还咕咕咕了。只好去试着找找其他队伍,但是不太想找团队里已经有策划的,就把CGJ活动页面上所有的队伍都翻了一遍,有程序没有策划的团队只有3个,留了联系方式的只有2个,还是缺程序或者缺美术的比较多。

毕竟是个人都能当策划,都能自称策划,但是程序美术是需要实打实的技术的。

而且这种48小时的开发比赛,程序能顺利开发完就不错了,通常很难有数值发挥的机会,关卡也是只有很少的时间可以去做、去调,毕竟得先等程序开发完功能嘛。

我实在是想象不出来,那种三四个策划的团队,在脑暴阶段结束确定了核心玩法之后,能负责哪些工作。一想到自己作为团队的一员,却出不了多少力,就有种划水混项目的感觉。

因此,才只愿意找没有策划的团队,一个策划应该是足够了的。


找的第一个团队,有2个程序1个美术,人员配置很符合我的想象,我也很好奇两个程序之间是怎么合作的。

发送QQ好友申请,并在验证信息里简单介绍了自己。通过,对方是程序小莫,给我介绍了他们团队的技术栈、节奏、往期作品。“社畜队伍,GamJam节奏一般都比较紧张,全天连麦,会干到晚上凌晨吧,不会通宵;参加过很多届Jam;技术栈Unity”

我直接表示我没合作过,了解了下情况,他们一般也是一起讨论,然后策划负责做关卡,调数值,还表示我不开unity也行。不过后来的开发过程明显让我感觉到,策划不会引擎咋行嘛,太拖后腿了,还好以前工作的时候项目用的unity,虽然近两年没用了,也不太会,但是基于后来对UE的学习,上手非常快。可以说如果我真的没开引擎,这次作品很难顺利的做完,至少不会有现在视频中展现的完整度。


之后下好了unity,下了个unity hub里有的示例教学项目,找了个unity教程看了几分钟,就去忙着弄副业了。

只能说这次巧了正好副业出了点问题,解决完副业问题后,已经是第二天7号下午,完美衔接17:00 CGJ公布主题。

本来是打算乘着这半天时间学习一下unity的,熟悉熟悉,跟着b站教程做个小demo试试的,能学多少是多少。


贴个队伍介绍

策划:我

程序:小莫、泡面

美术:坑仔

第一天

17:00,主题公布

本次主题为touch,只有5个字母,视频中也没有什么多余的信息,可以说是参赛者任意解读题意了。

公布主题后,团队群里没有动静,因为都是社畜,还在上班。

于是开始一个人构思。

先从词意解构开始,百度查词典,然后开始自己的解构。

虽然感觉最后没怎么用上这个词意解构,但还是写出来备用。


开始脑暴,真的就是天马行空,想到和touch搭边的就记录下来,有类似的有点印象的游戏也记录下来,这个过程花了大约2.5个小时。

3个比较具体的想法。

搭边的类似的小游戏10个,算是作为保底方案。

撸猫摸鱼,则是作为整活备选,但去年整活的人有点多,不出意外今年整活的也很多。事实证明整活的确实多。

20:00 开语音,团队4人,1策2程1美,先互相做了下自我介绍。

随后就是头脑风暴。

因为其他三人都是社畜,刚下班,感觉是没有思考过的,所以我选择先沉默,等他们脑暴差不多了想不出什么新东西了,我再把我记录好的想法分享出来。

其中他们提出了两个比较有意思的想法。

一个是小时候玩过的游戏,但是我没有玩过,有点类似木头人的进化版,具体规则记不清了,大概就是守充电桩的游戏,两家对战,然后人需要充电,离开充电桩后会耗电,也就是计时到了就不能行动了。

还一个是操控物体自由落地,按住手机屏幕来停住,遥感来控制角度,下落躲避障碍到目标地点。

之后我分享了我写好的脑洞,第二个具体想法得到了一致好评。


21:00 各自闭麦继续发散思维,都没有给出什么比较好的点子,最终决定围绕第二个方块世界、吸附操作的游戏,来进行深入思考。

22:00 我自己扩展了一下方案二。

22:30 一起讨论,确定了最终设计。

23:30 程序新建项目就睡觉去了,第二天早上起来再战。

考虑到程序开始搞核心玩法的时候,我也没啥事干,选择尝试先自己设计关卡。

从来没做过这类型的关卡,只做过数值向的关卡,考虑到解谜类型,决定先尝试下逆推,从终点开始设计,倒着玩游戏,然后根据操作过程和玩家的移动路径来设置地形和障碍。

程序还没做功能,所以先自己做做关卡原型。

可选方案有:

  1. UI设计软件,用拼UI的方式做,例如UMG,或者Axure

  2. excel,用表格的一格替代方块

  3. 用UE5的TileMap做


选择先用excel来尝试。

开始的时候做的感觉还挺顺手,但是随着设计的进行,关卡变得复杂了起来,大约做到十几步的解密拆解时,就明显感觉做不下去了。每再设计一步,都得同步改场地形状,而且有可能会和之前设计的步骤地形要求有冲突。以自己的水平,真的很难凭借感觉去想象太多部操作,而且在纸面上做,很抽象,远比在编辑器里自己直接上手玩要费脑子。

可以想象一下,好比你在看一个你根本没玩过的游戏的攻略,给你一个关卡说明,然后凭借这些现有的东西自己去写关卡的攻略。

而且最开始设计中是包含了开关、踏板、门的,原本以为这三个最基础的解谜要素程序可以做完,但是并没有。

其实这也挺矛盾的,如果我继续设计下去,但是最终程序却少做了一些解谜要素,那其实这些关卡也是很难用上的,可能关卡还得重新做。

level 3-1的前期部分设计原型

做游戏有点兴奋,03:30睡觉,第二天10:00继续战斗。

第二天

仔细衡量后,决定放弃excel做原型,改用现实中的小道具来做纸面原型,通过拍照的方式记录关卡逆推过程。

这些小道具可以做纸面原型,还可以用来替代桌游缺少的小道具,还是比较实用的。

先拿胶带把小方块拼成对应的俄罗斯方块,并在纸上画了地图格子,用扁方块代替地形,这样移动拼好的方块就可以模拟关卡了。

但是因为道具太小了,地图又需要比较精确,实际上操作起来很容易误碰,做地形倒是方便了,移动玩家却很难受。总是要分心去仔细操作,避免因为移动玩家碰乱了地形,搞得我也没办法静下心来设计关卡。

于是重做第二套纸面原型,改用筹码替代地形,自己剪了纸片做成玩家和对应的俄罗斯方块。

这下移动倒是方便多了,感觉用起来勉强还行,但是因为整体体积放大了很多,画地图格子需要非常大的纸,哪怕2张A3都不够拼原来做的那一部分的关卡的。而为了方便思考,做关卡时好用,地图格子还是得画的精准一些,自己偏偏手上又没有足够长的直尺,画格子还挺花时间的。

受限于工具,做一张A3地图怎么也要花上20分钟,而按照现在的设计情况,起码也得6张A3拼成的地图才够大。这样一来,光是前期准备工作就要花上2小时了,而且用起来效果也有限,还是略显抽象。

取舍之后,决定先做些外围工作。这时才看到群里小莫在说让我找音效,就去网上找合适的音效去了。

搞了3种原型合计花了差不多5小时,找音乐音效2小时。

这时候已经快是晚上了,程序都已经把基础玩法做的差不多了,地形已经可以挖洞造墙了,玩家也可以吸附方块和移动了。

打开引擎打开git,更新项目。

测试发现我生成地图以后不能移动,小莫也是,但是之前测试的时候是可以移动的。这时候就得感叹会点引擎和代码的好处了,很快我就发现是因为做地图的泡面做的工具生成地形时,会默认给每一个格子都生成对应的object,并为其设置地板类型,但是做移动的小莫并没有在移动的代码中允许地板类型的方块上移动。

这下好了,关卡原型不需要了,直接进项目做就行了。

照着之前做好的那部分关卡原型,复制场景快速复刻了下,这时发现没有旋转功能,玩起来还是非常抽象,很难凭借想象去进一步设计关卡。

就差个旋转了,小莫应该很快就搞定了。想了想自己用纸面原型做关卡的效率,性价比太低了,不浪费时间,直接开摆,去打游戏。

过了差不多1小时,小莫把旋转搞定了。这时候再进场景编辑,可太有感觉了。

再之后洞和下落逻辑也有了。


之后就是策划也加入到工程开发中,正常项目开发流程了。过程中也遇到了一些问题,就不详细写了,列个list。

  1. 切了新场景,旧场景无法进行玩家移动,因为旧的场景少摆了一些预制体,上面挂有脚本,是必须要有的逻辑部分。沟通稍稍有点问题,换场景没有通知,但是几分钟就发现问题解决了。

  2. 我只在我本地修了移动判断,没敢提交,结果小莫反馈本地更新完后无法移动,其实我之前就在群里说过这问题了。小莫让我大胆提交。

  3. 泡面做的编辑工具,编辑完场景后,场景不会提示需要保存,保存场景也没有用,原因我不太清楚,反正就是直接改了数据但是unity不知道场景有变动,我一直没发现,害我好几次做完关卡发现数据莫名其妙还原了。小莫表示我随便改一下场景中的任意object的数据,再保存场景就可以正常保存了。

  4. 小莫表示修复了这个不提示保存的bug,测试没问题。

  5. 第三天做着做着,发现又有这个bug了,不提示保存,需要手动改场景内数据再保存来触发保存场景,又被迫丢失了做好的关卡数据。这个问题到比赛结束、本次项目归档了也没有解决。

  6. 地形中每一个格子都是作为单独的object处理的,编辑工具中直接在场景里隐藏了这些格子的对象。这使得我无法在编辑地形的过程中,得知我当前编辑的格子的坐标信息。待补充

  7. 经典的编码格式问题,使得git中和某些地方显示为乱码

  8. 旋转后再吸附方块,吸附的瞬间会还原其他方块的旋转,也就是rotation的值。

  9. 地形外面没有围墙,需要程序自动生成一圈围墙。

  10. 地形中,生成洞和删除格子,逻辑上都是删除对应的object,但是地板是在地形初始化的时候生成的,删掉其中的object就加不回来了。而重新初始化会丢失配置好的地形数据。随后泡面加了个功能,选中格子,在格子周围生成地板。

  11. 生成门时没显示外形,成了空气墙。


处理完这些问题已经是凌晨3点多了,4点小莫打了个包,试玩感觉还可以。

第二天结束时的关卡场景

第三天

进入第三天,因为前一天睡得晚,第二天我11点多才起来。小莫他们起的早,但是下午也睡了一会儿。

小莫开发非目标物体的吸附逻辑。

我则是基于现有的逻辑,先做这部分的教学关卡。

坑仔优化美术资源,加点场景背景,给各类型方块做点外观区分度。

编辑工具泡面做好了编辑撤回的功能,但是并不能用,一点整个地形的数据就全乱了。

泡面中午开始就不见了,到最后正式上传也没出现。

下午吸附非目标物体做好了,于是赶紧把吸附用上,给level 3-1 加了几个占空间用的洞,再做个非目标物体的教学关卡。


这时感觉大家都有点干劲不足了,毕竟大家昨天都肝了一天,今天也是起床肝到现在,其他成员又都是社畜。

小莫表示晚上要6点要出门,而且本来CGJ开发也是下午16:00就截止了,只是线上可以拖到23:59上传作品。

于是衡量之后,决定放弃开关、踏板、机关门的制作,选择利用剩下来的时间打磨一下游戏的细节。

我这边先列了个list,包括最终要做的关卡、以及打算补充的细节功能。

小莫加统计逻辑、修bug、加选关,坑仔做UI、加音效。

这时候就感觉策划猛猛发力的时候到了,疯狂列list指派任务,另一边还在光速出关卡,跑游戏的时候看到UI没对齐的、锚点不对的,也会去顺手调一调。

最终做的视频中的关卡,除了3-1都是最后一天下午抽空一口气爆肝的,而且还给3-1加了些新东西。

视频里呈现了8个关卡。其中,3-1不算原型里花的时间、仅仅在编辑器中也花费了足足3个多小时,但其他7个关卡加起来只花了大约2小时,其中2-2花费时间较久,大约1小时多点。

为了加速,自己去拼了游戏界面的统计UI和关卡名称UI,简单帮挂个脚本,建好变量,设置下关卡名称,其他不会,赶紧催小莫帮忙加。

硬是把小莫拖到19:00,感觉需要程序做的东西都差不多了,最后就是自己优化细枝末节了。

之后项目就彻底没有程序大哥坐镇了,只剩坑仔和我了。


坑仔还做了个游戏封面、开始界面的背景、游戏Icon,我则是去跑一遍关卡,修关卡跑不通的bug。

原本给自己定的deadline是20:00,倒是准时准点打了个包出来,但是看了眼b站,当前审核快速,预计10分钟内审核完毕。考虑到去年早早交卷了,就继续凹一凹细节。

回想去年CGJ玩别人的作品的时候,最痛苦的就是别人的游戏没怎么在游戏内说明怎么玩的,我挨个下了游戏直接玩,却不得不去看视频才知道怎么玩的。

于是决心在开始界面后、选择关卡前,再加个游戏说明的帮助界面。

在拼帮助界面UI的时候,是直接拿坑仔前面做好的UI复制粘贴改改做出来的,逻辑的代码也是复制的小莫写过的一些类似的东西,直接改改就用的。结果不熟悉unity,不知道UI的自适应大小在哪调,做了开始游戏界面跳转到帮助界面的逻辑,本身功能没啥问题,但是引擎一直在报警告。

幸好坑仔也懂不少程序,音乐音效都是坑仔加的,这些问题也都解决了。


21:30,正式打包,准备录视频。

结果打包几次都失败了,好慌,又没有程序坐镇。还好静下心来看一眼报错,只是命名空间的问题,改了下顺利打包,有惊无险。

录视频的时候又发现一些bug,修了修。

这时不得不提,unity轻量化是真的香,打包大约需要15-30秒,非常快,而且打出来的包只有70M,压缩包只有34M。

unity打包也很简单,没遇到什么坑,就是简单确认下打包配置,直接点build就行了,也不怎么需要程序帮忙。

这里还出了点小插曲。因为最终上传作品的时候通常还要附带可执行游戏文件的,结果不知道为啥打包失败修复了之后再打包的压缩包有70M,自己又没去看原目录的文件大小,只在意传到群里的压缩包大小。搞了半天是因为那时候顺带给项目文件夹更换了正式的游戏名称,添加压缩包的时候又勾选了添加并更新,所以压缩包里有2个包,才使得包体体积翻了倍。

22:10,彻底结束,最终封包。

之后就是录视频,剪辑视频,写游戏简介和视频简介,上传视频。

半小时搞定了这些,审核只花了1分钟,可能是AI审核?

最终视频22:43发布。

数据看着还行,其实都是朋友点赞投币的。

游戏名则是很简单粗暴,没花时间去想了,因为CGJ主题是touch,咱这个是方块世界,所以直接就叫《Touch Cubes》。

很巧这时候小莫回来了,CGJ上小莫是队长,作品还必须队长提交。

上传作品、游戏下载链接、b站视频链接,贴一下游戏简介,完美收工。

小总结

参加比赛的人很多,但是观众很少,大部分观众也都是比赛参赛者,算是业内人士的自娱自乐,给大伙提供一个平台和机会去组队做游戏。

就像CGJ官网介绍里说的那样

这里是一个不断产生惊喜、趣味和创新的地方,这里是发现更多有趣和有能之人的地方;这里会是你尝试创作的起点,也会是你磨练自己的训练场,更是你邂逅更多同好的集合地。

但体验体验极限开发也不错,实打实的和别人合作做个项目,这种结识的朋友会是更可靠一些的人脉。而且很多小队会把CGJ的作品完善后发布到各个平台,甚至重做打磨之后上架平台。

而且可以以比较小的时间代价去给自己的履历增加一个小项目,能给简历增点光呢。


极限开发主要还是靠语音沟通,文档只能去记录一些关键信息,很多细节即使你写在文档上了也不一定能保证团队成员都看到都同步到信息了,而且毕竟时间短、人少,设定可以大家一起讨论决定。这种开发节奏实际体验下来,感觉是真的效率。


做关卡的总结

第一次尝试做关卡,挺好玩的,也感觉到关卡是个有迹可循的东西。

只是可惜做的时候在纸面原型上浪费太多时间了。不得不说,编辑器还真得会用,而且得熟练点,能节约很多时间,也方便去设计。

实际运用中,纸面原型和编辑器哪个更方便,肯定是编辑器,如果不是,那就应该考虑是不是编辑器用得不对、用得不好,或者让程序帮忙做点小工具来提高使用效率。

纸面原型还是主要用在程序方面没有可用工具时使用,或者在程序开发太花时间时,用来简单验证想法和可玩性,而不是去设计关卡。


像这次这个游戏,后面如果要做更多关卡的话,大概就是先列出所有可用的解谜元素,然后往下划分去列出解谜技巧和用到的对应解谜元素。再列出关卡的侧重点,注重华丽的地图、解谜难度或是,列出不同的地图规模、预计通关花费时间。最后,基于解谜元素、解谜技巧、关卡侧重点、地图规模、通关时间,进行排列组合,依此来进行关卡设计。

关卡的顺序安排的话,前期可能得凭借体验慢慢调,保证合理的难度曲线、解谜元素开放速度。对于新元素和新技巧,需要给玩家简单的关卡先适应。大关卡和小关卡、困难关卡和简单关卡,最好交替安排。

如果关卡够多,可能还得在关卡选择界面标识出该关卡的难度和预估花费时间。

因为关卡没经验,以上思路纯属个人猜想。


后续打算

本次CGJ作品,自己个人确实比较满意,其他几个人也比较满意,所以后面可能会整个重置版上架taptap或者steam。

啥时候出?在做了在做了。

个人经历分享,随缘写随缘发,发出来就算成功

封面图 画师——日下氏(ゆっきー)  twi:@yukkieeeeeen



CiGA Game Jam 2023 经历分享、过程记录的评论 (共 条)

分享到微博请遵守国家法律