English | 中文
在Minecraft里面来一场RTS游戏吧
本插件基于 PaperAPI
如果你想使用本插件开服务器,请使用Paper服务端1.19.4及以上版本
本插件目前依然处于开发阶段,尚未完成,无法直接用于服务器游玩
你可以在这里有一些视频介绍
插件初版介绍:https://youtu.be/Zz-B8ijCpZM
接坑预览介绍:https://www.bilibili.com/video/BV1AM411V7i3/
正在录制更多介绍性视频。
🚀 玩家的目标是摧毁所有其他玩家的基地。
🚀 一个团队可以有1-5名玩家,
🚀 每个玩家都需要建造建筑并使用AI去收集资源。
🚀 并使用这些资源来为AI战士制造武器和盔甲,
🚀 并使用这些武器和盔甲去攻击其他玩家阵营
- 游戏基本内容
- 游戏流程指引
- 单人战局(其他队伍用AI来代替,AI只会建筑升级,不会主动出击 另外设计一个小型地图)
- 建筑被攻击/拆除提示
- 基本游戏流程的实现
- 炮塔防御类建筑的实现
- 实现预设三种AI的全部效果
- 玩家自己挖矿获取资源
- 跟随玩家的NPC饿了系统自动分配食物
- 资源运输-矿车铁轨自动运输/NPC运输,NPC运输速率较慢,矿车运输速率较快,铁轨/NPC经过正门,大门优化
- 开始游戏时给初始资源,钻石镐菜单换成其他物品
- 矿物资源的分布设置,选定点随机生成,每个队伍周围矿物均等(生成概率100%)
- 地图道路更改,更改为连接队伍的核心,以便寻找 (虾壳)
- 维修机制:维修工程师/光陵修复塔,塔范围内的建筑自动回血,每X秒自动回一点血
- 防御炮塔需要消耗资源才能正常运行
- 增加消耗能量的飞行背包(鞘翅+烟花)
- 避免刷屏:奖励积分提示改为actionbar/悬浮字,防御塔补弹提示更改
- 玩家回城选项机制,需要CD
- 允许后进玩家加入游戏
- 建筑攻击提示间隔
- 部分玩家计分板显示失效
- 建筑有效范围显示
- NPC攻击玩家不掉血
- 玩家初始物品存放方式更改(是否设置为死亡不掉落,铁镐耐久度等)
- 积分面板更改显示其他队伍的团队积分
- 小队名字颜色区分,小队装备(染色皮革套)区分
- 玩家死亡掉落资源,死亡复活CD设置
- 防御塔强度升级更改:一级伤害低,无击退,攻击速率低,消耗资源少;二级伤害中等,击退低,攻击速率中等,消耗资源中等;二级伤害高,击退高,攻击速率高,消耗资源大
- 铁匠铺机制更改:铁匠铺NPC从主城获取资源随机造装备,装备玩家,NPC可用,可制造鞘翅,烟花等装备(喷气背包)
- 队伍数量可以根据配置文件调整
- 游戏结算
- 制作成完整的RTS小游戏
- 测试上线
- demo内部测试
- IMC服务器玩家公测,服务器IP:play.imc.re
- 游戏正式上线
- 附加内容
- 建筑皮肤
- 安排插件玩法官网,实现放资源(地图模板,建筑模板),可以考虑使用论坛程序
待定功能为开发组内部讨论尚未决定的相关功能内容,用于留作日志。对于决定要添加的内容将移动至
#开发任务
中。
-
游戏内容丰富
- 新手教程指示丰富
- 额外彩蛋成就奖励
- 副本(BOSS野怪)
-
ChatGPT接入(如何接入?详细讨论)
-
可以先从基本的剧情框架来设计,就是让chatgpt自行发展剧情,记录,并在游戏里展示,chatgpt4有预制选项,对于这类剧情框架设计挺有帮助的 (五郎)
-
游戏战绩可以考虑用nostr网络保存,去中心化的社交网络,有不可修改数据的特性,很适合用来保存战绩,也能起到宣传作用 https://blog.goro.top/archives/99d4.html
在使用本小游戏制作服务器之前, 我们希望你的服务器是BungeeCord形式的, 从大厅服务器登陆后,再从大厅进入本小游戏服务器。
请注意,下面所有建筑的 参考图 都是临时设计的,正式版会有所不同。
- STEP 1(等待玩家)
玩家进入小游戏服务器后,需满足N人(可在config.yml里面配置)在线后 自动开启倒计时。
在等待时间里面,玩家可以在我们预设的6个小队选择自己的小队, 等待倒计时结束后,如果玩家依然没有选择小队, 则会自动匹配到一个人数最少的小队。
- STEP 2(进入游戏)
玩家将被传送到各自小队的大本营,从信标处出生 如图实例:
大本营是每个小队最核心的建筑,如果大本营被拆掉,则本小队判定游戏失败!
玩家默认会拥有一把 镐子,和一本 建筑蓝图,
- 稿子可以用于挖矿获取资源
- 建筑蓝图对着地面按右键可以选择我们预设好的建筑并全自动建造
使用建筑蓝图选择建筑之后,玩家可以自己选择位置, 在这种状态下建筑还尚未开始建造,是可以右键地面随意更换位置的,如图:
建筑所需占位会用粒子以及falling block预览(上图得换新了)的方式展示出来确定位置之后只要按下shift就可以开启自动建造
建造建筑需要消耗游戏内的资源:绿宝石 获取方式目前有这几种:
- 撸起袖子自己挖矿
- 建造 矿场 让矿工AI帮你挖矿
- 野外击杀野怪小队掉落的宝箱有几率获取
- 拆除其他小队的建筑
目前可选择的建筑有以下几种:
1.矿场
矿场是资源收集类建筑.建造完成后会生成一个矿工, 矿工会全自动收集矿物,并存入矿场的箱子中, 收集的资源可用于建造新的建筑,或者给战士制作装备2.磨坊
磨坊是食物收集类建筑.建造完成后会生成一个农民, 农民会全自动种植小麦并使用骨粉催熟,当小麦成熟后 农民会将其采集并制作成面包并放入磨坊的箱子中. 请注意:每个NPC都需要食物补充能量,磨坊的是非常重要的建筑3.军营
兵营是战斗类建筑,建造完成后会生成一个战士, 战士会默认自动巡逻,当发现敌方战士或者是敌方建筑时, 会自动攻击敌方单位4.城墙
城墙是防卫类建筑,需要建造多个城墙点来保卫建筑 玩家需要选两个点,城墙会自动按照向量连线并自动建造5.城门
只要是自己小队的玩家,走近城门,就能自动开门6.防御炮塔
防御塔会从最上方的蓝色水晶发出激光,攻击任意一个在有效射程内 的敌方玩家,怪物等生物体,不会攻击建筑单位。 如果生物体躲在可以遮挡视线的方块后面,则防御塔会处于攻击盲区, 这种情况下不会攻击每个建筑都有自己的血量,血量被攻击到0则建筑被拆除
玩家可以利用上述的这些建筑来建造自己的城池, 利用AI来帮助自己更快速的获取资源,利用城墙,防御塔来保护自己的大本营
- STEP 3(摧毁其他小队)
当玩家拥有一定的资源后,可以建造军营,每个军营会生成3个AI战士。 谁建造的军营,战士就会跟随谁,小队玩家可以分配1~2个玩家带着战士 去进攻其他小队,将其他小队的大本营拆除后,会获得大量的积分奖励 当小游戏仅剩最后一个小队时,游戏结束
- STEP 4(奖励结算)
游戏结束后,会根据每个玩家的贡献情况来结算奖励 每种贡献所获得的奖励都不同,如下:
- 击杀奖励(小队玩家击杀敌方的人员或NPC产生的奖励)
- 拆除奖励(小队玩家拆除敌方建筑产生的奖励)
- 建造奖励(玩家建造任意一个建筑产生的奖励)
- 拆除奖励(玩家升级一座建筑产生的奖励)
- 胜利奖(小队获得最后的胜利)
其他奖励目前还未设计,等待后续更新
目前这个游戏有三个AI:
- 矿工
- 农夫
- 战士
注意,本插件需要依赖 CitizensAPI
.
所有运行所需的依赖插件都放在了 libs
文件夹.
第一个AI被称为“矿工”, 它是一个基本的AI。 它的主要功能是定位周围环境中的矿物并挖取它们。 当它饿了的时候,它会去农夫的箱子里找食物吃。 然而,如果农夫的房间里没有食物,矿工会回到家里等待。 这可以解释为矿工罢工,这是游戏中的一个幽默补充。
第二个AI被称为“农夫”, 它与《我的世界》中所定义的农夫角色相似。 它的主要任务是用锄头准备农田并播种小麦种子。 它还使用骨粉来加快种子的生长。一旦小麦成熟,农夫就把它摘下来做成面包。 每当他饿的时候,他就会吃背包里的面包。如果他的背包里有5块以上的面包 他会把它们放在农夫房间里的箱子里, 这样矿工或其他AI就可以找到它们并吃掉。 农民勤奋工作,因此被称为“无产阶级劳动AI”。
第三个也是最后一个AI是“士兵”。 他们的主要作用是保护其他人工智能和对抗敌人。 玩家可以选择命令士兵跟随他们与其他玩家作战。 此外,士兵能够摧毁建筑物,打破障碍,以及杀死其他玩家和实体。
所有这些人工智能都创造了一个简单的资源循环——农民生产食物, 矿工收集矿物并消耗食物,战士利用矿物制造盔甲和武器进行攻击。 使用此API,Minecraft可以转换为基本的RTS游戏。 如果你是一名程序员,你可以将各种人工智能融入你的游戏中。
除了人工智能,我发现每个人工智能都需要一个家来进行重生。 因此,我实现了一个自动构建功能,玩家可以选择一个位置来自动构建结构。 这部分代码与WorldEdit的paste功能实现类似,但也包含一些独特的差异。
希望你们喜欢。