aguunu / fishing-jigsaw

Compute optimal actions for a specific state of the Metin2 fishing jigsaw making use of reinforcement learning principles.
MIT License
10 stars 2 forks source link

Possible integration #1

Open bearkillerPT opened 1 year ago

bearkillerPT commented 1 year ago

Hey! I've created and been updating an opencv bot for metin2. For now it farms metins in most initial maps and I just added the fishing game. I liked the predictions from your model. I was thinking if it was possible to build an "api" executable in which I can pipe the current context and the new piece to get a prediction and then if it doesn't fit I'll drop it and redo.

Do you think it would be something interesting? I've never written rust but I'm an admirer!

bearkillerPT commented 1 year ago

My cpu is an amd ryzen 5650G so it might be quicker. Check the new version I shipped now. There's a version that doesn't work as well for me but that doesn0t try to predict the fish direction. It just click where it detects it. The other one is now only clicking every 3rd screenshot so that a circular array is used to estimate the direction. You could make that array size 2 (it's the limit). You can record a video of you fishing like the fishing.mp4 I have in the folder and test there. BTW I'm new to all of this. The bot is pretty much alwasy solving the puzzle for me but most of the times I don't receive anything... The polling rode is almost at +2 and I'm just using worms... How can I better my chances?

aguunu commented 1 year ago

Hello there,

I wanted to clarify the primary objective of this project. The main focus of this project is to develop a software capable of analyze and suggest promising moves within the fishing game. While the creation of a bot is not within the scope of this project, I am open to the idea of implementing an API that would allow you to integrate the code into your software. However, I must acknowledge that crafting an API for this project without an in-depth understanding of the code's intricacies could prove to be a complex task. If you need help or have any questions, please don't hesitate to reach out to me. Your collaboration and interest are greatly appreciated.

Best regards, Agustín.

bearkillerPT commented 1 year ago

The comment I wrote was supposed to be on a different issue. I’m sorry about that. I’ve built and used your app. It would be cool to have an executable to which I can pass the grid of occupied squares and the piece and get either a top left position of the piece on the grid, if any move is possible, or nothing if no move is. The idea would be to use it as a console that one of the two things after evaluating the args. I haven’t actually looked at your code just because I don’t know much about rust. Would this be easy for you? If not I’ll consider doing it myself later on in the project! Thanks anyway!

aguunu commented 1 year ago

Hi!

It does not sound really hard. However, you should know exactly how the logic of the Jigsaw struct works in order to make an interface with your code. About the algorithm that is used to compute optimal actions, you could treat it like a "black box". I could implement an API or something like that, so you can use with different programming languages, but the problem is that I do not have enough time nowadays. Maybe in a couple of months I'll be spending more time on this project and adding more features like an API as you mentioned earlier.

If you have any questions, feel free to contact me :).