bennybroseph / AutoHotKey_Scripts

AHK script used to play games similar to Diablo 3 with a controller
41 stars 11 forks source link

V4. 2 Bugs + Improvements (Path of Exile) #3

Open Naughty-Maggot opened 4 years ago

Naughty-Maggot commented 4 years ago

Firstly, this is an amazing project, everything you've implemented so far is brilliant, especially the Configuration menu that allows you to edit almost every aspect of it.

I'm running Path of Exile with DS4Windows on Full screen Windowed at 1440p and everything with the upscaling seems to work really well. I haven't had many issues with the basic operations and I've been able to play the game relatively easily once I adjusted keybindings etc. however, there are some bugs I've noticed and also some ideas that could potentially improve the experience.

The End.

Haha, I'm really excited about this project and I think you've done an amazing job so far. The reality though I assume is that working on your own even if you completely agreed with my write up, that amount of work would take hundreds of hours more.

Where are you at currently with development and time spent on it? What assets do you have available and are you seeking partners to work on this with you? I myself have little knowledge but would be willing to learn and provide assistance.

I'm more interested in the POE side of this development. What programs would I need to edit and expand this sort of thing on a professional level?

bennybroseph commented 4 years ago

Sorry it's taken a bit to get back, but obviously this is just a hobby and so I gotta find time for stuff like this.

First of all, this is a really good write up. I think we're both on the same page for most of these suggestions. It's things that I've wanted to add but need more time. I'll try to go through each bullet point.

  1. I'd like to do something like this, but I'm not sure how to do it as a setting. Different abilities have different ranges. I'd need to make one for each ability--which is not hard code-wise at all, but it makes the config more and more cluttered. I may consider it and if I do it would be in a new tab for the Keybindings.ini called like [Ability Ranges] or something like that.

As far as targeting the closest enemy, this isn't possible with AutoHotkey. It's just not fast enough to do image recognition on enemy health bars. I haven't tested it, but I am 99% sure it would be hours of wasted code trying to see if it would work.

I think the best work around is to use the left stick for now just like the right stick. Set Movement_MinRadius to the current max and increase the max radius to a larger value. That way there is some wiggle room.

  1. I'd need to see a video or screenshot of this. I'm not getting the visual from your description. It doesn't sound intentional and is a result of your setup being different from mine in a way I didn't test.

  2. I get this in comments on my YouTube all the time, but I don't understand why. It's fine on my system with an Xbox One controller. The workaround seems fine for now since I'm not sure if it's my setup or not.

  3. This is a weird way that the input validation code I wrote works. I'm thinking of a workaround, but it hasn't been high priority. I will try to think of something or remove the validation.

  4. I don't know if I released the version yet or not, but there is already an option to offset the inventory grid by any amount of pixels you want. Check Offset_Width in [Inventory]

  5. I will check this out and fix it.

  6. I have fixed this in an unreleased version.

  7. I will check this out and fix it.

  8. I've had plans to expand the inventory system, but it's a lot of work and trial and error getting the pixel values right. It's not hard, just tedious. What you explained though is exactly what I planned on doing if I could find the time.

As far as a keyboard pop-up, I'm not sure if I would do that any time soon. I'd love to implement it, but the first thing I'd do instead is see if there is a way to control the windows popup keyboard with a controller instead. No need to reinvent the wheel.

  1. I'm not sure the issue you're running into. Free Target mode already exists. Try it out and let me know if you run into issues!

  2. This is actually something I never considered was annoying. I will consider implementing it as described.

As far as helping with development, this is unfortunately something that I have to code myself. If you would like to submit pull requests through GitHub I have zero objections, but direct collaboration just isn't feasible for a pet project that I only work on when motivated.

However, I could always use a sort of bug tester. I'm not expecting detailed stuff like this, but just someone other than myself to test releases before I send them out. Keep in mind this would be very infrequent and kind sporadic. There would not be any sort of commitment--just when I have an unreleased build I'll send it your way. Test it or don't, it's up to you. If I don't hear back no worries.

This is my discord if you'd like to message me further: BennyBroseph#8375 Email is a little long form and too formal for a back and forth.

On Mon, May 18, 2020 at 3:42 PM Naughty-Maggot notifications@github.com wrote:

Firstly, this is an amazing project, everything you've implemented so far is brilliant, especially the Configuration menu that allows you to edit almost every aspect of it.

I'm running Path of Exile with DS4Windows on Full screen Windowed at 1440p and everything with the upscaling seems to work really well. I haven't had many issues with the basic operations and I've been able to play the game relatively easily once I adjusted keybindings etc. however, there are some bugs I've noticed and also some ideas that could potentially improve the experience.

-

There's one issue that for me is a game breaking one, a reason why I cannot currently use the script to play the game past act 2. It's the movement abilities that activate in the direction you're moving. With abilities such as Shield Charge and Leap Slam they target where the cursor is, they have a variable range. This causes those abilities to only activate on the spot, instead of reaching their max range, so currently they're useless for movement. A fix for this would to have another movement field in the config menu for abilities that when activated would move the walk cursor to the max range in the the same direction when those abilities are activate. Similar to the targeting reticle that briefly activates the cursor at the targeted location. I could use them as normal abilities with the targeting reticle but I'd have to change the layout of all the abilities and it just wouldn't work very well.

Also an advanced option for this feature, which is present on the console version is that these movement skills can be targeted at the closest enemy to you. So theres an option to have the skill operate at max range all the time for pure movement or an option to target the closest enemy. For example if you have it set to target enemy then with Ground slam you can use it to traverse the environment very quickly as it activates at max range when there's no target present but then when an enemy is in front of you it will immediately target that enemy instead of overshooting them, which is very useful for certain builds. I have no idea if this would even be viable with this script though.

The targeting reticles path around the edge of the screen draws an unconventional oval, where the reticle moves closer to the middle of the screen when passing the centre of each side of the monitor. Is this a design feature? I can't see why it would be advantageous in POE.

The aiming reticle is inverted, I fixed this by altering the X and Y input in DS4Windows.

Under Set Keybindings for the D-Pad inputs, they correspond to #1 https://github.com/bennybroseph/AutoHotKey_Scripts/issues/1-5 on the keyboard. When attempting to edit that field you're only given the option to enter a number value and cannot input a letter or key name. You can edit this from the text document however. Also if you change a keybinding to a number you cannot change it back as you are presented with the same issue.

The inventory grid system is brilliant but when you select some types of armour the default position of the cursor in the item slot highlights the gem and not the armour piece, so you cannot move the item using the grid system. Not a big issue but noteworthy. A slight change to the cursor positioning would resolve this.

The inventory cursor reverts back to its previous location even though "Remember_Position" is set to false.

The R3 button on the image overlay doesn't appear. I can see the D-Pad arrows, Trigger and Bumper buttons but the R3 that is designated to the quick move flask isn't visable on the 5th slot.

Whilst the invertory grid system is active, if you activate the free cursor, the grid arrow still remains in the inventory, sometimes even when you've closed the inventory. I realise that holding the inventory button disables this but it has caused issues when trying to move items and then attempting to move afterwards etc. Making the grid lock D-Pad interface disable itself upon closing the inventory or pressing the space key (cancel all windows) would be a nice addition.

I have some ideas that makes the whole inventory and free cursor system work a lot better so please hear me out. Firstly with the grid system itself, I realise that time is precious and you probably have a lot of ideas for improvement yourself and in the future you probably plan to extent the grid system to cover the stash and shop grids as well.

This system would make moving items and interacting with the other grids much easier. So you'd develop 3 grids, one for the inventory (already done), one for the stash and one for the shops. Once these were setup you could then set the LB and RB buttons to navigate between them. For example pressing the inventory button would open the inventory and activate grid mode, you could pick up an item using the D-Pad and LButton (A) from the inventory and then cycle to the stash grid by press LB or RB, with said item still selected, use the stash grid to select which tile to drop it on in. This would also work for selling and buying items from the shop. I've measured the shop grids and each one sits on the screen at a slightly differently location but not so much that a single grid layout couldn't work for them both. There would be a slight overlap on the top and bottom of each one where the bottom row of slots would be below the grid on the opposite interface but even then those slots could be utilised to change tabs 1/2/3/4 whilst buying items and click dismiss and accept whilst selling them, one grid would be sufficient.

Furthermore to this grid system, there could be a keyboard grid, image overlay interface developed. This could be bound to a hold command on the R3 stick. So for example upon holding the R3 button, the in game chat menu would be selected(enter) and an on screen keyboard overlay would appear next to the chat menu, that was bound by a similar grid system using the D-Pad like the inventory system. This would utilise the chat feature in game, which is currently inaccessible when only using a controller. Holding R3 or closing all windows (space) would close the interface and resume normal input.

L3 currently releases the fixed position of the cursor to free mode to allow you to navigate menus easier and loot etc. A free cursor mode is essential in the PC version. However using R3 as the free cursor would be a lot more useful in my opinion (or at least have the option to make this possible for players that wanted to use it as such). I've personally ran into issues when trying to alternate between movement and free mode when using the inventory grid and a few other things with the Lstick.

Upon pressing L3 it would turn the Rstick from Aiming mode to Free Cursor mode. The Free cursor mode would only then activate when the Rstick was moved however, so you could still use the Lstick for normal player movement even when Free curson mode was active on the Rstick. Upon pressing L3 again the Rstick would resume its normal targeting mode.

Furthermore to this, a more advanced method of interaction between the use of said cursor actions would be that, for instance, when a D-Pad grid mode is active on one of the stash/ inventory tabs, using free cursor mode would temporarily suspend the D-Pad navigation briefly. For example I've opened the inventory and I'm using the D-Pad to navigate through it but then I decide to use the Rstick (which is already activate for free cursor mode) to navigate myself, the fixed cursor and D-Pad navigation would deactivate. Then when I release the Rstick, after a set time (2000ms) the D-Pad grid navigation would resume and return the cursor to the last known position. Basically suspending the grid navigation when using Free cursor, making it more user friendly, not having to deactivate grid mode manually like it's currently set up. (it would be cool if the inventory grid mode deactivated automatically on the current build when closing the inventory screen. It would also be advantageous if it also suspended itself while using the Free cursor mode). Closing all windows (space) would also deactivate said grid mode as well.

Notifications can be set to true or false. I've found being able to see their status very helpful but at the same time can get in the way of seeing things in the game. Therefore having the option for them to appear only briefly (3000ms) would be very advantageous. Also the ability to change duration etc.

The End.

Haha, I'm really excited about this project and I think you've done an amazing job so far. The reality though I assume is that working on your own even if you completely agreed with my write up, that amount of work would take hundreds of hours more.

Where are you at currently with development and time spent on it? What assets do you have available and are you seeking partners to work on this with you? I myself have little knowledge but would be willing to learn and provide assistance.

I'm more interested in the POE side of this development. What programs would I need to edit and expand this sort of thing on a professional level?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/bennybroseph/AutoHotKey_Scripts/issues/3, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADJSSEEONVL34GN6KH7AMWTRSGMUFANCNFSM4NENBGUA .

rifqimfahmi commented 3 years ago

I also got the FreeTarget mode inverted, is there any way for me to reverse it @bennybroseph from the config file?