开篇的絮叨
这一次的booom覆盖到了整个十一中秋的连假,刚刚参加完上一次7天冲刺赛意犹未尽的我非常的想要再参加一次。
可能是今年的十一是黄历上非常好的一段日子,也可能是新人们都想趁着大家放假收集更多的祝福,也可能是单纯的巧合,选择在这一段时间结婚的朋友还挺多的。所以我的假期由参加一个婚礼开始,经过了一段美妙的旅行,由参加另一个婚礼结束。一段美好,混乱,缺少睡眠的不知道算不算一个假期的如梦境一样的日子,落下帷幕,我坐在朋友婚礼的现场,趁着等待婚礼开始的时间,写下这些文字。
不是婚礼现场,但是觉得这个亭子挺好看的
久违的单人Jam
很幸运可以通过Jam认识现在一起做独立游戏的工作室的队友们,让我有机会可以做一个人远远无法想象的规模的游戏。组工作室之后的Jam大多都是工作室内再组队或者集体参加。这次有点特殊,Jam时间内的几乎所有的行程都早已安排好,朋友的婚礼不能错过,早已预定的旅行不能退钱,但是我还是非常强烈的想要参加比赛。鉴于我的时间安排情况,为了不坑队友,这一次久违的选择了一个人参赛。
令人遗憾的彩票站
自从脱产开始制作独立游戏,关于经济的压力时常的跳出来刺痛一下我。关于如何赚钱的各种不切实际的想法也总是伴随着焦虑一起乱蹦。
在两个月之前,从快递驿站取了快递的我听着火线导读的节目回家,经过小区的“商业中心”,我忽然产生了一个疑问:为什么这附近从没有见过彩票站?一边想我一边拿出手机搜索了最近的彩票站。竟然没有一个距离合适方便前往的选项。我当即看上了一个贴着出租的门市房,我非常坚定的相信,在这个位置开一家彩票店是一门非常好的生意。唯一的障碍就是我没有额外的财富租下店铺开店。尽管如此,这个想法在之后的日子里还是会时不时的偷偷冒头。
在比赛的题目公布的这天工作室进行了重组,伙伴们聚在一起讨论了很多,关于未来,出路,计划,无奈。除了看一眼题目,完全没有心思去想Jam的事情。好消息是这一天是以积极和期待的心态结束的。接下来的一天,我写了5个试一下能不能赚钱维持工作室运营的小游戏策划文档,思维枯竭的趴在床上用脸摩擦床单,试图摩擦出一个基于物理的间接控制游戏角色的游戏的火花(这个是我在题目公布之前想试一下的没做过的游戏形式)。无论如何想不出来有趣的点子,脑子里一直回转的是一个问题:到底怎样的骰子才能被称为是天使的骰子。思来想去,我觉得围绕这个主题只有一个设定是我想要定下来的:
我要做的这个游戏不会使用任何随机函数,一切都是固定或基于规则的,但是要给人一种随机的感觉。
这个是《天使投注站》的一个很重要的设定,是游戏通关后进行多周目的重要线索,后文也有很多很致命的剧透,如果你想体验一下这个游戏,不想被剧透推荐通关后再来看。
接下来的几天非常忙碌,工作室这边清空了办公室,退回到了吃住工作一起的公寓模式。各种拆解搬运组装,无暇思考。但在思维之外的地方,之前关于Jam游戏的设定愈发坚定,并且从一个设定变成了我为自己制定的额外限制规则。
直到我又一次取快递,又一次路过“商业中心”,又一次看到那个待出租的店铺,这一次他真的变成了一家彩票站。这一瞬间我的情绪完成了这次Jam过程中的第一次爆炸……
有人和我有相同的想法,还付诸了实践的难以置信的震撼;胡思乱想的事情得到验证的没来由的奇怪自豪感;以及最强烈的,失去了良好商机的遗憾。
没什么剧透,里面是一些不想看不会不小心看到的情绪
反正只有一个人,做一个更个人的游戏吧
面见彩票站的震撼和遗憾,推着我走进店里,买了一张卖相非常复古的彩票,这个设计还蛮好看的。
它有一股非常强烈的彩票的味道(我猜测可能是特殊的油墨或者刮开区的涂料的味道)。对于我来说气味是最重要的记忆钥匙,大把大把的关于彩票的记忆涌了上来:第一次参加卖彩票的大集市,第一次闻到这个被打上彩票味的标签的味道充斥在空气里,人们洋溢在脸上的期待,迅速转换到失落的反差,刮开覆层区的奇妙手感,为了多刮一刮在人群中寻找地上被遗弃但是没有刮净的票,差一点与家人走失;某个冬天的晚上,买完练习册的回家的路上和爸爸第一次进入了一个灯光昏暗的彩票站,墙上的巨型网格纸(可能是网格布),看不懂的曲线,烟屁股溢出来的烟灰缸,铅笔别在耳后紧皱眉头的大哥,几个按键就可以决定人是否会暴富的一体机……
我站在原地猛猛的吸着彩票的味道,回忆也猛猛击打我,店里的客人络绎不绝,被彩票的花纹吸引的小孩拉着他的妈妈进来,妈妈买了好几张刮刮卡没有要停下来的意思;与手机另一端的人在聊79元眉笔事件的女上班族,或许是想中奖买眉笔;举着来自各地的彩票来问能不能异地兑换的男人诉说着自己每次出差都会在当地买一张彩票的故事……
很复杂的体验,我迫不及待的想与朋友分享我的震惊,遗憾和嫉妒,与此同时我决定也开一家彩票店,不是在这里,也不是在旁边还未租出去的门市房,而是在我自己的世界,在游戏的世界。
我要用游戏来讲这一段故事,让这次Jam的游戏成为一本经过装饰后的交互日记。这也是我一直以来很想做的一种游戏,一种以游戏的方式呈现的生活片段。这是我独创但应该不是首创的类型,事实上我玩过的很多游戏我都愿意分到这个类型中,关于这个部分有机会等我认真收集研究之后可以再写一篇文章单独展开。但是现在,我想做的是擅自的将这种游戏称之为Game log,下文简称Glog。
反正是一个人参赛,这次就做一个很私人的Glog吧。
谁在玩游戏
这个Glog会讲一个彩票投注站的故事,这个彩票站的彩票是否中奖不根据随机的运气,而是由一个天使决定,一个实习天使。
玩家在游戏中可以扮演这个实习天使,经营投注站。来到投注站的每一个顾客都有自己的故事,有人乐于分享,有人刻意隐藏,每个顾客都以为自己买到了随机决定命运的彩票,但其实没有随机,一切都是玩家的意志。
购买彩票的顾客就是彩票的玩家,而现实的玩家对于顾客来说也就是投出骰子的天使(当然玩家也可以扮演恶魔)
如果你刚好玩了这个游戏,你大概会知道那天晚上在彩票站遇到的人,全部被改编之后出现在了游戏世界。
这个想法令我满意,但是还有一点问题:
如果游戏世界的人是玩彩票抽奖游戏的玩家(就叫内部玩家),现实的玩家扮演抽奖游戏背后的裁决者(就叫外部玩家),那么对于内部玩家来说,买彩票这个抽奖游戏是符合Jam主题的——一个天使在投骰子,也符合我自己的要求——这游戏只是看起来随机,但其实没有随机。还令人无法完全满意的部分是这种符合都是针对内部玩家或者说游戏中的游戏来说的,理解起来有点绕,很间接,对于现实世界的外部玩家来说,这个主题和我的自我要求都还没有很好的实现。
当然这里的下一步其实呼之欲出,外部玩家玩的这个经营投注站的游戏本身也是有很多看起来很适合随机的逻辑的,比如:
顾客出现的顺序,中奖的情况下奖金的数额,顾客对于中奖或者不中奖的情况下继续购买的欲望变化以及实际是否继续购买的决策都可以是随机的。
在《天使投注站》这个游戏中,全部的这些机制都应该是固定或基于规则计算的,换句话说,这个游戏中的一切其实都是可以被绝对的总结和预测的。
接下来,再将游戏中的这种规律掩藏起来,让玩家觉得其中某些过程是随机的。这样这个外部的游戏本身也成为了一个手握了具有倾向性的骰子的天使/恶魔了,整个闭环这样的也就构成了。
遭受“彩票站冲击”的当天晚上,我连夜构思完成了这个游戏的主体部分的设计。
想到这里我觉得这个Glog还差一个关键要素——辨别了这么久的内部玩家与外部玩家,我自己其实也是Jam这个大游戏的玩家(归根结底大家还都是游戏的人),我也应该要参与到整个这个外部和内部的游戏中去。又是我很想做的游戏要素,meta,元游戏。我想要在这个游戏中扮演我自己——这个世界的创造者。这种设定会极大的强化我自己在创作过程中的游玩体验。回头来看,用脱离游戏世界但又在游戏世界中的方式与玩家直接对话让我获得了非常良好的游玩体验。让我再次找到了那个最好玩的游戏就是做一个游戏的快乐。
到这里,如果这个游戏完成的比较理想,那应该是内部玩家,外部玩家,Jam玩家都快乐的三赢局面,我们都在玩,我们也都收获了属于自己的体验。
当然这种方式还有一些弊端就是可能形成过度的自娱自乐,创作者在自己的脑子里与想象中的玩家对话,实际玩家完全get不到乐趣的点。如果《天使投注站》是一个这样的游戏请务必告诉我,虽然我会很难过,但鉴于这是一个自己无法回答的问题,还是被指出来更好。如果有人感受到了些许的乐趣,也有情这位知音上台发言。
如何分工
写完策划的第二天,还是有很多关于工作室的未来的畅聊。我和工作室的制作人走在街上,他一边聊未来一边寻找奶茶店,而我一边聊理想一边找彩票站。
这一天的收获颇丰,坚定了继续做工作室的决心,吃到了奇怪的甜点,也在一家彩票站赖着不走学会了很多彩票的玩法,见到了更多的买彩票的和卖彩票的人。
紧接着就要出发去参加假期的第一场婚礼了,但是有一个问题还没有着落,这个游戏有大量的人物,以我画画的速度,在旅途中是无法在Jam的时间内完成这么多人物的素材绘制的。
应该说我在Jam这个游戏中也遇到了天使的骰子,运气好到爆炸,在我试图解决这个问题的时候我看到了discord上面的通知,之前一直关注的AI像素画的Aseprite插件Retro Diffusion终于更新了Mac版,这样我在旅途中也可以找AI帮忙画素材了。
虽然Mac版是一个惊喜,但是我的Mac不是最新版,生成的速度有点堪忧。我又想起了白嫖谷歌的Colab这个路子,花了一天的时间对插件进行了粗糙的分体运行改造,注册了新的Google账号,上传好最新的模型文件,一切就绪,分工完成!
旅途中白天的间隙,Mac和我配合画简单的图,写游戏本体的逻辑;晚上回到民宿酒店,Mac叫上Colab远程,我们仨集中生产和修正大的素材;音频部分我和Mac还有耳机我们找个时间一起找一下。
当然AI画图还是有很多坑,有机会找个时间我单独写文章介绍我的白嫖Colab计算资源的方案和生成游戏素材过程中的一些经验吧。
失而复得
27号的深夜,我们抵达了第一场婚礼的举办地,河南省周口市淮阳区——伏羲故里。见到很多老同学,有人改头换面,有人面目全非,有人童颜永驻,有人未老先衰。
因为在做彩票投注站的游戏,格外的留意街边的彩票站,下车后吃饭饭店的对面,正有一家,像做贼一样拍了一张主体错位的过曝照片。
拍到了不认识的人,后面看不清楚的牌子是彩票站
在这里的一天半,听了婚礼上的男女深情对唱,酒宴中间偷溜出门采购运动鞋厚袜子遗漏的药物等等的去新疆物资,晒了很久太阳,作为已婚人士凑数抢到手捧花,坐游船环游了名字非常霸气的龙湖。
除此之外,各种碎片和整块的时间,完善了Retro Diffusion的分体改造的后半部分(之前的版本生成的图要手动下载,改成了自动回传),选择了更轻便的Cocos引擎(对不起Unity,虽然是联名但是,我这预算有限),简单梳理了整体的逻辑,完成了基础的架构的实现(感觉自己在写周报)。然后最重要的,因为随时掏出电脑开敲,思维转换的慢了,检票时候的一个箭步让我的身份证掉在了周口东站的候车厅!!!!
我们几个人站在检票的队伍中间,我愕然地发现,身份证不见了,让人难受的是,我不记得我们之前坐在哪里,而火车不会等我,快速扫描一周没有找到,只能使用手机二维码上了车。因为进站使用了身份证,而我在车站一直在候车椅写代码,综上可知,身份证就在候车厅。
在车上我准备了很多临时方案,有临时乘机证明,ctid,身份证照片,在不同的场景可以使用。最重要的,想和大家分享的就是,12306的寻物功能:
我本以为这是一个心理安慰功能,但是感谢周口东站的工作人员,我的身份证在一天之后找到并寄回了家里!!!!
谢谢周口东站的工作人员!!!!
经此一役,我选择写游戏的时间和地点的时候变得更加谨慎。塞翁失马,这也间接导致了最后的赶工。
稻草人
到达乌鲁木齐的时候正是中秋夜,拍到了高糊圆月。
我从未用手机拍到眼睛看到的月亮
新疆与北京有两个小时的时差,但是仍然使用北京时间,每天12点睡觉,9点起床在这边算是很规律的作息,而这正是我日常的作息,我想把这里人的生活状态发给我妈妈,告诉他我其实也在某种意义上执行早睡早起。
新疆的比例尺很大,几个要去的景区之间的距离很远,中间要做很久的大巴车。在原计划中,我会在车上高效的敲代码。
打乱计划的事情再次出现,我老婆的耳机丢了,通过定位发现应该还在车上,再次麻烦了郑州的铁路乘务和铁路公安民警帮忙找到了,感谢铁路乘务!感谢民警!我爱河南!
紧接着休息时间结束,进入最尴尬的自我介绍环节。没有参加过旅行团的我,感到了压力。但是后来的事实证明,又一次运气爆炸,整个团的人都超级好,超级有趣,整个旅途就像老师带领下的幼儿园郊游,无忧无虑,热情投入,互帮互助。这里我必须要强烈安利我参加的这个团,旅行社的名字叫做稻草人!领队超细心超负责,有叮当猫的神奇口袋,总有掏不完神奇道具,认真起来为大家挡去一切琐碎与焦虑,欢脱起来与大家一起唱唱跳跳,感性起来让大家每个人都止不住的分享自己的故事,浪漫起来带着大家在赛里木湖畔吹着湿漉漉的风近距离的观看现场话剧表演。我知道听起来像是广告,但是对不起我的运气爆炸了,这个团真的超棒,领队也超优秀,以及我现在已经种草想兼职做领队了。
回忆又爆炸性的涌了出来,说的远了,总之就是说,大巴车上有充足的社交和娱乐,轻松愉快。总之再总之,没有时间写代码……
运气爆炸的代价就是睡眠不足,只有挑选大家在车上小憩以及回到酒店后的时间写游戏,丢进度和丢睡眠二选一。我选了全都要,也就是即缺一点睡眠又丢一点进度。
等整理好照片我还想再写一个新疆之旅的回忆,或者Glog,看情况吧。
再安利一下,稻草人,大家记住了!
Deadline太牛逼了
时间来到了10月8号,经过几乎一整天的交通工具之旅,结束了新疆之行,距离Jam结束还有4天。工作室这边也有积压一些工作,两手抓,到10号晚上整体的进度大概是60%的完成度,而时间还剩10%,我还有一个婚礼要参加,哈哈哈哈哈哈哈哈哈哈哈哈。
10号的晚上,我一边赶进度一边盘算,7点的飞机,保险起见5点半到,4点多就要起床,现在12点,我还有不到24小时搞定剩下的部分。我盯着家里不知道什么时候购买的一小罐茶叶,抓了其中的一半,放到了杯子里。此时的我还不知道,药效有多强。
一边写一边赶路,出租车接上飞机,接上妈妈的车,回到老家,接上便携屏敲敲打打。朋友打来电话要婚礼准备有一个大型拼装玩具没有搞定需要帮忙。我提着电脑赶到他家,得知所有人前去彩排,独留我一人与诸多叔叔大爷大姨婶婶共处一室。在好奇震惊后面我就不敢看了的眼神的注视下我给自己设了一个倒计时,掏出电脑继续敲打。敲敲打打,穿插着冷不丁的社交,夹杂着拼装巨型装饰品,嘻嘻哈哈,还剩6小时。
回到家中,爸爸准备了热乎的饭菜,火速清扫,继续战斗。还剩4个小时,完成度大概80%,我觉得是时候是应该打包了。如果顺利上传一个基本可玩的版本后还有时间修复一些bug,校对一些飞机上写的错别字。果然不出所料,不顺利,三个版本各有问题,
- 第一个Web版本,上传到了新的游戏库,运行起来按钮会失效,显然我没有时间修复这个问题;
- 第二个Mac版,没有绑定开发者,只能本机使用,其他人使用会需要校验,有点麻烦,看看有没有时间搞
- 第三个版本Windows版,我手边没有Windows电脑
时间还有3个小时,我想到了 Electron,打包成Web版之后用Electron打包Windows版上传。
一个小时过去了,家里的网很慢,Electron还没有成功安装。
我又想到了Unity的云主机,充值,开机,安装Cocos引擎(NTR?),打包,报错一气呵成。
发现是extension缺失,拷贝安装,打包,成功,打开游戏验证,黑屏闪退一气呵成。
web版直接上传itch.io,提示压缩包中文件超过1000个,无法运行,快速检查了一下,只有300个,应该没有时间研究这个问题了。
还有一个小时,运气又爆炸了一次,Electron安装完成,用Mac打包了Windows版的包,上传Unity云主机,运行测试完成。
还剩半个小时,上传百度云,web版上传自己的服务器,提交审核一气呵成,成功!
终于,上床了
看一下时间,11点45,明天早上去接亲,4点50集合,开车过去15分钟,睡到4点半极限冲刺起床出发。洗洗涮涮12点半入眠,4个小时后,在黑暗中开车到达朋友家。七七八八的准备,热热闹闹的接亲,又是一批老同学,回忆再次爆炸……
接亲结束,回家扑倒在床上,电话响起,领结没有人会打,快来化妆间救火,又上车,差一点追尾出租车,到达化妆间,领结已经打好了,打的比我好,风风火火,急急忙忙,慌慌张张,白忙一场,站着如喽啰。
随便找了一把椅子坐下,终于想要思考一下这疯疯癫癫的梦怎么醒来。
边想边回忆边写,写啊写,从婚礼的酒店写到父母家里,写到餐桌,写到候机厅,写到飞机上,写到出租车,写到家里,现在的我,终于,上床了!!!
这一篇絮絮叨叨的流水账终于结束了!!!似乎打破了新的睡眠记录:60多个小时,睡了4个小时!!!!耶!!!!!精神状态又有了新的疯狂等级!!!!
60多个小时前我从这个床上醒来,边走边写,写代码,写台词,写流水账,像一场梦,倏的一声又回到床上,完全没有过去了60多个小时的实感,要说起来从公布题目的那一天,三周的时间也觉得是一场梦,迷迷糊糊,忙忙碌碌,走走停停的梦,现在该醒了,明天还有工作室的工作要做,不过在此之前,保存这篇文档,睡一觉,明天补充一些图片,期待下一场梦的开始。
致谢
想感谢的人很多,但能读到这里的话,还是感谢读到最后的人吧,感谢你的时间,看了我这么多的碎话和抱怨,和你说了这么多我感觉很不错,你真的很了不起!
谢谢你,敬我素未谋面的好朋友,敬我们陌生人的友谊!