Forum Replies Created
-
AuthorPosts
-
We don’t know the answer to this question.
As it is stated in the main status thread, Crafting Solver has not been tested with new Resplendent recipes.
Miqobot will correctly identify them and may attempt to craft them (as in she probably will not crash), but please do not expect anything. We don’t know how Crafting Solver will behave and what the outcome will be.
If you are planning to craft Resplendent recipes with Miqobot, please do it at your own risk.There is no active voting period at the moment.
We don’t know what new features the Endwalker expansion will bring and what the community demand will be. All we can say is that Level 81 Dungeon support has the highest priority, because it is a crucial feature that will unlock access to level 90 content for the development team. And this is not a thing to vote for or against, because any other choice will simply be inefficient.
The priority for other features will be decided by the community after Level 81 Dungeon is implemented.
By the time it will be ready, the community demand will most likely change several times, so any decision made today will be outdated.If possible. Have it hold Flourish if Technical is either available, or will be within… around 5 seconds?
Very well. This shouldn’t be hard to adjust.
That is fine. However, is it possible to have that change when your own Technical Finish is up? It can shoot to 100 incredibly fast if you let it get that high during technical when in a full party, leading to wasted Espirit. So having it be used highest priority when it reaches 80 or 71+ during technical should alleviate that.
All right. Shouldn’t be a problem either.
However, with very few macros/tweaks the Physical Ranged jobs were able to perform incredibly well in Savage with very little adjustment. They were the stars of assist mode, leading to rankings in the high 50s-70s on fflogs when in a BiS set of gear. It has been a great tool during progress, and nights where you need some extra help.
This is an interesting feedback.
While it is a pleasant thing to know, we would prefer if this wasn’t a common environment for Assist Mode in Miqobot community. It wasn’t designed to perform in Savage content and we can not make any promises that it will get better in the future. The arrival of Endwalker expansion might alter the way rotations work and we might not be able to achieve even the same level of performance.In any case, if you have managed to augment Assist Mode without 71+ abilities support, you can simply put them on a separate hotbar, instruct Miqobot to ignore it, and use the same macros and tweaks you used before.
Sometimes it looked like as much as 1/4th of the GCD was left when standard would come off cooldown, but Miqo would still choose another action.
Queueing is triggered at 96-100% of GCD cycle, which is approximately 100 ms before it becomes available. If there was 1/4th of the GCD left, it means that Miqobot would have to wait at least 500 ms more and clip the GCD on purpose.
It just feels like something is ‘wrong’ with or without GCD queueing enabled as compared to the previous patch.
The most likely explanation is the removal of GCD clipping that was previously occuring in Miqobot rotations.
Without GCD queueing, Miqobot waits for the icon to charge at full 100% before triggering the necessary keybind. There is a delay of 25-100 ms after every GCD cycle, which leads to an overall GCD drift.
With GCD queueing, this drift is removed and everything rotates slightly faster than before. Since the cooldown of Standard Step is not tied to skill speed, it may indeed arrive at different time within the GCD cycle. But this means that the cycle itself shortened, and the misalignment occurs due to increase in rotation speed.For example, if Miqobot triggered 11.75 GCDs within 30 seconds previously, now she fits 12.25 GCDs into the same period of time.
Another suggestion that I’m not sure is implemented or not would be to have Miqo focus on using a proc with the shortest remaining duration.
We can try making this adjustment as well, but it conflicts with another important rule. AoE procs have a higher priority than single-target procs, because they have a short range requirement. If we remove it, there might be cases when your character is forced to disengage from melee range and Miqobot misses an opportunity to trigger AoE procs.
This section was more of a potential bug report. Because there sometimes would be enough of the GCD recast left when Standard came up for Miqo to hit it. Instead choosing another regular GCD.
Of course, we can investigate this issue and try to find a solution, if you believe it’s really important.
However, please keep in mind that implementation of the GCD queueing system took more than 4 weeks and the result is +2% DPS on average. Addressing the issue with ability misalignment will probably take another 4 weeks with the potential outcome of +0.5% DPS. This is the exponential growth of improvement cost mentioned earlier.Recently the community has been asking us to shift the development focus on Scenario Engine, and new dungeons support, and perhaps even Triple Triad, and several other features. But unfortunately, our resources are limited and we can not work on everything at the same time. So we have to choose carefully what feature pack we are going to improve next.
Regardless, we are very grateful for the constructive feedback.
We will try our best to implement your suggestions.Now Miqobot will pop Flourish the second standard step goes off, but before using Technical. So It’ll Flourish, then start dancing, wasting precious seconds of the procs gained from Flourishing. This is a guaranteed loss of at least one proc.
Would you please clarify, what adjustment do you propose?
Should Miqobot replace Flourish with Devilment? Or should she delay both until Technical Step is complete?In the opener, you want to start your standard dance 15 seconds before pull.
There is no such concept as “opener” in Miqobot.
Assist Mode is based on a seamless list of rules that Miqobot follows regardless of the rotation phase. If you wish to optimize your DPS output, you have to perform the opener manually.I also am not sure when the bot is wanting to use Saber Dance.
Saber Dance is used when Espirit gauge is above or equal 81.
This is compounded even more in any endgame content.
The combat system of Miqobot is not competitive in endgame and never will be.
At the moment we have reached 90% of optimal performance, but the cost of every additional improvement after this grows exponentially.Please keep in mind, however, this is not the purpose of the Assist Mode.
Miqobot can help you progress new encounters and show decent performance in highly repetitive content, but she will never be able to surpass a human player in the raiding environment.Regardless, we continue working on adjustments. Please clarify how the rotation can be improved and we will try to implement your suggestion.
There is also an issue with the new GCD queueing and timing of some moves.
If you don’t like the GCD queueing algorithm, please feel free to disable it in Assist Mode settings. This is exactly why the community asked us to implement this option.
April 20, 2021 at 12:03 am in reply to: Preemptive request, Level ~81 and ~85 Dungeon support #29492I think the highest priority should be working on level 90 rotations
In order to implement level 90 rotations, we will have to level up all jobs to 90 first. And doing it without Trust Dungeons means an unnecessary large amount of manual work.
Unless you agree to spend the first few months of the expansion without any updates in Miqobot, we would like to avoid inefficient choices.Level 81 > 90 > 85.
Please keep in mind that if you select this order, then the community will most likely vote against implementing the level 85 dungeon when the time comes.
The release of new expansion will bring several weeks of complete Miqobot downtime. After that, each dungeon will require a full development cycle of 4-8 weeks. And if you wish to see level 90 rotations, it will take another development cycle. So by the time we finish the roadmap you propose, the game will be approaching Patch 6.2.
Yes, this feature has been requested, along with other improvements: Fishing wishlist
Some of them have already been implemented and additional options for advanced fishing are planned in the future.Thank you for your request!
- Nop, i don’t see errors in the log but i’ll try in few hours
- Less than 10 but i’m not full and i keep 5 empty slots to avoid the inventory full message cast from the game
Thank you very much. We now have an idea of what might be causing this problem. We will try to address it in the next version.
In the meantime, please use the workaround of activating deliverCollectables() twice in a row.
We apologize for temporary inconvenience.How do i avoid having miqobot using ley lines on black mage. I tried unselecting using heals and buffs and it still drops the ley lines.
At the moment there are four possible options:
- If you don’t wish Miqobot to use a certain ability, you can remove it from your hotbar.
- If you still wish to be able to use it yourself, you can put it in a macro and hide it behind a different icon.
- If you need to see the cooldown as well, you can put it on a separate hotbar and tell Miqobot to ignore it via Advanced Settings – Ignore Hotbar.
- Alternatively, you can place it on a Cross Hotbar. Cross Hotbars are not evaluated by Miqobot.
If neither of these methods work for you, then we don’t have any other suggestions.
New dungeons support is already at maximum priority in our development plans for Endwalker.
But these dungeons do not exist yet. It is physically impossible to start working on them before the expansion is released.
So we are not sure what you expect us to do with additional requests regarding this feature.I would assume is that at some point the actual text in any given menu that is displayed to the player would be detectable by Miqo in some form right?
It’s not detectable. And this is the main problem.
If it was, we would have already implemented this function a long time ago.I’m suggesting that at some point the text, such as ‘Limsa Lominsa’ in the teleport menu, exists somewhere in the data that Miqo takes from the game.
The text data stored in the Teleport window looks like this:
hingashikuganekugane100othardthe ruby seatamamizu333the ruby seaonokoro357yanxianamai445yanxia...
You are correct, it is detectable in some form. But this form is useless for any kind of decision making.
Besides the fact that this data doesn’t have any line breaks, it also has no indication of whether a certain piece of text is selectable. For example, “Hingashi” and “Othard” are group names which should be removed from the list of selectable options beforehand. And for the rest of text, there is no information of where that data is located on the screen. In order to select “The Ruby Sea”, do we have to move cursor at line #2, #6, or #9?How is Miqo able to identify ‘Limsa Lominsa’, or even better, something like ‘The Crystarium’ which is pages and pages down the menu, if Miqo isn’t simply ‘searching’ for the term within the teleportation menu?
By reading the internal data structures.
Here is the structure that Miqobot reads when accessing the Teleport window.6F 00 00 00 64 00 00 00 74 02 00 00 00 00 00 00 01 65 58 02 69 00 00 00 4D 01 00 00 65 02 00 00
This is an example of a data stream mentioned earlier. It’s not even located in the Teleport window, this data is stored in a dynamic memory container which is populated by another part of the game client.
By grouping and decoding the stream chunks correctly, Miqobot is capable of identifying a numerical aetheryte ID and a numerical zone ID, which are then converted to the correct line index to select. And when you type “teleport(Limsa Lominsa)” in Scenario Engine, Miqobot uses a hardcoded database of all possible teleport locations which link the text data to numerical IDs.On top of that, please remember that Miqobot must be functional in all 4 game languages.
So when you type “teleport(リムサ・ロミンサ:下甲板層)”, she uses the same database to convert a Japanese name into the same numerical ID and select “Limsa Lominsa” in any language. This conversion does not work for all features, of course, but we are doing our best to make it work where possible.If you are still not convinced, here is a simple example.
Imagine we collect a few samples of Rarefied Gyr Abanian Mineral Water and deliver them to a collectable appraiser.
When we open the Collectables Exchange window, the game shows us this:The item we wish to deliver is level 61. But it doesn’t even appear on the screen to begin with.
In order to access it, we have to scroll the list down, click on “Lv. 61-70” group, then scroll down again, and only then we will see it.But if you activate deliverCollectables() from a scenario, you may notice that Miqobot does not check every possible group every time the window is opened. She knows exactly what items we have and what groups must be clicked in order to access them.
- When there are no items to deliver, Miqobot simply closes the window.
- When there are items not visible on the screen, she goes directly to required groups and selects the necessary lines.
Without reading the internal data structures, such behavior would be impossible. Miqobot would have to painfully scroll through every line and analyze every single word and number on the screen in order to identify if there is anything to deliver at all. So instead of staring at empty window for a few seconds, she would be stuck for 3-5 minutes verifying each possible option without doing anything useful.
And please believe us that the data structure for Collectables Exchange window is so complex that it took our developers several days to reverse engineer it and then several days more to implement UI navigation algorithms.
Considering that deliverCollectables() contains 3 different features each of which has underwent over 10 iterations of improvements and bugfixes, you are in fact tapping into 2 months of development every time you use this function.
All for a short sequence of steps to click the correct buttons.I only have a loose understanding of programming but I’m curious what’s stopping you from creating an internal index of dialogue options
The non-linearity of internal data structures.
What you see on the game screen is only a visual representation of the actual data. It is generated by the graphics algorithm via multiple processing stages. Even if it looks like a simple list of options on the screen, it may in fact be an associative container based on red-black tree implementation. It may not even have a container but be a procedurally generated data stream that doesn’t have any structures behind it.
Miqobot is not capable of reading the text directly from the screen, if this is what your question is about.
This would require Optical Character Recognition algorithms, but this technology is extremely slow and would not be able to perform in a dynamic environment such as the video game.
Therefore accessing and analyzing internal data structures directly in the game memory is the only way to implement gameplay automation.RE: my download, switching browser fixed the issue 🙂 I am not sure what the problem was with my normal browser.
All right, thank you for reporting that you’ve managed to find a workaround.
And quick question since Eulmore collectables were mentioned, does deliverCollectibles() work with the turn-in vendors outside of Firmament (since it’s a different interface)?
Yes, as it is stated in the documentation, deliverCollectables() includes several algorithms and supports the following UI layouts:
– Rowena’s House of Splendors
– Ishgard Restoration
– Diadem Resource InspectionHello, I am trying to download the new version, but the file is 0KB and cannot run. I turned off my antivirus and am still having the problem. Has anyone else encountered this?
We would like to know the answer as well.
We have investigated this issue, but unfortunately we couldn’t reproduce it or identify the reasons that could be causing it. If you discover any additional information, please let us know.miqo slays the resplendent expert recipes as is
so thats neat, saves you guys some work
Thank you so much for the quick update regarding the GCD queueing! It’s good on most classes, but on min-SkS MCH, it really messed up the drills.
Thank you for your feedback very much.
Seems like i’m having issues when i want to deliver collectables like in Eulmore.
I tried many times since the 5.5 and the bot just stop delivering collectables at some point.PS : i’m not full of scripts, everything is fine.
Thank you for reporting. We will try to reproduce your issue in our labs and see what we can do.
Would you be able to give us some more information?- How often do you encounter this problem?
- Have you managed to notice what happens in the game at this moment?
- If you activate deliverCollectables() twice in a row, does the issue occur the second time?
Sometimes Miqo wastes Barrage on Burst Shot, and I’m assuming it’s because of my ping numbers (320+ ms, RIP), just wanted to make sure it’s a ping problem and not something tied to the queing algorithm.
Thank you for reporting.
We will investigate the rotation behavior under high latency conditions.To answer your question, Refulgent Arrow has the maximum priority under the effect of Barrage, but if the icon does not activate in time due to network delay, Miqobot will not stop the rotation and wait for it to happen.
GCD queueing algorithm causes weaponskills to be triggered approximately 100 ms in advance, but it does not change the logic of the rotation. If this argument does not convince you, please feel free to disable it in Assist Mode settings.Yes, this feature is already planned as a part of Scenario Engine updates: Upcoming Features
However, there is no framework that is capable of interacting with arbitrary game windows. Each of the functions you mentioned (deliverGCGear(), deliverCollectables(), teleport(), recipe()) incorporates a separate algorithm which is compatible only with one specific game window. These algorithms will not work for anything else.
In addition to that, the function deliverCollectables() includes 3 different algorithms in order to support 3 different UI layouts:
– Rowena’s House of Splendors
– Ishgard Restoration
– Diadem Resource Inspection
If it looks simple from the outside, it doesn’t mean there is a simple piece of code behind it.Each game window is completely different, they have distinct memory structures and UI layouts, and each of them requires a custom sequence of keybinds. A simple generic algorithm for this problem does not exist.
Even if we implement this feature in the form of a single function, we will have to research all possible game windows separately and implement different algorithms for each of them. The amount of work will be the same as implementing multiple functions.So yes, your feature request is accepted.
But please don’t expect it to be a generic function that will support everything, because it’s not possible. -
AuthorPosts