Typo "Traning" should be "Training". String shouldn't be too hard to find, good luck and good job![]()
Typo "Traning" should be "Training". String shouldn't be too hard to find, good luck and good job![]()
http://eq.guildwork.com/
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!
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.
So you guys are using SVN eh?
I don't find these kind of explanations boring at all! I always love reading how stuff works behind the scenes of development.
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?
Also, release management is never an easy thing. Even certain software giants in Redmond have hiccups and misses with getting patches delivered.
But from one cog in the development wheel to another, I definitely say I appreciate all your hard work! Thanks!
LOL love the devs in this forums!
The fact that you responded was good enough, but then you proceeded to blow my mind by explaining the process for how you bake delicious content cookies for us. Never stop being awesome.
|
![]() |
![]() |
![]() |
|
Cookie Policy
This website uses cookies. If you do not wish us to set cookies on your device, please do not use the website. Please read the Square Enix cookies policy for more information. Your use of the website is also subject to the terms in the Square Enix website terms of use and privacy policy and by using the website you are accepting those terms. The Square Enix terms of use, privacy policy and cookies policy can also be found through links at the bottom of the page.