今日志记于2020年2月8日,是第二篇开发日志,把流水记载算进往的话这是第四篇日志,本篇只记载与游戏设计相关的内容。
从本篇记载开始,以后流水记载和开发日志的编号混用,毕竟开发日志只是每一个阶段的归纳,跟流水记载只有更新频率和内容含量的差别,但都是日志,所以以后就是每写几篇流水记载旁边夹一篇开发日志,以这样的形式记载。
世界不雅
在最初的中就提到,我其实不是想做一个纯挚的咖啡馆游戏,而是但愿这游戏在经营咖啡馆的外表玩法的面前,能有一个庞大完整,又细节丰厚,且逻辑自洽的排挤的世界不雅。假如没有这样一个世界不雅,宾客与玩家在吧台前谈天的内容会显得十分空幻。而在所有故事的面前躲着一个庞大的世界,也能给玩家以无限的遐想空间。
而关于世界不雅的设定,我但愿能从十分基础的中央就开始排挤,比如游戏中世界的物质组成,就与实在世界完全不一样。这一点是受到2017年GDC(游戏开发者大会)上塞尔达团队的演讲的启发。关于塞尔达荒野之息中的物理效果,堂田卓宏先生是这么说的:
堂田卓宏:关于游戏开发来讲,我们不克不及以“教科书中的物理”为标准,而要以“对游戏而言最相宜的物理”为标准举行制作。我们称这种物理叫“游戏物理”,或许也可以叫他“谎言物理”,我们为了满足操作性和游戏所需的反应而制作的伪装实在的效果。
作为非游戏行业从业者的我,曾经怀有”游戏物理只是在研究怎么用效率更高的算法模拟更实在的物理效果“这样的刻板映像,在那时受到了比拟大的震动。也干脆以致 导致我在思考这款游戏世界不雅架构的时候,决议不以实在世界为标准,而是一切从零起步,包孕世界的物质组成,物理规则,化学规则等等都从新设计。
所以这篇开发日志——世界不雅初步设想,就是记载我今朝设定的世界物质组成,物理规则和化学规则。
物质组成
关于这局部设计,我主要的灵感来源是一款桌游——《炼金术士》,这是一款玩法十分有创意的桌游。
在游戏里你将扮演一个炼金术士做检验测验,想办法探究出各种炼药材料的物质组成。游戏里的药材都是由原子组成的,而原子之间会发作化学反响,所以玩家需要让各种药材两两之间做化学反响,最终研究出每种药材是由哪几个原子组成的。玩家在成功推导出一个药材的组成后,可以为此公布学说,公布学说是主要的得分手段。
以上是基本规则,这游戏最有味的中央是,依据游戏时长的设定,你是不可以在游戏完毕前把每种药材的组成都探究出来的,你来不及做那末多检验测验。那怎么办呢?你可以参考另外玩家已公布的学说,把他人的研究效果拿来加快本身的研究,最终大师齐心协力,确实可以把每种药材的学说的公布了——但是!最要害是,在游戏中你还可以撒谎!你明明不晓得一个药材的组成,却谎称它是由某几个原子组成的,并且公布了一个毛病 过错的学说,这样所有参考了你的学说的其他玩家,最终到手的后果城市是毛病 过错的。这个机制让全部游戏玩起来十分有味,游戏进程布满了撕逼。
所以呢,在我的游戏中,主要也是受到炼金术士这独具立异的玩法的启发,我先设定几个原子,全部世界所有物质都是由这几个原子组成的。游戏中的原子会影响物质的性质,物质总共有四个方面的性质:热,电,光,力。依据组成原子的不同,每一个物质在这四个方面暗示出的性质也不同,比如有的物体会发烧有的物体吸热,有的会发光有的吸取光线,有的导电,有的会放电等等。
出于代码的角度思索,我没需要把原子这么微小的东西单独做出来,只有用数字来暗示便可。每一个原子由两位数字来暗示,总共有16种原子,如下表所示,原子10对应的物质会发烧,原子01对应的物质会吸热,等等。
热 | 电 | 光 | 力 | ||||
---|---|---|---|---|---|---|---|
10 | 发烧 | 10 | 放电 | 10 | 发光 | 10 | 斥力 |
01 | 吸热 | 01 | 吸电 | 01 | 吸光 | 01 | 引力 |
00 | 不可燃 | 00 | 无磁性 | 00 | 反射光 | 00 | 运动 |
11 | 可燃 | 11 | 有磁性 | 11 | 折射光 | 11 | 主动 |
游戏中的每一个物体都有一个8位的数字,比如游戏中的“泥土”,它对应的数字是00 00 00 00这8位,把8位数字拆成4个2位数字,区分对应上表的四种性质,那末“泥土”就是不可燃(00),无磁性(00),会反射光线(00),运动(00)。通过这种方式,每一个物质都用一个8位数字便可暗示其物质构成和化学性质。明显,每一个物质必需由四种原子组成,这样总共有4x4x4x4=256种物质(现实上算上物感性质物质会更多,后文会提到)。
这种暗示方式可以十分反直觉,这么设计主要是出于递次方面的便利。值得留心的是,在游戏中主角和其他脚色是不晓得这些数字的,这些原子啊数字啊性质啊,是我此刻从下往上构建世界不雅的时候设定的,而游戏中的脚色在探究这世界的化学规则的时候,是从上往下探究的,他们只晓得这个物质和阿谁物质会发作什么反响,但不晓得为什么会这样,更不会晓得如此底层的原子之类的概念了。
我今朝临时的想法是,游戏中会有一群真理家成天研究世界运转规律,这些真理家的研究效果是会随着游戏进程逐步展开的。他们可以一开始对世界各种化学反响一头雾水,但垂垂的就会意识到哪些性质与哪些性质不会同时出此刻一个物质上(比好像一个物质不克不及既有发烧性质又有吸热性质),接着他们垂垂意识到物质的性质大概可以分出四大类(热,电,光,力),最后才垂垂发明有原子的存在。就是会有这么一个真理探究的进程,不外这个进程只是游戏里的真理家们做的,与玩家之间毕竟有什么交互我临时还没有想法,临时只方案让真理家的研究效果出此刻报纸新闻上,玩家在游戏里可以看新闻,感喜好的玩家天然会往存眷游戏里的这些新闻。
化学规则
接下来是化学规则,游戏里的化学跟现实的化学完全不是一个东西。需要再夸大的是,这个世界不雅是从零开始完全排挤的,所以我们首先需要完全忘记现实中的那些常识,从一张白纸开始承受游戏里的设定,这样会比拟好了解一点。这个游戏中的化学指的是上文提到的“热,电,光,力”这四个方面。为什么是这四个呢。。。我也不晓得,我只是思考好久(大概好几个礼拜),觉得最合适在游戏中展现出来的且可以涵盖尽可以多的可以性的就是这四类性质的组合。至于我这好几个礼拜毕竟在想啥,说实话,细枝小节有点多,我在思索的时候还结合了递次如何设计,与世界不雅其他方面的融合,如何暗示游戏性等等,过于琐碎并且我也记不大清晰了,所以就不记载具体的思考进程了。总之最后决议了,这游戏中所有物质都有这四个方面的化学性质,他们的特点区分如下:
热
热 | |
---|---|
10 | 发烧+不可燃 |
01 | 吸热+不可燃 |
00 | 导热+不可燃 |
11 | 导热+可燃 |
热量是从发烧物体向四周分散的,分散进程中热量逐步递减直至落到常温,或许碰到吸热物体赶紧停止分散。
以上是完整的表格,现实上除吸热物体之外的物体必定导热,只是不可燃和可燃的区别。发烧物体不可燃。
电
电 | |
---|---|
10 | 放电+有磁性 |
01 | 吸电+无磁性 |
00 | 导电+无磁性 |
11 | 导电+有磁性 |
关于电流有两个方案:
方案一:需要放电物体(正极)和吸电物体(负极)同时存在,当放电物体和吸电物体距离足够近时,电流从放电物体传递到吸电物体。电流在放电吸电物体之间折线衔接。
方案二:需要有两个放电物体,当两个放电物体距离足够近时,电流在两个放电物体之间活动,且折线衔接。而吸电物体现实上是尽缘体,将吸电物体置于电流途径上可以阻断电路活动,这时候电流消掉。
关于磁性,磁性不分正负极,仅提供一种力的作用(就像塞尔达荒野之息和许多其他游戏中的磁性一样),玩家在游戏中可以用相似电磁铁之类的道具长途操作磁性物体的运动。
光
光 | |
---|---|
10 | 发光 |
01 | 吸光 |
00 | 反射光 |
11 | 折射光 |
发光物体会向四周发光,有两种暗示形式:
假如是圆形或球体的发光物体,光线向四周分散,分散进程中光强不会递减,碰到吸光物体才会停止分散。(在游戏中一般作为光源)
假如是正方形或正方体的发光物体,会有六道聚拢的光线(激光)从正方体六个面向正对的标的目的射出。这点与热量不同,正方体或正方形的发烧物体仍然是向四周分散的。
反射光性质的物体光线不可透过,并且会将光线反射到其他标的目的(也可以原路返回,反射角0°)。折射光性质的物体是光线可透过的,但也会改动光线的传达途径(也可以不改动,折射角0°)。
力
力 | |
---|---|
10 | 斥力 |
01 | 引力 |
00 | 运动 |
11 | 主动 |
物体在游戏中受到力的作用后会发作怎么的运动学影响,这在游戏中属于物理范围。但是一个物体会不会受到力的作用,这属于化学范围。
斥力性质的物体,会对四周所有物体发作排挤力,所以该物体四周一般状况下都是没有其他物体的。
引力性质的物体会对四周所有物体发作吸引力,所以该物体通常为被其他物体完全包围的。当引力性质的物体没有被完全包围时,会在必定范围内吸引距离比来的物体将其包围。
运动性质的物体是完全不受力的影响的,不受重力影响,也不会被具有引力、斥力性质的物体影响。
主动性质的物体是受力的影响的,会受吸力、斥力影响。是不是受重力影响取决于其物感性质。
斥力性质的物体与引力性质的物体相遇了会怎么。。。待定(要不来个永动机?两个方块不停地接近远离接近远离。。。)
以上是确定物体会不会受到力的影响,或许会不会对四周的力发作影响,也就是说化学规则决议了“力的影响是不是存在”,确定存在力后,由物理规则决议“力会发作怎么的效果”。
化学反响
游戏中的物质与物质之间是会发作化学反响的。上述性质中,每张表格的前两行都是会对四周物体发作影响的性质,可以称为主动性质。后两行描绘该物质在受到四周物体影响时会有什么反响,这是主动性质。
游戏中天然存在的物质大多没有主动性质或许主动性质很单一,比如会发烧的物体常常不会发光放电没有引力斥力。但是玩家可以通过化学反响制作出复合的主动性质,比如既能发光又能发烧又能放电的物质。
关于化学反响的具体规则今朝还么得啥想法,但是一定是要有的,后面垂垂思索。其实我想着可以在游戏基底搭建好以后,干脆在游戏中做测试,怎么的化学反响比拟有味,试一下天然就晓得了。
物理规则
物理规则包孕三个方面,一个是物质的状况,一个是物体运动,一个是空间。
物质状况
游戏中的每一个物体除用一个8位数字暗示其化学性质外,还用一个8位数字暗示其物理状况。就像现实中同一个物质会有固态液态气态等物理状况一样,游戏中同一个物质会有两种状况,一种是正方体状况一种是球体状况。这点在中有提到,游戏世界是由正方体和球体组成的,正方体和球体现实上代表了物质的两种状况。正方体大概可以类比现实中的固体(现实上很不一样),球体大概可以类比现实中的流体(现实上更不一样),大概像下面这样子:
正方体是运动的物体,不会受到重力影响,也就是说悬空的正方体不会下落,但是你可以把正方体从一个中央挪动转移到别的一个中央。在游戏中正方体可以是泥土、岩石等物体,用一个个正方体外形的泥土、岩石来构成大地。
球体是运动的物体,会受力的影响。球体可以是在地面滚动的一个球,假如悬空放置会掉落到地面。球体也可以是半空中漂移的泡泡,不会落在地面,一直随风飘动。
游戏中的物体有8位数字暗示物理状况,这8位数字此中一位用来暗示这个物体是球体还是正方体。“1”就是正方体,“0”就是球体。比如,看最左侧的数字,”1 0000000“就是正方体,“0 0000000”就是球体。
剩下还有7位数字,我原本想用这7位数字暗示其他物理状况,后来意识到没有需要。一是我在整理 收拾出前方所说的“热,电,光,力”四大类性质后,很难再想出其他方面还可以有什么性质了,就算有也很难和化学性质做区别。二是因为前文所述的化学性质虽然有256种组合,但是有许多常见的物质现实上化学性质应该是不异的,比如“泥土“和”石头“,都是导热+不可燃+不导电+无磁性+反射光+运动,所以泥土和石头代表化学性质的8位数字都是“00 00 00 00”,那怎么区分它们呢,就用刚刚多出来的那7位数字来区别,那7位数字现实上就是物体编号。比如”0000000“代表泥土,”0000001“代表石头,这样的话,”1 0000000“就是正方体形态的泥土,”1 0000001“就是正方体形态的石头。
需要再次夸大,游戏里的世界不雅是完全排挤的,不要代进现实。在游戏中“泥土“和”石头“是由同一种物质组成的,化学性质都是”00 00 00 00“,他们是同一种物质组成的不同物体,只有物理编号不同,泥土的物理编号是”1 0000000“,石头的物理编号是”1 0000001“。所以可以看出,化学性质是”00 00 00 00“的物质,可以组成许多种编号不同的物体,7位数字总共可以发作128个编号。所以不异化学性质的物体最多可以有128种。
这样的话,游戏中所有物体都可以由两个8位数字唯一的暗示,这两位数字就是一个物体的ID,比如正方体泥土的ID就是“00 00 00 00 : 1 0000000”,前8位是其化学ID,后8位是其物理ID。一样,正方体石头的ID就是“00 00 00 00 : 1 0000001”,化学ID是“00 00 00 00“,物理ID是”1 0000001”。
物体运动
物体运动本身没啥好说的,我给游戏加进了Physx物理引擎,所以游戏物体的碰撞和运动都交给物理引擎措置。但是正方体和球体的运动是不一样的,现实上上文把物体分红正方体和球体,他们之间主要的区别也就是运动方式不一样。
正方体
现实上正方体是这样设计的,全部游戏世界由一个一个方格组成,游戏物体就在这一个个方格中(如下图,方块边缘线标出了它地点的格子),正方体形态的物体只能从一个方格转移到别的一个方格,没有旁边状况,不会横跨两个方格。所以正方体一般状况下不会运动,也不受重力的影响。但是玩家可以把一个正方体从一个中央挪动转移到别的一个中央(就像Minecraft外面挖了再放)。
《Minecraft》游戏截图
事实上,在游戏的世界不雅里,正方体代表编程语言里的整型数字,正方体在游戏里的位置坐标永久都是整数,长度也是整数,它的边长固定为一米。
对正方体如此设计还有个递次方面的考量,为了缩小物理计算。在运动的物体许多的状况下,物理引擎的计算开支是很大的,游戏中有不计其数个正方体,不可以把他们都当做运动物体来对待,这样电脑早崩了,所以将正方体物质设定成不运动的物体不参与物理计算,可以大大缩小计算开支。
不外我也不方案让正方体完全不运动。日志一开始就说了,”游戏物理“就是”谎言物理“嘛,虽然正方体不参与物理运算,但还是可以做两种运动。第一种,是在碰到斥力性质的物体和引力性质的物体时,主动性质的正方体是会受影响的,它会被斥力推到某个位置,也会被引力吸到某个位置。第二种,玩家在游戏中可以鞭笞正方体,但是只能把正方体从原本的格子推到相邻的格子,不克不及一直推(在许多古老的冒险解密类游戏中都有这种设定)。
这两种运动的出发点和终点,都不是用物理引擎计算出来的,而是事先设定好的,斥力会把它往外鞭笞一格,引力会把它吸到一个固定位置,玩家推方块时也只能推到旁边的格子。所以在这种状况下,我们晓得正方体的出发点和终点,那干脆把它从出发点放到终点便可,旁边再放一段物体运动的动画,伪装它是运动过往的,但现实上并没有物理引擎参与计算。
球体
前方说了正方体了,那球体天然是相对的。球体现实上代表了物质的不不乱状况,它在游戏中的数量要比正方体少很多。在游戏中球体和正方体只是同一物体的两种状况,他们是可以彼此转化的,就像现实中的固液气三态转化一样。球体由于是不不乱状况,从球体转化到正方体更常见也更天然。从正方体转化到球体常常要借助外力,比如电击、燃烧等,不外固然也会有例外。
球体代表编程语言里的浮点型数字,游戏中球体的位置坐标都是小数,并且球体的半径也是小数。球体不管是位置坐标还是半径都是会变化的。
但是在游戏存档里,世界仍然是拆分红一个个方格的,而球体也存在某一个方格里。每次存储游戏时球体会被存到比来的一个空方格里。
球体参与物理计算,不同的球体受重力和浮力影响不同,有些像个铁球一样在地面滚,有些像云朵一样飘在天上。固然主动性质的球体会受斥力性质的物体和引力性质的物体影响。
有一个奇异的想法还不确定要不要加进:游戏中有些球体可以彼此融合,两个小球体在接近是融合成一个大球体,就像两个小液滴融合成一个大液滴一样。横竖此刻要实现这个效果还早,以后再说吧。
然后关于游戏中的流体,比如水、岩浆之类的东西怎么在游戏中暗示,我也还没有确定好想法。可以会干脆用许多小球来代表流体,也可以会像Minecraft那样来暗示。
空间
在中也有提到,这个游戏里的世界是三维的,但是主角倒是生活在二维世界中的。通过在三维世界中旋转视角,主角地点的二维世界会发作变化。这个设计不好用语言描绘,其实就是跟《FEZ》和《纪念碑谷》的一样的想法。我也是在玩了《FEZ》这款游戏后,着实被它这惊为天人的设计给震动到了,所以很想本身也在游戏中加进这个设计。(本篇日志的封面即是《FEZ》的游戏截图)
但是这点我纠结了很久,因为这个游戏机制实在跟我的游戏主题没什么关系。我最终还是决议加进往,主要原因还是太喜爱它了。。。别的还有布景故事的考量,我其实对世界不雅的布景故事开始有点初步想法了,这个世界不雅的布景跟这个机制是很贴合的(其实前方化学规则的设计也结合了布景故事),不外世界不雅布景留待下次想清晰了再写吧。
要害在于,当我还是决议加进这个机制后,发明它其实挺有玩头的。这就意味着,我的游戏中可以同时存在2D和3D场景。那我明显得区分表达出2D和3D游戏的特色——最少表达出在我心里他们区分有什么特色。所以为了便利治理,引进了空间的概念,这里的空间固然跟现实的空间完完全全不是一码事。
在游戏中脚色们是生活在二维世界中,而二维世界中有许多种空间,如下表所示:
空间名 | 区别 |
---|---|
固定空间 | 地图和视角都固定不动 |
横向卷轴空间 | 地图向右滚动,视角固定 |
纵向卷轴空间 | 地图向下滚动,视角固定 |
冒险空间 | 地图可以向各个标的目的移动,视角固定在主角歪上方,45度角仰远望主角 |
三维空间 | 地图可以随意移动,视角可以随意旋转 |
前四个都是二维世界的空间,最后一个是三维世界的空间。
比如说在咖啡馆外面就是固定空间,一个小房间只有用一个画面便可以全部展现,不需要移动视角和地图。
而横向卷轴空间相似于小时候玩的《忍者神龟》等街机,脚色往一个标的目的走动,一边走一边杀仇人,地图也是往一个标的目的滚动,视角固定,平视画面。
纵向卷轴空间相似于打飞机的游戏,画面往下滚动,玩家操作飞机攻击敌机。
冒险空间相似于传统RPG游戏里的地图,如《暗黑毁坏神》那样脚色可以随意走动,但是视角是固定在上方仰远望主角的。
三维空间就是三维游戏里常见的可以随意移动的地图和可以随意旋转的视角。
游戏中可以会有多种场景之间的切换,比如咖啡馆本身是一个场景;假如咖啡馆里假如有街机的话可以在街机上放一些小游戏,这是一个场景;假如能走出咖啡馆看看外面的样子,咖啡馆地点的小村也是一个场景。不同场景的空间是不同,这样可以更好地暗示出2D游戏和3D游戏各自的特色。
结语
这篇记载的内容看起来会很无聊,这样的世界不雅干脆放到游戏里对玩家一定是没有吸引力的,但现实上在游戏里玩家是不晓得这些东西的,这些都太底层了,还要颠末很多层的包装,由原子构成物质,物质组成物体,游戏中的一个个物体才是玩家现实接触到的东西,可以是泥土,石块,沙子,水流,火焰,弹簧,镜子等等。玩家固然不需要晓得底层的这些,但是只有有了底层的这些设计,上层的设计才会是逻辑自洽的,才会有规则可参考。
现实上假如有可以的话,我会但愿让探访底层世界不雅一样成为游戏玩法的一局部,所以其实。。。这篇记载的内容不应召开,因为这里写的就是谜底,那就没什么好“探访“的了。不外我想一想横竖召开出来也没啥人看,这个也只是我当做日记在写的东西,更何况游戏都不必定能做出来,做出来也很可以没杀人玩(笑~),所以其实标题问题不大。
差不多就这些了叭,没想到居然写了这么多。。。7000字,从昨晚写到今日,累死了妈的。不外此刻记载的东西都是在脑子里酝酿很久的内容,所以会有些多,把这些补上后,以后养成做一点记一点的习惯,每次的记载内容就极少了。其实也差不多快补完吧,大概后面再两篇就可以赶上今朝的进度。