Page 1 of 3 1 2 3 LastLast
Results 1 to 10 of 23

Dev. Posts

Hybrid View

  1. #1
    Player
    Bellandy's Avatar
    Join Date
    Sep 2013
    Posts
    154
    Character
    Bellandy Illyan
    World
    Phoenix
    Main Class
    Astrologian Lv 60

    Gold Saucer - Chocobo Interface Typo



    Typo "Traning" should be "Training". String shouldn't be too hard to find, good luck and good job
    (5)

    http://eq.guildwork.com/

  2. #2
    Dev Team Fernehalwes's Avatar
    Join Date
    Jul 2011
    Posts
    362
    Greetings Bellandy!

    I could just say, HEY! THANKS! FIXED!
    But I thought people not privy to the secrets of large-scale MMO game development might want to know how a bug like this may have found its way through the cracks.

    WARNING: this may not be an interesting story, so if you don't want to read about it, you may leave this page now knowing the bug will be fixed and the UI updated in a forthcoming patch.

    Now, for those of you who want to know about the boring stuff...

    Data for FFXIV is being updated internally every day. While everyone is working on the same game, everyone is working on different parts of it. The art team, for example, is already creating images for 3.X, the sound team is recording for Heavensward, the lore team is naming new areas, all while the Localization team is finishing up on Before the Fall Part 2 goodness. For the most part, we have one main version which we call the 'trunk.' This is basically everything created for XIV. Heavensward areas, old areas. new jobs, old jobs, new quests, old quests, new monsters, old monsters...everything. Now, we can't release this version to the public, so what we do is create 'branches'--a carbon copy of the trunk representing the data that we will be releasing in the patches (in-progress data is usually masked or cut out so mine-minded players can't ninja a sneak peek before it's finished). A few weeks before the release of a patch, we completely separate the trunk from the branch. From here, all non-patch data keeps getting added to the trunk, with only stuff that will go into the patch is added to the branch. Because localization is the usually last to put data into a patch, it means we end up having to update the trunk, then 'merge' only the relevant patch data to the branch.

    So, what happens sometimes (rarely) is that a bug reported late in the patch cycle is fixed to the trunk, but for some reason, the merge to the trunk doesn't happen properly. This is exactly what happened this time. This bug was reported by QA, fixed, and a quick peek into my data files find them all clean...but! The branch that was released to the public did not contain this nugget of fixitude, and therefore you have TRANING.

    In cases like this, we usually put the corrected data in a hotfix which is patched to the branch version you guys are using. Since the trunk has already been updated, when a new branch (say like the one for 3.0) is created, it will have the fixed data in it as well, and the bug will fade into memory...

    And that's all!

    The fact the bug made it out to the public is still all on us. Our QA process, our merge process, our work flows all could use improvement, and we're always working on ways to make things better. This bug helped us in seeing a possible internal problem, and because of it maybe prevent similar problems happening in the future. And for that, Bellandy, you have our sincere thanks!
    (61)
    Last edited by Fernehalwes; 02-26-2015 at 05:20 PM. Reason: Fixed player name because...it missed the merge? Yeah. That's it. It MISSED THE MERGE.

  3. #3
    Player
    Magis's Avatar
    Join Date
    Aug 2013
    Location
    Ul'dah
    Posts
    1,253
    Character
    Magis Luagis
    World
    Excalibur
    Main Class
    Thaumaturge Lv 60
    So you guys are using SVN eh?
    (3)

  4. #4
    Player
    Andriel's Avatar
    Join Date
    Sep 2013
    Location
    Gridania
    Posts
    94
    Character
    G'andriel Ilythiir
    World
    Ragnarok
    Main Class
    Botanist Lv 60
    Quote Originally Posted by Magis View Post
    So you guys are using SVN eh?
    Nobody uses that anymore (apart from universities for simplicity sake). There are so many other VCS that are so insanely more useful....
    (1)

  5. #5
    Player
    bL4Ck's Avatar
    Join Date
    Sep 2013
    Posts
    11
    Character
    Selnia Vicker
    World
    Moogle
    Main Class
    Gladiator Lv 50
    Quote Originally Posted by Andriel View Post
    Nobody uses that anymore (apart from universities for simplicity sake). There are so many other VCS that are so insanely more useful....
    You might be surprised at how many small IT companies still rely heavily on SVN/CVS, i.e. the one i work for at the moment, and a lot i worked for in the past years.
    (0)

  6. #6
    Player
    AlexionSkylark's Avatar
    Join Date
    Sep 2013
    Posts
    722
    Character
    Alexion Skylark
    World
    Behemoth
    Main Class
    Conjurer Lv 70
    Quote Originally Posted by Magis View Post
    So you guys are using SVN eh?
    Actually it'd be quite understandable if they used Git. Maybe Mercurial, tho I don't think Hg was around by the time ARR development started, and people don't usually change VCSses mid-project.
    (0)

  7. #7
    Player
    uppfinnarn's Avatar
    Join Date
    Mar 2014
    Posts
    10
    Character
    Dalamud Popoto
    World
    Odin
    Main Class
    Summoner Lv 60
    There's another reason why game developers in particular typically use Subversion (SVN) rather than Git or what have you: these are built largely with text in mind, and handles this beautifully. You can even get some images in there. But when you start to ship around gigabytes of binary assets (models, textures, tables, ...), these newfangled, decentralized VCSes slow to a crawl as it budges under the sheer weight of all that data, and your working copy starts to grow in size very, very quickly.

    SVN has a design based around a central, authoritative copy, rather than each user's working copy being authoritative on its own. This means the client doesn't have to hold every version of every file in the repository, it can just ask the server for older revisions when it needs them, and scan through a manageable amount of data on the client side.

    When you have a strictly defined team, such as when you're a game developer, a central server to house all the data, and a large amount of binary assets that all have to be versioned as well, you'll find that a centralized VCS works a lot better than a decentralized one.
    (0)

  8. #8
    Player
    synesthetic's Avatar
    Join Date
    Dec 2013
    Posts
    402
    Character
    Rihael Eden
    World
    Hyperion
    Main Class
    Astrologian Lv 60
    Quote Originally Posted by Fernehalwes View Post
    Greetings Bellandy!

    [... How the miracle of a typo is born. ...]

    And for that, Ballandy, you have our sincere thanks!
    I'm sorry. I lol'ed.
    (3)

  9. #9
    Player MilesSaintboroguh's Avatar
    Join Date
    Nov 2013
    Location
    Gridania
    Posts
    5,764
    Character
    Miles Saintborough
    World
    Balmung
    Main Class
    White Mage Lv 100
    I don't find these kind of explanations boring at all! I always love reading how stuff works behind the scenes of development.
    (7)

  10. #10
    Player
    EinherjarLucian's Avatar
    Join Date
    Apr 2013
    Location
    Seattle
    Posts
    151
    Character
    Chalyss Hearthglenne
    World
    Hyperion
    Main Class
    Arcanist Lv 100
    Any truly large software project is like this. If it's large enough, like, say, an operating system... then each feature team will have its own branch and even set of different branches as well, which they use to make feature updates to their area without affecting the other teams' work. At regular intervals, these teams will merge their work back up to the "trunk" or "main" branch, then once all these changes are integrated, they'll push the aggregated code changes back down to all of the child branches.

    This process takes time, and even though it seems like SE uses a much simpler model, I can assure you that it's never, ever as easy as "well, just fix it" when it comes to something as complex as an MMO.

    Fernehalwes, I'm curious... about how long does it take for the client and server take to make it through your build system? An hour or so?
    (1)

Page 1 of 3 1 2 3 LastLast