技术原理
像素画面输入 → NitroGen 模型 → 预测手柄动作(方向键、按键组合等)
模型本质是一个视觉动作映射模型,输入游戏截图,输出应该执行的手柄操作
NitroGen 由英伟达(NVIDIA)开源的基础模型,专门用于构建通用游戏 AI 代理。其核心能力:
- 通过像素输入预测游戏手柄动作
- 基于**行为克隆(Behavior Cloning)**技术训练
- 在4万小时的电子游戏视频-动作数据集上训练
- 支持通过**后训练(Post-training)**适应未见过的游戏
环境准备
1. 创建 Python 环境
bash
conda create -n nitrogen python=3.12
conda activate nitrogen
2. 克隆项目并安装依赖
bash
git clone https://github.com/your-repo/nitrogen # 项目地址
cd nitrogen
pip install -e .
3. 安装 PyTorch
pip 默认安装的通常是 CPU 版本 ,需要手动安装 CUDA 版本
bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
模型下载与启动
1. 下载预训练模型
项目会下载模型到默认路径(可在项目目录中找到)。
2. 启动模型服务
bash
python .pt_ng.py # 启动模型,监听 5555 端口
服务启动后显示端口信息,不要关闭终端。
游戏运行流程
1. 启动目标游戏
手动打开要玩的游戏(如 Cuphead)。
2. 获取游戏进程名称
- 打开任务管理器
- 找到游戏对应的
.exe进程 - 右键 → 属性 → 复制文件名(不含路径)
注意:复制的是进程名称(如
Cuphead.exe),不是完整路径。
3. 启动模拟器连接器
新开一个终端窗口,执行:
bash
python connector.py --exe "游戏进程名.exe"
注意事项:
| 情况 | 处理方式 |
|---|---|
| 游戏名无空格 | 不需要引号 |
| 游戏名有空格 | 必须用双引号包裹,如 "Game Name.exe" |
| 引号问题 | 去掉自动添加的引号,否则报错 |
4. 进入游戏
- 在游戏中按下 Enter 让 AI 以 P2 身份加入
- 红色角色 = 人类操控,P1
- 蓝色角色 = AI 操控,P2
注意
游戏运行卡顿
使用模拟器时,游戏画面会明显卡顿,原因是:
- 模拟器会调整游戏引擎的虚拟时钟
- 保证模型以逐帧方式进行推理
- 这是正常现象,非故障
AI 血量初始为 1
AI 加入游戏时初始只有一滴血,这是设计如此。
连接顺序
运行游戏 → 启动连接器
(连接器不会自动启动游戏)
场景:
- 测试 AI 在不同游戏中的泛化能力
- 作为游戏 AI 的基座模型进行后训练
- 自动化游戏测试