起床战争:修订间差异
更多操作
无编辑摘要 |
|||
| 第101行: | 第101行: | ||
:command_jdc:准备大厅领地,防止破坏 | :command_jdc:准备大厅领地,防止破坏 | ||
:[color]_spawn_jdc:重生领地,防止堵家破坏 | :[color]_spawn_jdc:重生领地,防止堵家破坏 | ||
:[color]_spawn_[1/2] | :[color]_spawn_[1/2]:位于角斗场出生领地两侧的翼状领地,防止玩家重生去往铜点的道路 | ||
;bed_war_enderchest:位于莉亚匹克,主领地,用于结束游戏后清除末影箱,防止物品带出 | ;bed_war_enderchest:位于莉亚匹克,主领地,用于结束游戏后清除末影箱,防止物品带出 | ||
: | |||
我 | |||
==内测与公测== | ==内测与公测== | ||
| 第145行: | 第147行: | ||
注意事项的注意事项: | 注意事项的注意事项: | ||
* 标有“严禁”字样和下划线的条目,如有违反,经过核实将会被记入鱼乐社黑名单! | *标有“严禁”字样和下划线的条目,如有违反,经过核实将会被记入鱼乐社黑名单! | ||
* 我们虽然无法监管您是否在游戏内使用辅助工具,但仍希望各位玩家保持自觉 | *我们虽然无法监管您是否在游戏内使用辅助工具,但仍希望各位玩家保持自觉 | ||
* 如果你的帧数较低,可以调整设置:选项-视频设置-品质-Mipmap级别:关 | *如果你的帧数较低,可以调整设置:选项-视频设置-品质-Mipmap级别:关 | ||
===I.准备阶段=== | ===I.准备阶段=== | ||
| 第307行: | 第309行: | ||
I. 开启游戏需要有议员输入以下指令: | I. 开启游戏需要有议员输入以下指令: | ||
==== 吃豆豆 ==== | ====吃豆豆==== | ||
* /scoreboard players set chidoudou bw-stats 0 | */scoreboard players set chidoudou bw-stats 0 | ||
* /scoreboard players set can-join chidoudou 1 | */scoreboard players set can-join chidoudou 1 | ||
==== 角斗场 ==== | ====角斗场==== | ||
* /scoreboard players set jdc bw-stats 0 | */scoreboard players set jdc bw-stats 0 | ||
* /scoreboard players set can-join jdc 1 | */scoreboard players set can-join jdc 1 | ||
II. 随后,需要议员使用Gm3到达准备处的深色橡木台阶下的基岩屋内手动拉杆选取地图; | II. 随后,需要议员使用Gm3到达准备处的深色橡木台阶下的基岩屋内手动拉杆选取地图; | ||
| 第351行: | 第353行: | ||
III. 如果出现了玩家的宠物带入了场地: | III. 如果出现了玩家的宠物带入了场地: | ||
# /minecraft:kill @e[type=wolf,distance=..150] | #/minecraft:kill @e[type=wolf,distance=..150] | ||
# 记得在游戏结束后补偿宠物 | #记得在游戏结束后补偿宠物 | ||
===结束阶段=== | ===结束阶段=== | ||
2021年1月3日 (日) 00:51的版本
“说起来,你觉得莉亚活动搞起床战争有可行性吗...” —— rdfzzyy 08:15:24 2020/02/27
写在开始之前…
我是Arthals,欢迎你来到这个词条。
有在Ria中复刻起床战争的这个想法,是由rdfzzyy(下文简称zyy)的一句简单的提问触发的,当时的我们,谁也不会想到,十天之后,我们真的完成了它。
这不仅仅是起床战争。
是数十个指令方块,数百次的测试,和数千条的聊天记录。
当我们真正完成这个企划的时候,有的不仅是如释重负和无与伦比的开心,
更是有着说不出的感慨。
这个想法本来就是一个纪念,纪念我和zyy曾经在小游戏服尤其是起床战争度过的美好时光,历经十天的努力,其中有太多的尝试和失败,在一次次说笑的返工中完成了这张经典的起床地图,我们终于在Ria中复刻了曾经的感动,也希望这个游戏能成为各位生存之余的娱乐之一,给大家带去紧张与刺激,欢笑与快乐。
我们在小游戏服务器的起床战争中体验团结与竞争的乐趣,在Ria的原版生存中体验分享与合作的舒适。
致我们热爱的Minecraft.
可行性的探索
我们首先考虑了一些有关起床的核心元素的实现可能,由于主要是依据原版和简单的辅助插件,再加之这个企划是因为zyy想要复刻曾经在YourCraft(YC)的记忆,所以我们选定的是复刻类似于YC的老起床模式,而并非我熟悉的Clay的类似Hypixel的新起床模式。

其中的核心要素也在一次次讨论中得到了确定:
- pvp重生:简单的spawnpoint指令
- 村民交易:借由Shopkeeper插件完成
- 资源点刷新:使用原版CommandBlock在隐形的小盔甲架下刷出
- 地图破坏的限制:使用Gm2冒险模式来进行模拟,对地图的方块进行选择
- 床的检测:使用原版CommandBlock检测方块状态完成
在开始制作之前,我和zyy首先绘制了思维导图,以确保后续构建地图的时候不会出现遗漏和错误。
我们大致将游戏分为了三个部分:准备阶段、游戏阶段、结束阶段。
地图的修建
在地图的选择上,因为冒险模式带来的限制,zyy选择了YC四大神图中的吃豆豆地图,并且找到了一些尚存的、老起床的小游戏服务器,使用WorldDownload模组获得了完整的吃豆豆世界地图。
在获得了完整的地图之后,便就是考虑复刻在Ria中的事情了。我们最开始计划修建在莉亚匹克或者遥远的北海附近,但是为了方便调试,最终还是选定了位于zyy工业区附近的一片广袤的内海之中。
选址完成之后,便就是复刻的事情了。
在WorldEdit小木斧的帮助下,快速修建球状物体并不是什么难事。借由//hsphere指令,我很快地修筑起来了完美的球体,得益于起床地图的高度对称性,//copy、//rotate、//paste、//flip指令被运用起来,完成了各队的复制以及颜色的替换。
准备大厅原本是修在地底,但是为了好看,特地修在了海面下方一点点的位置,这样的话,透过玻璃,玩家在准备之余,还可以一览海底景色,(本来是想营造出像鹦鹉螺号的感觉的,可惜的是透过玻璃之后根本看不到什么海底风光a!)
选择球体还有一个好处,就是在球体的上半球被当做场地的时候,下半球同样可以当做各种指令方块的摆放处,不仅隐蔽,而且便于修改查错。
未来可能会有新地图的加入。
指令的构建
这一部分的主要负责人是zyy,由于zyy不是议员,这一部分的常见流程就变成了:
zyy在单机调试-我在游戏内复制-截图反馈给zyy-返工……的循环。
在zyy的努力下,我们构建起来了有效的指令网络,以命令方块实现了许多起床战争中借由插件才做出的功能,包括但不限于:
- 准备大厅的进入限制:空包、空末影箱
- 从莉亚匹克检测后的跳转
- 自主选队、队伍标签给予
- 自动平衡队伍人数(这个其实尚待改进,现在的机制是只要不是全一个队就能够开始比赛)
- 传送指令的限制使用
- 人员的传输
- 各个资源点的刷新
- 物品的定制标签、附魔
- 对于冒险模式的支持,例如物品的CanDestory、CanPlaceOn标签等
- 物品掉落时自动重新赋予标签
- 玩家死亡检测、提醒
- 床的状态检测
- 玩家的重生定位、无敌效果给予
- 胜利判定
- 右侧计分板显示床、玩家数量
- 退出指令
- 退出跳转至专用区域清空末影箱后正式退出
顺带一提,由于对于bug的处理与思考仅仅由我和zyy两个人在做,所以可能实际规则中是有漏洞的,如果发现漏洞请及时反馈,也不要一心想着用bug来获得不正当的竞争优势,如果发现这种行为,你将会被永远记入鱼乐社的黑名单。
而在这过程中,服务器已有的插件们也帮了我们很多忙:
- ItemEdit的物品编辑,使得我们不用每个物品都要用指令方块给予;
- Shopkeeper的交易,使得我们不必用summon指令来召唤定制村民;
- Residence领地插件的权限设置,帮助我们限制了破坏和修建的权限,还阻止了怪物的生成、昼夜的轮换等;
有关领地在多提一嘴领地的从属关系,权当备份记录:
- bed_war_CDD:吃豆豆地图主领地
- sky_cdd:天空领地,防止翻墙离开场地
- sea_surface_cdd:海面领地,防止水被放置方块替换掉
- command_cdd:准备大厅领地,防止破坏
- [color]_spawn_cdd:重生领地,防止堵家破坏
- bed_war_JDC:角斗场地图主领地
- sky_jdc:天空领地,防止翻墙离开场地
- sea_surface_jdc:海面领地,防止水被放置方块替换掉
- command_jdc:准备大厅领地,防止破坏
- [color]_spawn_jdc:重生领地,防止堵家破坏
- [color]_spawn_[1/2]:位于角斗场出生领地两侧的翼状领地,防止玩家重生去往铜点的道路
- bed_war_enderchest:位于莉亚匹克,主领地,用于结束游戏后清除末影箱,防止物品带出
我
内测与公测
内测主要就是我和zyy拿着账号各种瞎测试bug,发现的小bug数不胜数,大bug主要就是村民交易Shopkeeper插件如果使用定制物品作为兑换物会无法正常兑换。
这里不得不提一下我们的辛酸史:最初发现问题之后,以为是放的时候不小心做错了版本,前后换了几次之后发现不是这;然后我们以为是领地没开trade权限,结果开了也不行;确定是Shopkeeper的问题后,我们一步步试错:从删除附魔,到删除CanDestory、CanPlaceOn的NBT,再到删除定制命名,我们终于确定了兑换物不是没有NBT的原版物品就会出bug的事实,被迫无奈取消了定制兑换物的决定…
公测则于2020/03/06~2020/03/07的下午进行,一共公测了两日:
第一日:
- 第一轮8人,2v2v2v2,平分了200奖金,并给予了未有实际运用的兑换物作为纪念品;
- 第二轮18人,9v9,平分了600奖金;
- 第三轮11人,3v3v3v2,无奖励。
其中,第一轮公测检查出了有关传送的Bug,十分感谢。
第二日:
- 第一轮人数7v7,平分了500奖金,随后作出了平衡性调整:大幅增加弓箭售价,由原本的1/6/9/13/5根削弱至6/12/18/24/2根;
- 第二轮人数9v9,平分了500奖金,随后作出了平衡性调整:撤销跳跃提升药水的交易,增加盾牌的交易;
- 第三轮人数4v4,无奖励,随后作出了平衡性调整:将箭的售价由2根/金降低至3根/金,力量药水的等级由2级下调至1级,并给予稿子类全类锋利II的暗增附魔;
- 第四~第十轮,无奖励,主要是测试可玩性,尝试修复掉帧问题,并发现关闭Mipmap可以有效提升帧数。
游戏流程
〇.注意事项
- 请提前清空背包和末影箱,到莉亚匹克准备(那里有着存物的箱子);
- 严禁在游戏途中使用传送指令;
- 严禁将游戏内物品携带出游戏场所;
- 严禁隔缝偷家;
- 严禁在游戏内使用右键创建箱子商店以获得不可破坏的箱子;
- 严禁恶意蹲守他人出生点能拆床却不拆,此行为视为刷分;
- 为了您珍贵的游戏体验,请勿在游戏内使用任何辅助小地图/自由视角/破损替换及类似的工具,以获得非正当竞争优势;
- 发现bug请及时反馈;
- 比赛过程中请保持网络畅通,掉线的话尽快上线联系议员以给予或者消除tag:
- 如果想要观战,请联系议员给予gm3。
注意事项的注意事项:
- 标有“严禁”字样和下划线的条目,如有违反,经过核实将会被记入鱼乐社黑名单!
- 我们虽然无法监管您是否在游戏内使用辅助工具,但仍希望各位玩家保持自觉
- 如果你的帧数较低,可以调整设置:选项-视频设置-品质-Mipmap级别:关
I.准备阶段
这个阶段最重要的就是队伍的选择,以及地图全局状态的重置。
为了防止携带非游戏内资源入场,我们将首先清除背包和末影箱作为进入游戏的先决条件;
玩家的进入方式为:清除背包和末影箱后,站在位于莉亚匹克附近的深色橡木台阶平台上,即可进入游戏场地。
加入队伍也很简单,玩家只需要站在彩色羊毛上即可加入队伍。每个玩家的ID会变成彩色的“[队伍]玩家名”,玩家都可以看见除自己以外的人的ID,方便区分队友和敌人。
目前,队伍人数需要玩家自行平衡,并不能自动化。
推荐分队2队/4队,如果3队的话地理位置上会出现不平衡。
当玩家没有清空背包却进入准备大厅之后,会被强制tp至莉亚匹克传送点。
如果议员想要进入观战,需要先将自己的模式调为Gm1/Gm3,再执行/res tp bed_war_[CDD/JDC]。
当队伍分配完毕,没有生存玩家站在彩色羊毛之外的时候,游戏进入进程就会开启,倒数5秒之后,所有玩家将会被tp至上方的游戏场地。
II.游戏阶段
这个阶段基本没什么说的,只要玩过都懂。
目前每个队伍会有5个村民以供交易,他们是:
| 村民名称 | 交易物 | 售价 | 村民名称 | 交易物 | 售价 |
|---|---|---|---|---|---|
| 装备商 | 皮革帽子(保护I) | 1铜 | 杂货店老板 | 平滑沙石x3 | 1铜 |
| 皮革护腿(保护I) | 1铜 | 末地石x1 | 5铜 | ||
| 皮革靴子(保护I) | 1铜 | 猪排x2 | 4铜 | ||
| 锁链胸甲(保护I) | 1铁 | 金苹果 | 2铁 | ||
| 锁链胸甲(保护II) | 3铁 | 箱子x1 | 1铁 | ||
| 锁链胸甲(保护III) | 7铁 | 末影箱x1 | 1金 | ||
| 武器商 | 击退棒(击退I) | 8铜 | 末影珍珠 | 30金 | |
| 钓鱼竿 | 8铜 | 工具商 | 铁镐(效率I) | 3铜 | |
| 金剑(锋利I) | 1铁 | 铁镐(效率II) | 2银 | ||
| 金剑(锋利II) | 3铁 | 铁镐(效率III) | 1金 | ||
| 金剑(锋利III) | 6铁 | 钻镐(效率III) | 5金 | ||
| 铁剑(锋利II,击退I) | 3金 | 速度药水I(时间3:00) | 1铁 | ||
| 金斧头(锋利II,耐久II,击退II) | 15金 | 力量药水I(时间3:00) | 1金 | ||
| 神箭手 | 无附魔 | 6金 | 注:
| ||
| 力量I | 12金 | ||||
| 力量II | 18金 | ||||
| 冲击I,火矢I | 24金 | ||||
| 箭x1 | 2铁 | ||||
| 箭x3 | 1金 | ||||
| 盾牌[耐久16] | 48铜 | ||||
游戏中的教程可以参见由Level_D撰写的小游戏帮助:起床战争新手指南哦~
资源的刷新频率为:
- 铜(红砖):1s/个
- 铁(铁锭):10s/个
- 金(金锭):30s/个
在吃豆豆这张地图中,每个队伍的基地拥有2个铜点,空中有4个铜点和4个铁点,中央有9个金点。
观战玩家的创建流程为:
- /gm 3 ID
- /tphere ID
- /team join text1 ID
III.结束阶段
在这个阶段,获胜者可以有一段的庆祝时间,随后需要输入/trigger [chidoudou-leave/jdc-leave]来离开游戏;
*此部分不符合命名一致规则,但因涉及命令方块链,修改较为麻烦,我们暂时不会做更改。
每个玩家都会先跳转至莉亚匹克下方的一片领地,清空自己的末影箱,以防止游戏内物品被带出。
清空完末影箱后,就会再次跳转至莉亚匹克传送点,并调整模式至生存模式,彻底退出游戏,随后你可以拿走你寄存在莉亚匹克的物品(如果有的话)
议员指令流程
准备阶段
I. 开启游戏需要有议员输入以下指令:
吃豆豆
- /scoreboard players set chidoudou bw-stats 0
- /scoreboard players set can-join chidoudou 1
角斗场
- /scoreboard players set jdc bw-stats 0
- /scoreboard players set can-join jdc 1
II. 随后,需要议员使用Gm3到达准备处的深色橡木台阶下的基岩屋内手动拉杆选取地图;
III. 议员如果也要参与游戏,需要Gm0走正常流程进入;如果仅观战,先切换模式到Gm1/Gm3,随后/res tp bed_war_[CDD/JDC]即可
IV. 议员需要进入准备大厅下方的命令方块区的第一层中间,找到一个1x4的四联指令方块并按下按钮,更改玩家可以看见的计分板;
V. 观战准备:
- /gm 3 ID
- /team join test1 ID
- 如果出现test1队伍显示积分板于当前游戏地图不一致的情况,需要手动更换显示的计分板:
更改至[吃豆豆-游戏状态]:/scoreboard objectives setdisplay sidebar.team.black chidoudou-stats
更改至[角斗场-游戏状态]:/scoreboard objectives setdisplay sidebar.team.black jdc-stats
游戏阶段
I. 如果出现了隔缝偷床,首先将违规玩家ID记录在案,随后强制其退出游戏并且复原床位:
- /sudo ID spawn(该指令会强制玩家TP主城时,失去游戏资格)
- 给失去床的队伍重新摆放床(无论哪个颜色队伍均放置红色床,放置方向背对地图中心面向地图外即可)
- /scoreboard players set [red/yellow/blue/green]-bed [chidoudou/jdc] 1,根据地图名称和队伍颜色输入恢复床指令。括号内为可选参数,依次对应队伍颜色、地图
e.g.吃豆豆地图的绿队床:/scoreboard players set green-bed chidoudou 1 e.g.角斗场地图的蓝队床:/scoreboard players set blue-bed jdc 1
II. 如果出现玩家在隔缝偷床后死亡,如此恢复:
- /tphere ID
- /team join ID bw-[cdd/jdc]-[red/yellow/blue/green]
- /gm 2 ID
- /scoreboard players set ID [chidoudou/jdc] 1
III. 如果出现了玩家的宠物带入了场地:
- /minecraft:kill @e[type=wolf,distance=..150]
- 记得在游戏结束后补偿宠物
结束阶段
I. 如果有玩家迟迟没有退出,可以由议员替他执行
- 吃豆豆:/sudo player trigger chidoudou-leave;
- 角斗场:/sudo player trigger jdc-leave;
II. 复原观战玩家状态:
- /team empty test1
- /sudo ID spawn
- /gm 0 ID
III. 清理场地
- 使用小木斧或者//pos1 //pos2指令选中整个场地,可以直接/speed 10,然后到达边界交角以设置选区,选区大小在百万方块级别也没有关系;
- 清除切制砂岩://replace cut_sandstone 0
- 清除末地石://replace end_stone 0
- 清除末影箱://replace ender_chest 0
- 清除箱子://replace chest 0
- 手动复原床位:
- 清除掉落物,需要在4个家和中间共计执行5次:/minecraft:kill @e[type=item,distance=..150]
留言区
请在这里畅所欲言吧~
qwq——NanamiYukari
yc的经典起床!满满的回忆啊!——XQ_SiJI
辛苦了!可惜的是因为没有电脑而无法参加,这回就只能看看直播了 ——A_Magma_Block