Code Monkey home page Code Monkey logo

counter-strike_behavioural_cloning's People

Contributors

david-durst avatar teapearce avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

counter-strike_behavioural_cloning's Issues

No input from keyborad and mouse

Hello, i runned your project. And i don't understand why neural network not walking and not targeting on bots. I have all libraries, i have two models. But it's not working, idk, Could you help me?

Inquiry on Frame Analysis Optimization in Time-Series Model

Hello TeaPearce,

I've been exploring the time-series model you've shared, particularly the process where all 96 frames are passed through EfficientNet whenever a new frame is added and the oldest one is removed. This method "re-processes" the remaining 95 frames which have been processed already.

Could you shed light on the rationale for re-evaluating all frames with EfficientNet each time a new frame is introduced? Additionally, as someone deeply interested in learning and improving AI models, I wonder if there are any optimization strategies that could be implemented to handle this scenario more efficiently. Are there established practices to update the network incrementally or to cache and reuse the analysis of unchanged frames to reduce computational load?

Thank you for your time and for sharing your knowledge. Any guidance for a learner like myself would be greatly appreciated.

Guns are cool but what about swords?

i tried running this CSGO agent on Jedi Academy:

https://www.youtube.com/watch?v=kJIfxGQu4EA

i was hoping to finetune it on Jedi Academy data but the data gathering code is somewhat CSGO specific (unlike the agent code)

can i get any advice on how to modify the data gathering scripts to make this work?

i tried running them and replaced the csgo dll with the ejk dll

# if(tmp.name=="client.dll"):
if tmp.name.lower() == "rd-eternaljk_x86.dll":

but then it hangs in the main loop after 1 iteration

found client.dll
No more items in the iterator.
starting loop, press q to quit...
[]

not sure why, but there's a bunch of csgo specific stuff in the main loop of the data gathering scripts

any help would be highly appreciated

Really Cool

I am also learning artificial intelligence. I hope the author can open source as soon as possible and let us learn

Some problems about collecting data and model

Hey, Tea Pea
Thank you for your excellent work! Me and my team inspired by your work and try to use it in Retake Mode. There are some questions:

  1. We try to collect data from some experts. So the “hacking”(read memory) way is not available. But when we used Win32api collect data we found CSGO always renew the mouse place. Can’t get stable data. Did you have that question before?
  2. We try to use decision transformer in this model but the ai doesn’t work well (states & actions input). Did you used RL or transformer when you training? Do you have some suggestions to improve the performers?
    Looking for your response.

int too long to convert

ReadProcessMemory(game, address, buffer, readlength, byref(bytesRead))
it got overflow error: int too long to convert
I fix it as ctypes.c_long(address) but I don't know if it work because the memory it spit out always 0, i don't know because I got the wrong address or the code can't read because of the way I fix it

solved: just need to add ctypes.c_void_p(address) instead of address
but bear in mind that recent cs2 offset is kinda outdated and require to check and input address manually

I can't get the game screen when I run the screen_input.py.

Before the csgo version was updated I could get the game screen when I ran the screen_input.py.

When the version was updated to csgo2, I changed the window handle to Counter-Strike 2 on line 120 of the screen_input.py:
hwin = win32gui.FindWindow(None, 'Counter-Strike 2')

Then, I just get a black when I run the the screen_input.py:
20231107175530

Sometimes I can get the game screen, but it’s only a specific frame and it won’t change:
20231107180154

Other games

Hey there TeaPearce,

I saw a video by bycloud last year that mentioned your project. I loved to see it and inspired me that time to learn how to code and get into ai. I started to train an ai for image regognision, for the game I love the most, Siege.
I failed that time and tried to look up your code and couldn't find it (probably wasn't open source then).
Now I got back intrested in it and was wondering if I can try to rewrite some parts of your code to make it work on Siege.
Like I said, I love Siege and does not want to harm it in anyway, the bot will probably only play against other bots and maybe some human players but then on like privat servers, if it works and I am allowed to change the code.

I am trying to read your code and your comments are very helpful to under stand it.

Beside that, thanks for inspiring me
Best regards,
Bengeljo

Wonder if accessing game memory is necessary when training?

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.