今天好游快爆公布了主题—–别按那个键
第一天
嘶,好小众的玩法,基本上没见过太多这种类型的游戏,但是果核里包着无穷
我脑子里想的第一个想法就是恐怖主题,比如按了按钮会触发某种禁忌之类的,按钮推动剧情什么的
或者玩家按了之后就会随机死亡或者获得奖励什么的
没什么头绪,于是我去看看群友怎么想的———结果跟我想的一样,甚至有人想做类似黄油那种按了按钮出特殊cg……反正我能想到的大家都能想到,开摆了,就随便做做吧
我的初步想法是类似我的世界的幸运方块的那种,每按一次,就会有不一样的惊喜
不过“别按”则说明按下去一定要有惩罚机制,但是游戏的机制是必须要按,但是也没说一定是玩家按
既然没有什么玩法的话就整活吧,比如阻止小猫按按钮,按了就嘎巴一下死了
第二天
简单做了一个关卡选择逻辑和开始封面


然后确立画风为可爱画风,不过为节省时间,我直接用AI生图(其实是没有美术搭子而我是手残党只会画像素 ( ̄▽ ̄;) )

然后简单实现游戏的选择关卡进入场景,打开设置,退出游戏,返回场景的闭环
然后用AI画一些猫猫头

突然想到可以添加薛定鄂的猫的神秘感,因为按钮象征着不确定性


考虑到背景是静态的非常的单调,我决定将这个图分层例如将小猫和背景分开

还有十几天,不着急
第三天
增加了按钮的事件判定,这个按钮会影响剧情(结果是没时间做,大遗憾)


然后增加喵喵气泡框,并绑定事件

然后给按钮上一个发光效果,使用shadergragh创建材质

然后得到这样的效果,然后给按钮添加点击音效

然后来制作设置界面
通常的游戏设置界面最基本的元素就是如下这些,然后才是窗口比例,垂直同步,分辨率什么的

然后花了大量时间制作这些东西的UI


然后调整了一下实现所有游戏场景都能打开这个面板

遇到一个小Bug


结果发现是一个关于单例的大bug



不过修好了,终于要开始下一步了——音量的设置本地存储
第四天
目前实现了将游戏界面和数据分离(有点像前端和后端数据库的关系)

将音量设置存储到这里

在其他游戏场景也能使用,测试成功一半

但是还需要关联对应的bgm和音效这些东西
然后在调整的过程中又遇到一堆Bug了,直接给我干懵了,然后就是浪费了大量时间也没修好

好想吐,现在真的一点不想看电脑屏幕了,现在是端午节第二天,明天就是第三天了,今天先休息半天吧
第五天
今天上午终于把这个逻辑蜘蛛网捋清了,之前一直想着使用单例,结果就是造成了单例的滥用,导致逻辑出现了混乱,而且之前一直想着播放音频通过click里的play()来省事,结果发现根本不可控
采用audiomanager通过预制体控制游戏场景的音乐音量,支持通过id或者UIButtonSFX
1 | AudioManager.Instance.PlaySFX("CatMeowClip"); |
或者直接改内存
1 | ApplyVolume(SettingsManager.Load()); |
果然睡一觉起来就是不一样

终于可以开始做游戏了,QQ群里的大佬们的游戏都快完成了……..没必要焦虑,做好自己能做到吧!
首先先加入剧情系统


然后又是将AI图拆分(因为AI的图并不能直接使用,结果是和之前一样还要自己手动用数位板+魔棒工具抠图修图……..浪费几个小时)

对了,突然想到可以恶搞一下玩家,然后“更新”95%的时候突然跳出来这个小猫吓玩家一跳然后找玩家要吃的
(猜猜看为什么我会产生这个灵感? 如果不是今天下午的时候Photoshop和Unity突然把Windows卡死机重启然后我的东西没保存………..那才叫欲哭无泪)

很好,明天就可以加入玩法了,现在剧情系统部分已经做完了,没保存的也重新做了一遍
第六天
完善了一下剧情系统的逻辑,把StoryController改成StoryManager,并实现可复用性

将剧情以调用的形式使用,然后给每个剧情单一ID,只出现一次,并写入json文件

只需要在任何脚本里使用这一句就可以调用剧情
1 | StoryManager.Instance.PlayStory("剧情ID"); |

很好,没有问题

我重新构思了世界观剧情:
背景一
公元4026年,地球生态不堪重负, 人类急需新的家园,在对深空的不断探索过程中,人类偶然在天王星旁发现了虫洞,虫洞是五维空间,在好奇心的驱使下,人类向虫洞发射了很多探测器,令人惊喜的是在虫洞的另一边也有一个太阳系—–半驼鹿系,距离虫洞口大概地火距离的位置存在一个类地行星———“喵星”,而且通过虫洞一瞬间就能到达彼岸
“喵星”之所以叫喵星是因为它只有五个大陆,从太空看,大陆围成了猫爪子的形状,其余区域都是海洋,和远古地球很相似,没有进化出任何高等生物,只有微生物和这个星球的植物,而且喵星有很多独特的矿物质
在经过探测器登陆带回的大量影像和资料以及样本显示,这毋庸置疑是人类的理想家园, 喵星的表面温度,重力和体积甚至连空气的比例都和地球极度相似, 而且也有一个和月球一样的卫星
人类第一步就是发射了很多改造型智能机器人去喵星搭建基地和改造生态,也送过少量宇航员前去探索并成功返回,但是迟迟不敢送大量人类去殖民
随着现实压力的激增,人们开始把目光投向这个陌生又熟悉的星球,因此,经过志愿招募和选拔,三千人(男女1:1,年龄20-40岁)乘坐造价不菲的独一无二的高科技生态飞船—-开拓者号,带着最顶尖的科技以及大量生物胚胎和种子前往新的家园作为降临者
然而,众人没想到的是,当开拓者号跨越虫洞后,不到两天虫洞体积开始大幅缩小,并屏蔽一切电磁波,发射的探测器全部失联,开拓者号无法返航也无法接收信息,人们都快疯了,国家们之间互相指责彼此的轻举妄动
为了对勇士们负责也迫于舆论压力,政府们在第五天就联合派出敢死队“信使号”小型飞船来给虫洞的另一侧传递信息,然而此时人们并不知道虫洞的时间性质已经发生了改动,原本一瞬间就能到达变成了需要花费一小时,等到信使号到达虫洞另一侧后发现,虫洞由双向的变成了单向的,已经无法返航,而且这边已经过了45年
主角曾经参与过开拓者号的建造,是工程师之一,当出问题的时候主角自告奋勇前往担任信使号船员,然而信使号在进入喵星大气层时出故障坠毁解体,只有主角活了下来
故事的开头就是信使号的主角所在的舱在降落伞的缓冲下坠落到小橘家背后的丛林,小小橘是一只小橘猫,她正在散步,被突如其来的巨响吓了一跳,便前往凑热闹,靠近看发现是飞船,结果舱门自己打开了,主角醒来发现自己变成了猫——一只可爱的“小灰猫”(不过是人类体型的),并且受伤了
主角因为脑震荡(其实是因为“广播”系统)失去了部分记忆,忘记了自己是谁,包括自己的身份,以及开拓者号还有信使号,但唯独坚定自己是人类,小橘误以为他脑袋撞昏了,便把主角带到家里
背景二
开拓者号在第二天发现虫洞消失了,联络不上地球且已经无法返航了,所有船员陷入了极度的恐慌
好在在船长的指挥下所有人安顿了下来,最终他们决定将希望彻底寄托到喵星
降临到喵星之后,他们拆除了飞船并建立了临时政府,开拓喵星,因为之前已经派过很多机器人来开荒了,所以这里现在生意盎然,有着和地球一样的森林和湖泊
起初一切发展良好,社会有序,这里的法律和规则和地球一样,区别在于男女必须结婚,而且要额外收养一个胚胎婴儿
而农作物和牲畜经过基因改良也适应了当地的环境,不过动物的形态逐渐发生了很大的变化
但是在第12年的时候出现了一种病毒—凋零,似乎是因为人类的到访进化出来的,而且只针对人类,感染者会以肉眼可见的速度衰老,比埃博拉,新冠和黑死病都恐怖,人们研制了很多解药,但是只能抑制,而且外星病毒的抗性和适应力极其强大,很快,不到一年时间,人类有700余人因为病毒丧生
这对才3000人的人类打击巨大,在此过程中分裂出了三派
左派认为应该修改人类的DNA,提升人类的适应力,成为新人类,中派认为应该听天由命享受现在,右派则认为应该研制抗体来免疫病毒,坚持人类自身
左派的一个成员在研究的过程中偶然发现了将人类胚胎转换为猫形态对凋灵病毒完全免疫,他证明了转换后的猫仍然具有人类的智慧而且猫的体型可以长到正常人类的体型,而且只有转化为猫形态才能保留智慧,其他形态会发生退化—–也就是巨大喵星人,而且寿命和人类一致
后来左派组织进行了这个计划—–将成年人类转换为猫,实验当然成功了,没有任何副作用,志愿者成为猫之后的生活与人类无异,甚至相比人类能更好的适应喵星的环境,通过用“广播”技术可以将人类变成猫, “广播”就是一个以核能源驱动的转换装置,因为转换过程需要巨量的计算需要消耗大量资源
当然这个过程没有痛苦,变身者在进入“广播”的实验范围内会先进入昏迷然后身体发生变形变成猫的形态,但是能保持现有的记忆,而且是变身是否可逆尚不清楚
很快这个实验就被中派和右派得知了,他们当然不能接受这样的结果,因为这已经违背了现有的道德,在经过无数次沟通之下,左派仍坚持将人类的下一代全部变成猫,于是战争就开始了,因为未来武器的发达战争十分惨烈
最终三年后左派战败,左派起初一共700余人,战争末尾的时候只剩下20人,被包围的剩下的人没有投降而是启用了一直没有用过的杀手锏,将广播的范围第一次调整为全球并启动,然后这些人开枪自杀了,但是操作产生的巨大功率导致系统出现了异常,所有人都变成了猫,此时剩下的人还有2800左右但是绝大多数人的智力却下降了而且记忆损失,退化到了2000年前的人类水平,导致没有人会使用他们现有的科技了,昔日的高科技,早已在之前长期战争和无人维护的情况下下逐渐变成了废墟和垃圾,被大自然的力量掩埋,这些人就地取材重新建造了房屋,由于之前的能量供给站都被破坏了以现有的能力无法维修,他们重新使用了2000年前的“电能”
当主角造访喵星的时候,这里已经建立了一个猫咪小社会,而且分裂成了很多个小镇,极少数保留记忆者(而且这些人年龄差不多已经六七十岁了)曾经尝试过恢复人类形态,但由于对“广播”技术的原理一无所知,而且失忆的人们并不相信他们所说的话,而且不敢破坏“广播”担心会产生毁灭性打击,于是在无数次失败后放弃了,并封锁了“广播”,必须要9个管理者的身份卡才能打开,他们还为喵族后代传下了一个传说“在一个深山里有一个远古遗迹,绝对不能触碰里面的按键,否则会被恶魔诅咒不久后就会死亡”的传说
OK,不画大饼了,继续做游戏吧
第七天
开始制作主角的几个状态


然后增加物品系统

然后制作了关卡解锁系统
在每一关里使用可以解锁下一关,通关信息会存储到json文件里
1 | SettingsManager.UnlockLevel("level_2"); |

实验了一下,效果非常的好

已经自动写入了json存储文件

累死我了,今天又做了不少东西
现在已经轻车熟路了,接下来只需要安心的制作剧情和搭建场景了,而且做完背包系统后就不能再做这些功能上的了,不然没时间了,一来我还要期末考试,二来是剩余时间不到13天了
第八天
遇到了一个字体上的Bug

开始的时候误以为是字体的问题,花了一些时间发现是因为TMP Dynamic字体图集atlas被塞满导致的
只需要把那个蓝色的F字体文件里的这两个改成4096就可以了,当然也可以调更高,并apply应用字体


考虑到我不可能一个场景一个地图,这样会大大加剧管理难度,所以我让同一个场景多个地图
最开始是这个方法


后来发现这个好麻烦,看的心累,然后就换了一个最简单的方法,用ID传送
现在真的很痛苦,虽然我已经知道接下来要怎么走了,但是在这么短的时间一个人完成这么多快累死我了,即使有AI帮我
痛苦归痛苦,继续做吧,引入Cinemachine让摄像机跟着玩家

然后遇到了超级大Bug,差点让我两眼一黑,最终,Claude终于找到了是为什么

只需要在这些个地图的顶部保留一些连接就行了

然后diss一下Chatgpt

但是这样会导致右边会看到游戏背景,所以我把用一种跟蓄电池一样连电线一样的做法将这几个场景顶部的碰撞体连到一起
遇到了一个小Bug———-当玩家点击返回按钮的时候,由于我之前的玩家是单例,所有场景都会保留第一次生成的玩家,所以会在不该生成玩家的场景生成,最终决定取消玩家的单例,改为在需要玩家的场景用生成器实例化一个玩家
第九天
今天开始制作背包系统,并优化和修复传送点逻辑,今天吸取了一个教训,就是不要在剧情上下功夫,我觉得没有必要把功夫浪费在剧情和背景上,应该将注意力集中在玩法上,所以我将前面的世界观和剧情全部推翻
原本是想要拉两个室友一起一起参加的,后来发现,他们也帮不上什么忙,嗯,所以就这样吧,我还是一个人,solo solo solo
这里又遇到了一个新的剧情播放的Bug 一直不知道为什么

最后结果是我自己捣鼓半天找到的,无能的Claude~~

然后是优化了存档系统,增加了存档重置的逻辑

至于背包系统我之前做过一次,但是忘掉了,所以复习一下吧,依旧麦扣老师小课堂


然后研究了一下滚动界面这个东西

关于Chatgpt有一个破毛病就是总是让我二选一,我今天终于受不了了

然后解决了这个竖直滚动条的问题,只需要加上这个即可

第十天
感觉昨天做的背包系统太垃圾了,用起来浑身难受,先让Chatgpt把我的提示词翻译成英语然后让Claude在帮我重新设计了一个更好用的


然后把物品的scriptableobject信息放到这个Resources文件夹,每次启动游戏的时候自动加载
1 | ItemData[] allItems = Resources.LoadAll<ItemData>("Items"); |

OK,非常成功,只是目前物品不能拖动

第十一天
我高兴的太早了,第二天再看看的时候又出现这种莫名奇妙的错误
而且这个Bug很玄学,一方面是只有这个场景会出现这两个bug,如果每次运行游戏都出现倒没什么,但问题就在于有的时候有有的时候没有,非常的奇怪,其中第一个Bug最严重

然后花了两个小时找原因,彻底没脾气了


然后剩下的这个因为场景的物品的销毁产生的Bug影响不是很大,至少不会阻碍游戏的游玩
不过还是修了一下——–把那个要销毁并显示在背包里的物品放到层级窗口的根目录即可

OK ,终于没有Bug了,然后把之前做的背包面板跟这个背包里的物品联系


然后先打包成exe看看是否能玩,可以,但是我觉得1K的窗口比全屏观感要更好,全屏下我感觉很别扭因为猫太大了

原本是想对安卓做一个支持的,不过感觉没什么时间了
唉,不想做了,反正这游戏也是一个垃圾,而且我没什么经验,会的只是鸡毛蒜皮,这还是第一次做一个有关卡选择和存档的游戏
但是我也不想荒废这么多天的成果,还是看看怎么利用好现在已经设计好的系统吧
这里就开始做第二个场景吧
依旧和Chatgpt battle

最后觉得它除了第一个做的挺好看的其他的做的挺垃圾的,还是自己搭建场景吧
第十八天
摆烂了几天,然后把大部分时间用来期末复习
还是继续做吧,既然这个东西已经是一个垃圾了,那么再让它变得更烂有何不可呢
首先制作了合成系统,使用scriptable object存储配方


点击合成按钮,从内存中直接修改,若材料只有一个,则抹除,若材料不止一个,则减少相应的数量

此时这两个东西就永久消失了,烤鱼的数量加一

逻辑是如果材料正确且数量充足的时候,合成栏会出现生成物,并且生成按钮可以按
如果材料正确但是是数量不足的时候,合成栏会出现生成物,但是生成按钮不能按
如果材料不正确,则既不会有生成物,也不能按按钮
至于场景我也不知道啥样的场景好看,然后就用了卷轴滚动视差的方法,让背后的白云跟着玩家滚动

而且今天我发现一个很恐怖的事就是,我之前一直以为小橘是AI图,毕竟我是在AI网站上找的这个角色原型
后来经过多次对比发现这个居然是真人画的而且已经做成了游戏—–糖葫芦大师 ,一个幼儿向的可爱画风游戏,我之前用的那个角色是在游戏的商店的第四个模块的宠物系统的最底层的一个售价9900代币的一个宠物角色
这妥妥的侵权啊,于是我不得不替换掉了所有有关小橘的图,幸亏我只在剧情里使用了这个图
然后就是优化(叠屎山)了一下合成逻辑,让AI修复了一个隐藏Bug

发现这个单例的bug还挺严重的

最后成功做出来了合成系统

然后还有物品提交逻辑什么的就不提了
第二十天
昨天又摆烂了一天,感觉做的实在是太廉价了,根本没有什么玩法,因为我放弃了之前的宏大的世界观所以新的剧情和游戏主题八竿子打不到,这么短的时间也不可能重做了,还是加一个交易系统吧,也不想游戏过于无聊,于是我开始许愿了

第二十一天
然后又是一顿倒腾,昨天晚上通宵完成了,从下午2点开始到早上8点,一直在找bug,做地图什么的
等做完反应过来的时候,天已经亮了,已经是最后一天了,游戏做到最后完全是在瞎做,就是剧本对话瞎写,场景瞎布置,物品信息瞎填,然后做了一个结束画面写上结语和使用的音频作者信息就草草结尾了,然后大脑一片混沌
然后上午填了填相关的材料文件,就提交了,然后进入审核阶段(说实在,我真的不好意思上传…….做的太垃圾了,但是还是硬的头皮上传了)

回顾一下这一整晚的做的东西(垃圾)

以及纯AI生成的一百多张素材


通过这次gamejam也学到了很多东西,也看到了人与人之间的巨大差距,很多大佬的创意和玩法非常的好
不过这是我第一次做一个完整流程的游戏,第一次在游戏加入设置和存档,剧情以及背包还有合成系统,第一次认识到单例和scriptable object的重要性
而且也意识到了个人的力量是极其有限的,要么有极其丰富的经验,要么有厉害的大佬团队,否则对我这种会的不多的也太艰难了
然后就是大多数时候,想象力丰富没有什么用,首先执行力必要要满足才行,不然容易变成思想上的巨人行动上的矮子,如果不推翻前面想的那些乱七八糟的世界观,根本不可能做完,其实还是经验不够的原因,想不出来什么创意玩法,经典的玩法不够,内容来凑,这样会导致游戏是一次性筷子,只能用一次
审核结果
然后就是通过了(盲猜他们审核的标准就是看有没有bug),估计8月份上架好游快爆,不过就是游戏太垃圾了,到时候有时间我还得重新设计



评论区