python自走棋_GitHub - pumpkye/AutoChess: 自走棋战斗模拟器,搭配双方阵容然后模拟战斗,得到战斗结果,希望借此探索更加平衡的棋子设定...

这是一个使用Python开发的自走棋战斗模拟器,旨在研究和平衡棋子设定。项目包括简化的职业种族设定、棋子间的战斗逻辑、阵容价值和羁绊计算等功能。通过模拟战斗,输出战斗结果并进行平衡性调整。目前实现了阵容保存、战斗回放等功能,并计划进一步优化阵容输入、棋子属性显示和战斗动画。
摘要由CSDN通过智能技术生成

AutoChess

自走棋战斗模拟器,搭配双方阵容然后模拟战斗,得到战斗结果,希望借此探索更加平衡的棋子设定

基于完全独立开发的战斗逻辑和独立的职业种族设定(主要是简化),跟DOTA2上的自走棋数值和棋子设定完全没有什么关系,但是玩法和基本规则是一样的,目的是为了探

索一套适合自走棋玩法的平衡性设定方法,使得羁绊和棋子的强度更加平衡,加入新棋子和职业的时候其强度也更加合适,而不是太强或者太弱,避免平衡性调整时不是太强

就太弱的窘境。

这个项目的内容被我搞得越来越多(emmm...做不完的感觉),如果有对这个有兴趣的朋友欢迎合作

打开方式:

使用cocos creator v2.0.9 打开根目录下的autoChess工程,在cocos里使用浏览器运行预览即可

点击棋盘上任何一个格子,弹出的框里输入npcId+level,例如1023哈斯卡,等级2,则输入10232

点击开始战斗,在浏览器控制台查看战斗结果

已经实现的功能:

向棋盘上布置棋子,并显示阵容的总价值和羁绊情况

棋子之间互相战斗,包括目标选取,移动,攻击,攻防血护甲设定,棋子行动顺序,攻击和技能范围,伤害计算公式等

简化的设定包括3个职业+6个种族,每个种族4英雄,一个24个英雄,所有24个英雄的技能和职业种族buff效果都已实现

战斗结果和过程中的技能释放/伤害/buff/控制等信息在浏览器控制台可以看到。

保存在棋盘上设定的阵容(另有一个简易的web服务器用于保存和读取阵容)

模拟保存的阵容之间的战斗得出各个阵容的胜率(抽出了一个不包含ui和输出的版本,该版本运行在的nodejs环境下,用于大量执行阵容战斗模拟,在我的家用机上

i5-8400一个线程每秒可以执行300回合对战)

计划中的功能:

阵容输入优化,目前在棋盘上布置棋子是通过在弹出框上输入npcId+level的方式,可视化并不理想,考虑改成左边一个npc列表,然后点击选择,右侧显示棋子属性

和技能,下方按钮确认的形式

棋子属性显示,显示任何棋子的攻防血,技能等信息

战斗回放,现在所有的战斗过程和结果都是打印到控制台的,希望添加一个简易回放,直接在布置棋子的棋盘上显示战斗的过程(位移,血量/蓝量,释放大技能等)

引入技能弹道,目前所有技能和攻击都是即时生效的,间隔主要靠cd和蓝量控制,后面希望引入弹道/抬手等机制

更加遥远的计划:

添加一个游戏服务器,实现卡池发卡和轮次循环,发钱升级等,这样就能当成游戏玩了

为前端添加npc渲染和技能特效,这样比较像一个游戏

基础设定:

升星数值提升为100%,三合一升级,升级后的数值相对前一等级提升100%

具体数值根据模拟战斗给出的强度进行调整,这里的数值只是举个例子,最近几天我在跑平衡性测试的时候已经修改的面目全非了 ^_^

以职业互克为基础,战法贼三个基础职业,每个职业8个npc,所以职业buff很好凑的

三大职业buff为3/6,数值加成为30/60

战士:近战物理攻击,拥有强大的物理减伤,低魔抗

法师:远程魔法攻击,脆皮

贼:移动速度快,高物理爆发

种族提供能力加成2/4,数值加成为20/40

兽人:更高的血量 200/400

野兽:更高的物理攻击 20%/20%

人类:更快的技能cd 20%/20%

血精灵:更强的法抗,20/20法抗

矮人:降低受到负面效果影响的时间20/20,并且获得血量回复10/20

巨魔:增加攻速,35/35

npc的具体技能在工程的data目录下有两张excel表,可以看到具体的npc技能设定

关于运行在node.js的战斗模拟器

从AutoChess中抽出核心战斗模块

根据一定规则生成大量随机阵容进行对局,统计和分析战斗结果,并依此修改棋子的数值,然后再跑该测试,反复迭代,能使得棋子的整体强度往预期的方向上收敛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值