Skip to content

为CSGO人工智能ai铺垫的csgo api 读取和执行必要的信息和决策

Notifications You must be signed in to change notification settings

jackal-u/CSGOAPI

Repository files navigation

description

此为吉林大学JackaL-U学生AI开发组的一个强化学习项目的API部分代码。开始于2020年初。 现由在ARXIV 上 清华朱军教授和cambridge Tim Pearce已经有了类似的工作(https://arxiv.org/abs/2104.04258) 因此我们选择将代码开源,希望能够帮助到一些希望 从内存信息中读取数据并训练AI 的贫困开发者们。

本api的作用和目的,就是实现对游戏人物状态地址的读和写。

从而最终实现为人工智能算法提供输入和输出、奖励函数(请忽略奖励函数)。

因为这个项目的代码后期修改的比较杂乱,可能会有一些强耦合的内容,还请各位酌情修改,鄙人每周日会定期上线合并代码。 [联系 stone91 370025263@qq.com]

注: ** hazedumper.exe **为开源社区的项目,其自动获得csgo每个版本的基址,免去了手动CE找地址的繁琐。

config.json是dumper的配置文件,不同版本的配置有所不同。

基址+偏移量=最终·地址

项目最终期望完成的输入函数:

1.自己当前位置
2.自己当前的枪口指向
3.自己的血量
4.自己的金钱
5.自己的装备列表
6.自己当前的武器名称
7.自己当前武器的子弹
8.自己护甲状态
9.自己和队伍的金钱
10.当前自己和敌人的比分
11.视觉矩阵
or[枪法机器人]
1.自己当前位置
2.自己当前的枪口指向
3.自己的血量
4.自己的金钱
5.自己的装备列表
6.自己当前的武器名称
7.自己当前武器的子弹
8.视野范围内的敌人的位置

# todo
1.队友当前位置
2.队友当前的枪口指向
3.队友的血量
4.队友的金钱
5.队友的装备列表
6.队友当前的武器名称
7.队友当前武器的子弹
8.队友护甲状态

奖励:

1.KD比
2.金钱增量
3.本局胜负
4.总胜负
5.自己和对方比分

输出:

1.自己鼠标指向 [x轴(+180-180),y轴(+-90)]      2
2.是否开火  left                               1
3.是否开镜   right                               1
4.购买列表(这个可能要脚本实现) 
5.是否拆弹、安包  e  [e] 0 1                         1
6.移动方向wasd    [w,a,s,d] 用 0 1 表示              4
7.跳跃            [space] 0 1                     1
8.蹲起                [ctrl] 0 1                    1
9.是否更换武器,更换武器名称  [0,1,2,3,4] 用 0 1 表示      4
10.是否丢弃武器    [g] 用 0 1 表示                               1

总结: 输出执行脚本 应该等待输入,消费长度为消息16的列表

KOR1: 实现上面基础API(done) KOR2: 写一个基于脚本的决策机器人。(done) KOR3: 探索服务器端强化学习的可能性。(没钱、暂时废止) 解决视觉的问题。

About

为CSGO人工智能ai铺垫的csgo api 读取和执行必要的信息和决策

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages