Forum › Forums › Discussion › Programming in human error, other "needs"
This topic contains 1 reply, has 2 voices, and was last updated by Miqobot 6 years, 3 months ago.
-
AuthorPosts
-
July 9, 2018 at 4:28 pm #7478
TL;DR at the bottom.
On trial, about to pull the trigger, etc.
I’ve run a few scenarios I found here after editing some paths to be unique. I want miqo to run as close to a human as possible, so wanted to ask if certain programability was available, both in the terms of human logic and of human error. I will use simple gathering as an example.
On human logic: most scenarios that would gather, say, yellow scrip, would also use 650GP, making the occasional popping of cordials necessary. However, I, and I assume most people, would not simply pop a cordial like clockwork but instead wait a node out a bit to stretch every cordial use out as far as one can. What I need is something like:
if cp >= 650
gather
else if cp < 450
usecordial
else {
loop {
wait5gameminutes
<wait for cp to reach 650 normally, then gather and exit loop>
}
}Similarly, humans aren’t perfect. The number of times I forget to enable collectables is embarrassing. As such, and since I’ll be certainly getting enough collectables, I would like to introduce an automated failure chance. For instance, 15% of the time if I change classes between min/bot, “forget” to enable collectables for one hit, then enable and proceed as normal. Currently, I’m experimenting with a sort of randomness using different pathing depending on where I spawn in respect to an aetheryte, but I think I could be doing better.
Lastly, a certain type of logging. It would be nice for miqo to output certain details on a trigger, i.e. throwing positions of hunt marks filtered by 3D radar and their positions in the world, or the positions of potd/hoh wanderers compared to yours. Ideally I would have a persistent log.
These features might exist already, but I am terrible at searching and haven’t found the documentation required to make this happen. I also only have two hours on trial left, so I’m unlikely to find out in time.
In short, I’m wondering if the following is possible:
Conditionals (if/else; do/while) for vars shown under the “monitor” tab
Random chance generation
Game metadata logging (e.g. position of item/mob instead of simple “is it drawing”)If these don’t exist… maybe I could offer my services? I have a decent background in C and if my searches are correct, miqo uses C++.
August 8, 2018 at 12:51 am #7777- Conditionals
Yes, we plan to release a special API at some point which will allow extended customization of certain features.
However we do not try to create a new scripting language, this was never our purpose. In Scenario Engine, we try to keep things as simple as possible and we usually focus design around game features instead.
For example, we will implement a special function with smart cordial usage which will do it only when a cordial doesn’t go to waste (similar to “if GP < 450” in your example, but with more thorough GP management). And another function to wait for GP regeneration until certain amount (but to skip waiting if GP is enough).This will result in a very simple scenario which does exactly the same but is much easier to read and modify.
useCordial() waitUntilGP(650)
- Random chance generation
Yes, we have plans to introduce random variation in different features of Miqobot. We want her to behave as human as possible too.
At the moment we focus on completing the core feature pack and implementing several QoL solutions. When we catch up with the core development, we will be working on customization and behavior improvements.- Game metadata logging
This feature is already functional in Palace of the Dead and soon it will be upgraded for Heaven-on-High.
All Miqobot clients send detected trap locations to our server, which is later compiled as database into new Miqobot versions. This feature is called “Show known trap locations” and can be found in Advanced Settings.
You can read more about it here: PotD Traps DatabaseAs for overworld hunt marks, we do not plan to implement a logging system for them because there are other tools already performing this function.
However if at some point said tools become unavailable for players, we will consider reimplementing them as part of Miqobot project.Thank you for your requests very much!
-
AuthorPosts
You must be logged in to reply to this topic.