Skip to content
This repository has been archived by the owner on Aug 23, 2022. It is now read-only.

Small Update to Serpent #212

Open
wants to merge 69 commits into
base: dev
Choose a base branch
from
Open

Small Update to Serpent #212

wants to merge 69 commits into from

Conversation

Martyn0324
Copy link

@Martyn0324 Martyn0324 commented Oct 18, 2021

I got really excited to put some Reinforcement Learning in practice with my favorite games thanks to SerpentAI. However, I've ran into some problems while trying to make Serpent work (sorry for the emails, Nicholas Brochu).

In order to prevent anyone else to have to deal with those problems, I've opened a fork and added some modified files, mixing the old Serpent codes with the new ones from 2020 version. I also modified some codes in keras that were generating compability errors(since the code was still for keras < 2.0 and tensorflow V1).

I was also having some problems with window controller, since pywin32 wasn't extracting the correct size of my game's window. I added an import pyautogui to fix this problem.

List of modules currently being used.

The version of these modules MUST BE RESPECTED as many parts of SerpentAI's code has been created using those versions (specially keras, which won't work when using versions after 1.2.2)
Some files in site-packages need to be modified in order to work approperly with SerpentAI. For more details, see **Issues**
To the point that the flaws it has are just minor inconveniences, obstacles waiting to be transpassed.
Create a game plugin called Jigoku_kisetsukan in Serpent, then copy+paste these files into that folder since GitHub simply deletes the init.py files
So RainbowDQNAgent gets able to use continuous commands, like moving the mouse arrow.
...so it will install a keras compatible version
In order to increase OCR accuracy.
Now, showing only the modules that have to be modified after the setup (especially "serpent setup ocr" and "serpent setup ml")
Now, showing only the modules that have to be modified after the setup (especially "serpent setup ocr" and "serpent setup ml")
Those are the modules I've been using and they're working just fine.
Fixing RunTimeError. Check (#3) item 4 for more details.
This is exactly why I created this fork.
Now, with only a simple, light and efficient list comprehension, we can make our AI move the mouse cursor to any point of our scren.
Now, with only a simple, light list comprehension, we can make our AI move the mouse cursor to any point of our screen.
So our dear AIs can see the colors of _virtual_ life.
so our dear AIs can see the colors of our many virtual lifes
So our AIs can see the colors of our virtual life.
It depends on which CUDA version you want to use.
@Martyn0324
Copy link
Author

I've also added a new improvement: now, it's possible to use mouse inputs. You'll be able to play a point-and-click game without any problem(maybe you'll have some problems with response time if your GPU isn't that good...or if you updated your windows to windows 11...damn Microsoft).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
1 participant