Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wonder if accessing game memory is necessary when training? #9

Closed
bbsxjy opened this issue Sep 14, 2022 · 1 comment
Closed

Wonder if accessing game memory is necessary when training? #9

bbsxjy opened this issue Sep 14, 2022 · 1 comment

Comments

@bbsxjy
Copy link

bbsxjy commented Sep 14, 2022

Hi TeaPearce,

Thanks for providing such a well written paper and presenting this project for the behaviral cloning track, really appreciate it. Me and my team are inspired from this and we are planing to do a research on other MMORPG games.

Before we start our project, I would like to consult you some questions regarding to this project codes which would defenetly help us to understand the concept better.

  1. In the file dm_record_data.py and dm_record_data_me_wasd.py, the application is actually open up the game process and access game's memorry to get internal game data like player position, x,y,z and height etc. So the question is, is it necessary to access game memory while recording game play data(especially for MMORPG/FPS game) for behavioural cloning working properly?
  2. If it is true above, after done training the model by using the data above, is it necessary to access game's memory when running agents to use model to play actual game? The reason I'm asking is because usually accessing to game's memory will be considered as hacks.
  3. Last but not the least, for 3D games, is the FOV, positions of player, yaw, pitch and roll required to gather as the meta data in order to do the behaviral cloning and make agents play like human?

Sorry if I'm asking too many questions! Really hope you can answer them since our team is now very excited about what the AI can achieve in the MMORPG games!

Best regards,
Whaley

@TeaPearce
Copy link
Owner

Closing this as handled this over email with the OP directly. Response as below:

For BC, we need to collect a dataset of observation and action pairs. How to collect this is the challenge! Ideally, one would have access to both the observation a human player is seeing, alongside the mouse and keyboard actions they took. If you have direct access to this, then no, you don’t need to delve into the memory or anything.

For CSGO, unfortunately, when scraping data from human players, I didn’t have access to the mouse and keyboard events directly. So how can we collect a dataset for BC? The approach I took was to use some tools from the hacking community to extract x,y,z coordinates (amongst other things) that would allow me to reverse-engineer the keyboard and mouse actions they player took.

At test time, it was not essential for me to parse the memory again, since I’m just applying the predicted actions to the game.

I hope my general approach will help you in whichever game you are focusing on. The specifics of what you need to collect will depend on the action space of the game, so I can’t advise too much there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants