Hi, all. I'm relatively new to the game. I'm an experienced software developer (though I haven't worked with C or C++ in years). I've spoken with radu about my idea, and he suggested I post in here to get some feedback and discussion about it.
Among several other improvements I want to try to make to the client code, I want to try to improve the mouse clicking user experience. Specifically, it seems that clicking (and the results of clicking) in the main world view window operates on an "exact pixel" basis. For example, you must click on one of the pixels of a flower to begin harvesting it (based on the current camera angle). At wide zoom amounts, this can mean very few pixels to click on. Trying to initiate combat with things like bunnies and brownies is significantly more challenging (frustrating?) than attacking large creatures like deer.
What I'm thinking is to just expand the code to consider an n by n square of pixels (or perhaps circle) around the mouse cursor, instead of just one single pixel at the mouse cursor. Then have the cursor operate just as it is now (including both hover and click functionalities), except the thing hovered over, or the thing clicked is the one that is closest to the mouse cursor within this pixel area.
When there is more than one small hotspot near the cursor, the UX will still remain as tricky to use as it is now, but if you are trying to chase a bunny down, and there's nothing else in the vicinity, this change should make it much easier to do so.
Any thoughts on this approach, or tips on where to start? I've only briefly browsed the code, but I've found such things as thing_under_cursor. I'm also thinking that this should be a toggleable setting, as it is likely to require a little more CPU power.