Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Fundamental flaws in overall design of API #178

Open
Bia10 opened this issue Apr 12, 2022 · 1 comment
Open

[FEATURE] Fundamental flaws in overall design of API #178

Bia10 opened this issue Apr 12, 2022 · 1 comment
Assignees
Labels
feature Denotes feature or modification of a feature

Comments

@Bia10
Copy link
Contributor

Bia10 commented Apr 12, 2022

Is your feature request related to a problem? Please describe.

Currently there are two things which annoy me a lot on API design.

  1. Failures can accumulate rather then get resolved

If actions like interactions fail current API will try the same in hope of yielding a different result. That may be sometimes true, however in most cases accumulation of failures to do a certain task signalizes a deeper problem of strategy being undertaken to do the task. As such it doesn't make sense not to change a strategy/approach to the underlying problem.

  1. API enforces same player preferences for every single user

Currently interactions in many places in the API enforce the same approach for every user like there could be no alternatives.
This is entirely false, every OSRS user has his own set of preferences how to interact with lets say Interface Widgets, do I close them by using mouse and clicking on close button or do I simply press hotkey.

Describe the solution you'd like

  1. The API should incorporate in its design a rich response API, if a default strategy to do a task fails that's perfectly fine, lets move to a different strategy to do the same task, if that fails again lets move to a special strategy to do a task if that fails then lets stop trying to the task and minimize possible damages like being annoying to other players, getting stuck/idle, behaving weirdly etc..

So we have certain hierarchy of responses to do a task:
Default strategy -> Failure strategy -> Special failure strategy -> Damage control strategy

  1. Implement plethora of user preferences how to do things. Each user should have the right to decide his own set of preferences.

We should define a set of user preferences and make users set their values to whatever they want.

By user preferences I mean stuff like:

Do I move camera by hotkeys or mouse?
Do I active run always at certain value or do I have a certain tolerance above the threshold needed to active run?
Do I close interfaces with hotkeys or mouse?
How many miss-hovers/miss-clicks I do per certain task/time frame?
Do I dismiss random events or actually complete them and which of them?
What is the minimal visibility of npc/object/groundItem I am willing to interact them with?

The more user preferences we offer to users the better.

Note

It would be best to address these things as soon as possible while the API is still in very immature state, the more mature the API becomes the harder it would be to add these features and will require a rewrite.

@Bia10 Bia10 added the feature Denotes feature or modification of a feature label Apr 12, 2022
@GigiaJ
Copy link
Collaborator

GigiaJ commented Apr 12, 2022

This is actually like a slew of previous issues consolidated into one.
#12 #17 #28 #6
But this is a much cleaner and coherent description of each of those (ignoring one being a bug itself)
This is something I entirely agree with and wanted to work towards anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Denotes feature or modification of a feature
Projects
None yet
Development

No branches or pull requests

2 participants