Greetings.
I’d like to give an update on the status of increasing the amount of macros, which Producer Yoshida previously commented about.
Currently, the development team is focused mainly on implementing new elements for Patch 3.1.
We've set plans for the macro improvement task so that we look into the improvement methods and complete the required cost assessment for improvement during Patch 3.1 development time.
Many function improvement related tasks have been placed on a priority list with numbers; however, as a fundamental rule, we cannot start these improvement tasks until we have implementation goals set for all the necessary UI needed for the new content in each patch.
*This is because if there is even one piece of content with an incomplete UI, the release of the patch will be delayed.
For this reason, to determine when we can release the macro improvements we will have to set the following in the Patch 3.1 time frame:
- Determine the implementation method
- Estimate the amount of work time needed for that method
Once the above is completed, we will confirm the work assessment of this along with the work assessment for new implementations planned for post-Patch 3.2. Then once we determine whether we can secure the required implementation time from the person in charge, we can determine the estimated release time.
While it may be possible to give an estimate as to which method will work, we cannot give an appropriate comment until the dev. team completes a thorough investigation, so please understand that we require some time for this.
Supplementary information
The current macro functions were built with many restrictions in mind, therefore changing one aspect of this would cause trade-offs where some things will work while others will not. We need to make improvements to aspects that are not difficult to do, but somewhat troublesome.
Yoshida recently explained the direction we're thinking of taking, explaining how the local storage is currently holding 100 macros per character, and that we would be looking into increasing the total amount available by changing this to an account-wide system, as well as decreasing the amount of data used for the storage. However, in order to make this possible, we need to undertake several tasks.
The following two tasks are those that will most likely require the most amount of resources.
1. The issue where we cannot undertake general methods for changing already released format
For things such as a business applications, the saved data is given redundancy so it can be formatted safely; however, in this case we specifically need to change the format in order to avoid the local storage limit. Therefore, adding redundancy to data as a safety precaution will increase the capacity, which results in something that goes against our initial plan, so this won't work.
Consequently, as a general method we will more than likely have to select a procedure for changing high risk data, and in that case it will be necessary to add a multitude of countermeasures for the change process.
For example, we need to assume preventative measures for unpredictable cases* or it may end up damaging the existing data, and may also become unrecoverable.
*Cases such as your mother unplugging the cord during a transfer, etc.
2. Regarding Memory
The main goal of macros is to be able to execute them quickly and precisely as much as possible.
For this reason, even right now, the data for all 100 macros is loaded on the client's memory when a character is logged in so that it can be executed immediately whenever needed.
*Even with this, there are certain situations where some server-side managed actions cannot be executed.
There are limitations on the local storage capacity as well and depending on how much memory space can be allocated for a macro will affect the amount of macros.
We also thought of storing them in cache memory and loading them when called upon, but looking at the icon display speed which also uses the cache method, changing macros to the same method would most likely affect the level of control experienced, and we feel this would be the last method we would use when balancing macro execution reliability and macro storage amount.
In order to acquire more memory space, we will need to optimize other features which do not have any direct relation to macros, and the time needed for this work and the checks for optimizations also need to be taken into consideration for implementation.
*We specifically didn't announce this, but through every update we have been optimizing various internal processes in order to increase the amount of available memory space.