A gathering place for Vindictus players of any region or server to get together and discuss the game.


    January 2017

    Shippuu
    Shippuu
    Forum Coder
    Server :
    • NA East

    IGN : Shippuu
    Posts : 308
    Joined : 2015-12-17

    January 2017 Empty January 2017

    Post by Shippuu on Sat Jan 07, 2017 4:31 pm

    January 7


    2017 will be off to a slow start. I have a rather interesting semester starting in a few days, so I've had to scramble prep for that. Once I'm actually adjusted to the classes, it should no longer impact my development time anymore, at least.

    I originally wanted to go into detail on some of the changes I will be doing to the core item data, and a recent challenge that has come up with the v3 UI overall. However, I'm not really at a point where I can say anything of lasting relevance on either of those.

    To try to keep it short, the v3 UI is too big. My original testing monitor was a repurposed LED TV that had quite nice color contrast, using a 1216x684 resolution. The v1 and v2 Armory were designed based on everything fitting within that space, which led to windows, tabs, and text all being small and compact. v3 took up all of that space with just three windows open, and it's now actually looking like it will take up more than a 1920x1080 window's space in the main section, as well.

    Currently, my v3 mockup has the new replacements for the Config Window, Gear Window, Item List, Stats Window, and also the Archives. These alone very nearly take up the entire space, and that's without the Storage Window, Battle Info Window, Compare Window, or Set Link Window. Granted, v3 does allow merging of two or more windows into one, but that should not be a requirement for it to fit.

    v3 will allow selecting different font/window sizes as a general scaling option (separate from browser zoom), but I would prefer the default size actually be viable. I really want to finally stop using 12px fonts.

    ...Having said all of that, I can't think of any resolution to this at this time, so it's definitely going to take something outside the box. If it's at all possible, anyway.
    Shippuu
    Shippuu
    Forum Coder
    Server :
    • NA East

    IGN : Shippuu
    Posts : 308
    Joined : 2015-12-17

    January 2017 Empty Re: January 2017

    Post by Shippuu on Sat Jan 14, 2017 12:52 pm

    January 14


    So apparently that class I was supposed to start last week was rescheduled to start in February, that was awkward to work out; they apparently didn't see fit to inform me of the change. It certainly didn't stop it from derailing my focus on Vindictus Manual, that's for sure. My semester has still started nonetheless, but the easier classes aren't even a distraction.

    With the confirmation that Neamhain is coming in a week or so, I've decided that it is my utmost priority to get out a band-aid fix for the title stats Neamhain will be able to give, and that Ein Lacher has given for a while. I'm going to go through with a method I didn't want to do since it was messy, and implement a set of buffs for these stats. I'm going to add them all into the "Abilities" section of the Buffs List. The current plan is to create this set of buffs, with their stats in parenthesis:

    [tree title="Abilities"]
    [branch title="Neamhain"]
    [entry]5% Achieved (Critical +1)[/entry]
    [entry]25% Achieved (Critical +1, HP +1000)[/entry]
    [entry]50% Achieved (ATT +500, M.ATT +500, Critical +2, HP +1000)[/entry]
    [entry]75% Achieved (ATT +500, M.ATT +500, Critical +3, HP +1000, Remove ATT Limit +300)[/entry]
    [entry]100% Achieved (ATT +1000, M.ATT +1000, Critical +5, HP +1000, Remove ATT Limit +300)[/entry]
    [/branch]
    [branch title="Ein Lacher"]
    [entry]All Silver Medals (Balance +1, Critical +1)[/entry]
    [entry]All Silver Medals, Potionless (Balance +3, Critical +1)[/entry]
    [entry]All Gold Medals (Balance +5, Critical +3)[/entry]
    [/branch]
    [/tree]

    Given that these will serve as a band-aid fix, I'm not really aiming for perfect coverage of Ein Lacher, with its 60 something titles it gives. The more that I code in now, the more that I have to code v3 to deal with when reading it later. This should suffice for nearly everyone, though.

    However, in the interests of efficiency, I also intend to slip in the needed format changes for the Archives alongside this update. If I don't forget anything or mess anything up, then once this is uploaded, I will be able to drop the Archives on-top of it without having to replace or update this file again at that time.

    Several changes will take place at this time, on the data format. I will use horizontal rules to separate each change, for easier skimming/reading purposes.




    The most significant will be a change that I've been gradually preparing the code to handle for a while, in converting the stats on gear from arrays into objects. The array format is quite honestly a pain, for many reasons. Using Piasraspear as usual, let's look at the differences between the two:

    Array: [5806,0,75,41,0,0,0,83,23,0,43,0,0,0,0]
    Object: {ATT: 5806, Bal: 75, Crit: 41, STR: 83, AGI: 23, WIL: 43}

    The most noticeable difference is the unfortunate side-effect that the data takes more characters, and thus makes the file bigger. However, the smaller size is literally the only benefit the array format has, and it is absolutely not worth the tradeoffs.

    Most significantly, the order of the stats matters. ATT must be the first value, WIL must be the tenth, and so on. This means that even though it has no DEF or M.ATT, the values must still be recorded in the array as 0. Additionally, it means that if I want to add a new stat, I must retroactively update every item's stat array to compensate for it. This led to a very awkward setup for PVP stats at the time.

    However, with the object format, the order doesn't matter at all. As you can see, I can freely omit the stats that the item doesn't have, and if I need to add a new stat in the future, then the old data is still perfectly valid - it just gets considered as 0 like the other missing stats. It also happens  to be far easier to read and to fill in, than having to memorize and count out stat places. Early on, this led to numerous small bugs with Enchant Scroll stats, due to their values being one place left or right of where they should be.

    Offsetting this change, I actually plan to win back some space by making the data for which characters can equip each item more efficient. These will remain arrays, but the format will be changing quite considerably. Here's a before and after of the Apocryphal Overcoat, and of the Passionate Debueruke Chestpiece:

    Apocryphal:
    [1,2,3,4,5,6,7,8,9,10,11]
    ["A"]

    Passionate Debueruke:
    [1,2,3,5,6,8,9,10,11]
    ["AVM","F"]

    In the old format, I had to individually list out every character that can wear that item, for every item one by one. Since there are 11 characters, I would have to list out all 11. When a new character is added, such as when Delia was added, I had to go back and append 11 to every single item that she can use. This was profoundly boring, and obviously inefficient.

    With the renovated code, I can refer to characters in groups. I can still specify individual characters when appropriate, such as an item only Lann can wear, or etc. However, I can now use strings to denote groups of characters, instead of having to type them all out each time. "A" represents all characters, "F" represents all female characters, "AVM" represents all normal body model male characters (all males except Karok and Hurk), where "T" refers to only Karok and Hurk. Aside from being smaller size-wise, this is also more efficient. When the 12th character is added, all I will need to do is update the values that these strings represent, and that will fully update every existing item without lots of wasted time fooling with the actual data for individual items.




    The third change is only technically related to the actual main data itself. I will be creating a parallel object for the data the Archives will handle, for each item. Initially, this object will only hold data for color boxes and item reach. Once the Archives expands outward, it will include NPC price/location data, recipe info, expertise info, unlock location, drop locations, bind properties, and any other information relevant to the Archives as they grow. The main stat data object for the Armory and Item Compare is dense enough as is, and I need to avoid making it more complex, even if I lose a little bit of size efficiency in the process.




    And finally, the most complex change, that will probably take some time to work out. Currently, my item data file is 330 KB. When I want to edit any individual item, or add even a single item to it, I must reupload that entire 330 KB file. Then, users loading the page must get a new copy of that 330 KB file. That's a lot of bandwidth to waste, and possibly a sizable load time depending on how cheap your third-world-tier ISP might be, for those inside the United States.

    I will be creating a secondary JS file containing duplicate objects for the item stat data and item Archives data, as well as for text, buffs, enemies, etc. I can add in new items/etc to this file, and updating will only require replacing it, and not the main file. Instead of a 330 KB re-upload, I can replace this likely 3-5 KB file instead. A startup process for Vindictus Manual itself can merge the data together, and from there it will be exactly as if it was all in one place.




    In addition to all of these, the file will finally be minified, which should cut down on size as well.

    Once this band-aid patch is up on the live site, as Patch 16, I will resume filling out the rest of the Archives. The Equipment pages will be fully functional on my dev copy once this patch is up, but I still need to create templates for Color Box info and Material Types.
    Shippuu
    Shippuu
    Forum Coder
    Server :
    • NA East

    IGN : Shippuu
    Posts : 308
    Joined : 2015-12-17

    January 2017 Empty Re: January 2017

    Post by Shippuu on Fri Jan 20, 2017 6:15 pm

    January 20


    All development on all projects is halted, effective immediately, and the Armory and Item Compare have been taken offline. This is a direct response of protest to Sanitee's unjust permanent ban.

    If you want more details, read the message I have placed where the Armory/Item Compare used to be.
    Sponsored content

    January 2017 Empty Re: January 2017

    Post by Sponsored content


      Current date/time is Sun Sep 20, 2020 9:05 pm