
最近在折腾一个强化学习项目,用模拟器跑 GBA 的星之卡比训练 AI 。
需要根据当前关卡设置奖励机制,但翻遍内存都没找到关卡编号藏在哪个地址。
要找出来也不容易,关卡一过,有太多内存数据变了,而且也不确定关卡是通过什么方式存在内存的。
事实上,如果能找到“场景 (scene)”的内存地址也行,可以防止 agent 来回玩同一个场景刷奖励。
感谢
1 kimozzz 258 天前 这个不太清楚是什么语言写的,它的汇编架构是什么? 直接用 IDA 反编译找出来他的存储结构就好了 然后一级一级读就好了 |
2 levelworm 258 天前 I don't play GBA games, but looks like there are too many Kirby games. Which one are you talking about? Kirby: Nightmare in Dream Land This one? |
3 akinoniku OP @levelworm #2 yep, that's the one. It doesn't really matter which game it is, though. I would just appreciate some general ideas to help me carry on with my work =v=. |
4 akinoniku OP |
5 kyokuheishin 258 天前 via iPhone 我记得梦之泉豪华版有个粉丝制作的关卡编辑器,可以去看一下那个怎么实现的 |
6 kimozzz 258 天前 @akinoniku 有点麻烦 得先把 GBA 的 ROM 文件搞明白才能提取出来汇编代码 是 arm 架构的 |
7 ysc3839 258 天前 GBA 是 ARM 架构的,估计可以拖进 IDA 反编译 |
8 SLKun 258 天前 GBA 相关的技术信息可以参考这个, 有很多底层硬件细节: https://problemkaputt.de/gbatek.htm |
10 misdake 258 天前 搜“Kirby's Adventure memory map”,我看有个网站有 RAM/ROM Map ,可以主要看 ram map 和 notes 里的“Rooms”一节 |