方块世界开发日志

自媒体 自媒体

[原文来自:www.777y.com]


[转载出处:www.777y.com]

方块世界(Tetris World)是在考试 fantasy console 的过程中实现的一个小作品,虽然小,然则在体验长进行了细心考量,这里将设计过程记录成文。

发源

差不多去年这个时候,我起头涉足游戏斥地,并在机缘巧合之下选择建造一款俄罗斯方块的变种,采用的是捏合不合类型游戏的思路。因为想捏和的器材越来越多而斥地只能在部门业余时间进行,这个项目断断续续进行了一年还尚未完成。在或许 9 个月的时候,我逐渐感受这种捏和的体式未能回到交互和体验的本源上来考虑问题,立异性照样被类型游戏局限住了。也或许是谁人时候,倏忽有一个场景浮现在我脑中:一片坦荡的原野上,多数俄罗斯方块渐渐飘落。这个场景的气氛与今朝加倍竞技化的俄罗斯方块迥然不合。或许 1 个月前我在读 indienova 的博文时发现了 fantasy console 这一门类,把玩之下发现似乎颇为适合实现这个创意,出乎意料的是,这个游戏很快地做完了。

设计

游戏的核心即为上文所述的场景,体验上要充足放松,可以相对佛系地游玩。首先确定的是需要恢弘的地图,并或许同时下落多个方块,为了在这个前提下维持俄罗斯方块的弄法,有两个问题必需首先解决:1. 若何切换方块?2. 若安在恢弘地图下消行?问题 1 仿佛对照简练,只需要增加两个切换按钮就可以了,问题 2 对照核心:因为行太长,实在是太随意发生失误了,而一旦失误想经由消上面的行来解救几乎是弗成能的,解决这个问题是游戏能够成立的关键。

方块实现

在解决两个核心问题之前,我先确定了方块实现的方案。一般用 Tilemap 实现俄罗斯方块,都邑把每种方块建模成四个 Tile 的组合,在 TIC80 里这意味着一个方块会有 24 或 32 个像素宽。因为 TIC80 总共只有 240x136 的不同率,这显然会使得地图显得很小。为此,我将方块建模成四个 2x2 方块的组合,这样地图尺寸就大大扩大。在这种逻辑下,我舍弃了原先以 Sprite 为单元单子的 Tilemap 角力,悉数采用像素运算与把握,稀奇是写了碰撞检测的逻辑。

我曾经纠结于多个方块在空中的碰撞问题,为此设想过多个方案都既不好玩又不好实现,最后决意专注核心体验避免复杂性,爽性在空中不做碰撞。

降雪机制

在早期设想的时候我曾经考虑过小精灵这个概念:小精灵按期展现,搬运方块匡助玩家填空。然而这个概念并不克在我脑中形成一幅和主场景相容的画面,显得非常克意。我也考虑过其余机制,比如稀奇方块可以形成有经久的围栏,许可在局部形成更短的行并消弭,又比如在 t-spin 等接触面积大于必然值的落地事件时触发同色消弭等。但最后我感受这些都太复杂了,“穿透”成为最可行的关键词,在考虑了几个穿透物的方案后,我回到了最初的譬喻:既然方块像雪片一样从空中落下,那雪花就是最合适的可穿透下降物。在试玩的过程中,从最低休闲起头聚积的雪花切实能冲抵大地图带来的问题。此外,降雪纯挚随时间递增的效用使得玩家即使不做把握也可以慢慢消行,加上融洽的视觉究竟,几乎超出预期地解决了游戏核心体验的问题。


受控标识与色彩设计

在具体实现的过程中,本认为已经解决的问题 1 又冒了出来。虽然把握的切换只是两个按键的事,受控方块的标识却有多少选项。最直白的就是加框,然则因为我特别醉心于方块在夜空中落下的意象,并不克容忍加框这种光鲜的人造物来损坏沉浸感。为此只能使用不合的颜色来标识,而这需要和色彩设计综合考虑。

传统俄罗斯方块的色彩系统非常简练:每个方块一个色彩。在实际试玩的过程中,我发现这样会使得聚积的方块非常花哨凌乱,方块过多时显著损坏场景的和平感。我进展方块聚积起来具有相对协调的颜色,为此限制了色彩的个数,这使得方块起头形成更协调的更大色块。倏忽我意识到玩家或许想有意识地用方块堆出一些外形——这是恢弘地图带来的意外究竟,而当前颜色与方块绑定的做法使得玩家“涂色”时会受限于可用方块的种类。

经由一番考虑我从新设计了色彩系统,让色彩随时间而不是方块改变,每隔一段时间,系统会更调新下落方块将具有的颜色,这样玩家老是有一批同色而外形各异的方块来用,加倍随意搭建自己喜欢的图案。

方块的色彩选择的是通亮的暖色系,与之对应,受控方块的色彩自然就要选用亮色的蓝或绿。遗憾的是,这样我喜爱的亮黄+夜空的色彩对比就无法展现在视野的中央。后来我实现了下落标识的功能,这时蓝色就可以只标识不才落标识上,方块本身则贯穿原有颜色,然则我又发现在这种模式下玩家的眼睛会集中在底部,同样不会关注亮黄+夜空的色彩对比。最后这个感想只能留给任由方块下落的佛系玩家,这是游戏设计的一点遗憾。


粒子系统

在游戏设计过程中我经常战胜实现一些花哨特效的诱惑,部门是因为 TIC80 的机能和示意力有限,这种限制其实也是 fantasy console 这类斥地情形的长处。然则我照样决意在消行这里作出最棒的视觉究竟——消行对比通俗俄罗斯方块太难了,必需要给玩家以惊喜,同时,这个视觉究竟理当既华美又同样和平,具有“不为人知地寂静发生”的感触。最后我选择了飘散的究竟,经由把握速度可以同时呈现出能量和轻盈感。


TIC80 没有自带粒子系统,我在之前的斥地中也并没有效过此外引擎的粒子系统,或许参考了一下网上的常规设计后就爽性起头着手实验。按照单粒子单倾向移动->消散->多粒子移动->分批移动->速度扰动的顺序逐渐实现一个自然的粒子究竟。在实际把握时,我意外地发现最大的挑战来自像素本身。起头时我用浮点数按帧储蓄 x 和 y 的值,x 和 y 改变达到一个整数时就结算到位置上,事实导致移动倾向只有两种:45 度和水平,形成非常难看的折线。为此需要让 x 和 y 协调改变,在固准时间后或移动跨越必然距离后才结算距离。

粒子移动完成后,整体分布究竟的处理反而意外顺利,引入了随机速度扰动后,只需要把握随机的区间就可以实现究竟的微调。比如凭证 x 的位置改变粒子的基准速度,就可以呈现出向右方启齿的究竟。这里还有一个窍门是为了使随机数被压缩在接近 0 的区间,可以简练使用两个甚至三个平均分布的随机数相乘,我用这种处理防止闲逸的粒子扎堆。

声音系统

我进展游戏大部门时间是无声的,但一度考虑不才雪和消行时播放一句音乐。TIC80 撑持 SFX 的定制,然则折腾了好半天后我根本确信无法使用 8bit 杀青我心中的音效。我进展下雪时的音乐有一种回忆色彩,而消行时的音乐通亮而轻盈,这需要相同于钢琴的音色和相同于三角铁的音色。抛却音乐后游戏就完全无声了,作为补偿,我倏忽意识到可以给方块本身配上音符,就像玩家可以不管消行只是堆图案,他/她也理当可以不管所有储蓄的器材只进行即逝的创造。于是我为切换把握的按键加上了声音,若是下落的方块对照合适,经由横向摆布方块的相对位置玩家就可以编排出趣的乐句。虽然或许根基不会有人这么玩,这个设法照样让我非常兴奋。实际试玩过程中意外的旋律或许令旁边的人会意一笑,算是一个不错的副产品。

音符选择上,我选择了 C 大协调 F 大调给前两种颜色,高八度的 D 大调给最亮的黄色,红色则用 C 大调的关系小调 a 小调(和声小调)来跟尾。音阶的设计理应更花心思,但那已经跨越了我的能力局限。

设置与交互设计

我在交互上一度有过稍显新颖的困扰。比如,我执着于不实现游戏内菜单,实现的古板是一方面,另一方面,我感受这样一个世界不应该有菜单这种完全把握的意象,更何况 TIC80 的游戏自带一个游戏外菜单。然则为了不合目的的玩家能有最佳体验,我照样设计了指示物的开关(开便于游戏,关更有漂浮感),时间和分数的开关(开便于记录刷分,关避免干扰),把交互简化成两个专用的键。

键位上,TIC80 默认 a 对应 XBOX 手柄上的 X 而 x 对应 B,这使到手柄上正常的摆布把握变成了 a 和 x 的新颖把握,因而我增加了 q 和 w 来切换方块,这样的话马上下落对应的 z(手柄上的 A)就显得干扰太多了,于是我增加了回车来马上下落。

结语

我想我还会使用 fantasy console,或许是 TIC80,也或许购入 PICO-8,这些对象当然不是没有问题,比如自带的代码编纂器对习惯了 vim 的轨范员来说过于痛苦,几乎没有什么用,Sprite 编纂器也仅仅够用,与 Aseprite 这种神器相距甚远。然则它们的限制和高度集成的特点会潜移默化地塑造斥地进程,迫使斥地者络续回到游戏的核心弄法,是一个非常安适的工作情形。

有一种说法是 fantasy console 适合快速斥地原型,这点我之前一贯不太领略。因为穷困太多游戏引擎的便当功能且工作在十分低的抽象上(sprite、map、甚至像素),实现一个在此外引擎里拖拖拽拽的简练义务都或许颇费周章。现在我起头懂得它或许并非适合任何游戏的原型斥地。对于一个相对复杂的类型游戏,仅仅竖立类型的要件或许就要虚耗大量时间,然则对于弄法稀奇、衬着稀奇的游戏,所有引擎供给的功能都邑变成枷锁——对于这类游戏没有什么比直接画像素更安闲了。

不长的斥地时间却让我感触颇多。作为一个全包型且只能在业余时间进行斥地的个人斥地者,理当更多地僵持立异的自力弄法。去实现成熟的类型游戏机制当然是有益的,那些机制创立之初本身也极富创意,然则因为珠玉在前,很随意陷入繁琐的细节,反而无法充实施展创意。至少对我而言,幻想的游戏斥地是一种接近艺术创作的状况,追求的是触动,而不那么关心传统意义上的“好玩”和“吸引力”,照样理当对方针进行精简,僵持做游戏的初衷,尽快抓住和成长自己的灵感。

游戏今朝已经移植到 Love2d 引擎上,后续斥地将基于这个版本进行,TIC80 的版本已经上传到 itch.io,可以免费游玩。Love2d 版也放到了 itch.io 上,今朝只是加了封面、彩蛋和一点音乐,收费 2 刀,也进展人人撑持。下载地址:https://yarray.itch.io/tetris-world


自媒体微信号:777y扫描二维码关注公众号
爱八卦,爱爆料。
小编推荐
  1. NO.1 盘点只有老司机才听过的英雄台词,孙尚香和芈

    上次猫叔收集了一些霸气的英雄台词 受到了老铁们的喜欢 虽然你们没有直说 但是从你们积极的后台留言当中 猫叔 就可以看出来 以后有什么你们想

  2. NO.2 啪啪时女票超能夹紧是什么感觉?

    从前有个人,人称3X哥。X哥爱污漫,一画不吃饭,天天开火车,呜呜呜呜呜,呆萌爱搞笑,逗比又好色。既爱啪啪啪,也爱么么哒,键盘遥控器,榴

  3. NO.3 “你忍着点,拨出来时会有点疼。”

    第1章 接受不了 “别,别在我爸面前做!不要!” 宋斯曼无数在顾少霆的身下承欢,卫生间,办公室,楼道间,野外,每次她都浪着声求顾少霆给她

  4. NO.4 中国知网免费入口学生登录(2019知网账号密码分享)

    2017年知网的收入高达9.7亿,毛利率高达61%,之前的毛利率最高可达到72%。知网查重是大学生毕业前的梦魇,不仅是担心过不了查重,还因为知网查重

  5. NO.5 2019剑灵什么职业厉害(剑灵9大职业排名)

    都说现在剑灵里有个狗职业叫召唤,副本有用输出强势;而一年前的狗职业剑士现在地位不如以前,被戏称为剑大海,输出垫底。 由于剑灵目前还没有

  6. NO.6 成语粉墨登场什么意思是贬义词吗(粉墨登场在戏曲中的意思)

    建议改为一阵急促的鼓点声中,几位京剧演员闪亮登场,引得观众大声喝彩。 粉墨登场不是形容坏人的么?其他评报的读者非要说记者用的是原意。

  7. NO.7 微信月活跃用户数量有多少(2019微信年度数据报告)

    以下56个app你手机上安装了什么呢?评论区见! 微信,qq,淘宝网,爱奇艺,支付宝,微博,搜狗,腾讯视频,前八名,微信目前11亿的月活跃用户

  8. NO.8 日本女星直播挑战下面“换物遮点” 竟一个手滑

    日本女团「假面女子」成员 神谷惠里奈 (神谷えりな)拥有G罩杯的傲人身材,身为写真女星的她常在网上大秀清凉美照。 近日,她拍影片挑战「换

Copyright2018.七云自媒体资讯站,让大家及时掌握各行各业第一手资讯新闻!