Page 3 of 4 FirstFirst 1 2 3 4 LastLast
Results 21 to 30 of 40
  1. #21
    Player
    Valence's Avatar
    Join Date
    Oct 2018
    Posts
    4,489
    Character
    Sunie Dakwhil
    World
    Twintania
    Main Class
    Machinist Lv 100
    Is it any different from any other post expansion msq, or even vanilla msq segments?

    They have shown they can do bigger production value on cutscenes for example as witnessed in the 5.3 end cutscenes (scions in Mor Dhona and Fandy in the Throne Room, probably a lot of mocap involved). It's not gonna address the lack of interactive gameplay, but at least it makes the "movie" side of msquesting a lot more immersive and gripping imo. Too bad they only did it once or twice, it's kinda night and day when compared against most of the rest.
    (2)

  2. #22
    Player
    Ancalagon_Blacktalon's Avatar
    Join Date
    Feb 2022
    Location
    brooding, somewhere
    Posts
    129
    Character
    Ancalagon Blacktalon
    World
    Adamantoise
    Main Class
    Dragoon Lv 90
    Quote Originally Posted by Valence View Post
    Is it any different from any other post expansion msq, or even vanilla msq segments?

    They have shown they can do bigger production value on cutscenes for example as witnessed in the 5.3 end cutscenes (scions in Mor Dhona and Fandy in the Throne Room, probably a lot of mocap involved). It's not gonna address the lack of interactive gameplay, but at least it makes the "movie" side of msquesting a lot more immersive and gripping imo. Too bad they only did it once or twice, it's kinda night and day when compared against most of the rest.
    the Big Production Values I've found tend to happen near the end of patch cycles too. Think about as well the ebb and flow between back and forth unvoiced cutscenes and Big Moments in expansions as well. It wouldn't surprise me if they end up having to meticulously plan which scenes get The Money and which scenes get the stock stuff. That said, there were otherwise normal scenes that had some bespoke things in them (estinien's face right before all the alchemists dogpile him, anything post ShB that had food physics in it, Estinien getting ready to jump off your balcony) that imply that someone out there found little workarounds for that, even if they turned out to be expensive.

    This might be something the graphics update is intended to help with. If cutscenes are difficult to make because their internal tooling is a pain, that's how you get the constant back and forth talk cutscenes (they probably have a template even), with only bigger moments getting the better stuff because they have to devote nearly all their time to it. If they're redoing how animations and rendering works, it wouldn't surprise me if they're also having to completely change their kit to go with it, given that older systems have a tendency to just scream any time you make even the slightest change.
    (1)

  3. 05-02-2024 05:33 AM
    Reason
    speculating more than anything

  4. #23
    Player
    Jeeqbit's Avatar
    Join Date
    Mar 2016
    Posts
    7,686
    Character
    Oscarlet Oirellain
    World
    Jenova
    Main Class
    Warrior Lv 100
    Quote Originally Posted by Sjol View Post
    With no disrespect to Yoshi P., he's not a code developer
    He has stated that he understands code. He believes anyone getting into the game industry should have at least had a go at coding something, even if it's something really basic, so that they have a better understanding of how code works. It would be strange to say that if he himself did not have that understanding. Without a little experience of using it, they can have all sorts of wild and vague ideas about how coding actually works.
    I'm sure there's some technical debt in the engine they ported over.
    There was. The full interview that I have linked clarifies that there was a problem with the collision (fixed now), a problem with chocobos not being regarded as pets and being a party member (fixed now) and I think there was one other thing. But they addressed all of it they said.

    They also explained it pretty well. "We rebuilt it from the engine". That means getting a brand new engine and adapting it for an MMORPG. Brand new classes and objects. They most likely ported things over, but for the most part it wouldn't make sense to do it in a sloppy way when the goal should be to make it tidy and object-oriented.

    Now there might have been a few odd situations where they had to do it in a sloppy way due to time constraints and these are the situations they told us about but say were addressed.
    Also, technical debt is a constant in any codebase. You will have some amount of it no matter how diligent you are.
    I agree and that's why I tend to think it's more realistic to call it "2.0 spaghetti code" than 1.0 spaghetti code, because the game has evolved beyond a lot of the original 2.0 principles the game is built upon and that has got to make it challenging to adjust.
    And with tight deadlines, people are going to take shortcuts in order to get cool thing out the door before the release window.
    I've definitely seen that happen by game developers, but ultimately, if it's such a big issue that it is preventing work on new features or changing existing ones, you would think the programmers would have told their boss. If they haven't told their boss, then what excuse are they making instead for not be able to do things?
    Technical debt can also be not just code, but ideas engrained in the design of the data.
    I think it's more that, honestly. They have all sorts of ideas and misconceptions. Take the lodestone for example - a website that looks like it's from the early 2000s with blogs and other concepts like it and features that should be in the game.

    One of the biggest ones is the "you can't do x, y or z" because "you have to carry the data with you" and "you can't retrieve x item" because "you aren't on y physical server". It immediately makes you think it's a style of thinking or an entrenched idea of how to setup their server structure, because many games don't have those sort of problems and there are all sorts of ambitious ideas I can come up with to solve those problems regardless of how entangled their code is.

    Another example is how they said with confidence it's not possible to show on the tooltip that you obtained an item already. I was engulfed with doubt over that and they proved it by doing it shortly after. So mindset seems to be playing a part in it.

    Of course, these ideas have shaped how it's all structured and that can be difficult to change, but it doesn't make it impossible to change with data transfers, migrations or bridges.

    They could even just let players do the migration by saying "here's a brand new inventory system that is much better, old players can still access their retainers to remove items but they can't add them back in".
    Quote Originally Posted by Ancalagon_Blacktalon View Post
    It wouldn't surprise me if they end up having to meticulously plan which scenes get The Money and which scenes get the stock stuff.
    They do. When designing an ultimate they have limited development resources at their disposal, but they want it to be cinematic so you can enjoy it on twitch (since they expect more people will watch it than actually clear it), so they invest some of their resources into making it look good to a viewer.

    In general, they have said they slowly improved the cutscene system to do more than just discuss things like it did in ARR and that they will continue with interesting ideas (like the one where Tesleen becomes a sin eater which they explained in detail at a development panel).
    (2)
    Last edited by Jeeqbit; 05-02-2024 at 07:53 AM.

  5. #24
    Player
    Sjol's Avatar
    Join Date
    Apr 2024
    Posts
    276
    Character
    Sjol Fantl
    World
    Mateus
    Main Class
    Dancer Lv 90
    Quote Originally Posted by Jeeqbit View Post
    There was. But they addressed all of it they said.

    .snip.

    They also explained it pretty well. "We rebuilt it from the engine". That means getting a brand new engine and adapting it for an MMORPG.

    .snip.

    I agree and that's why I tend to think it's more realistic to call it "2.0 spaghetti code" than 1.0 spaghetti code.

    .snip.

    I think it's more that, honestly. They have all sorts of ideas and misconceptions.

    .snip.

    Of course, these ideas have shaped how it's all structured and that can be difficult to change, but it doesn't make it impossible to change with data transfers, migrations or bridges.
    In my experience brand new engine doesn't mean starting from scratch. It's mostly a marketing thing and it means you've made sufficient changes to how the engine works you feel comfortable slapping a 2.0 or a new name on it. Engines are tens of millions of lines of code sometimes and starting from scratch would be irresponsible.

    If it is code written in 1.0, 2.0, or later I don't think it matters to their overall situation. Tech debt is tech debt.

    The issue is that there's all these systems built on top of those base data structures. "Bank" inventory mapped to character records and retainer interactions done as trades behind the scenes (I don't know this for sure but I very, very strongly suspect it).
    This design, which is now tech debt prevents them from doing unified inventory, craft from inventory, and dedicated crafting storage. I don't know if that system came from 1.0 or 2.0 as I wasn't around, and I don't feel like doing that particular research right now (bad on me). Nor does it matter to me if it's from 1.0 or 2.0. It's the system they have.

    They also built the market on top of the retainer system, and they created a financial reliance on them as well. That could be solved by creating a unified storage system that expands as you buy retainers.

    The problem with adding the extra storage while keeping the retainers in read-only mode is that they still just doubled their storage costs. Even if the problem would eventually be partially self-correcting -- unsubbed players still expect to be able to come back to their stuff -- there's no end date where they would be able to fully transition as long as it was in players hands.

    The alternative to waiting on the players is to do the migration themselves, but they've shown poor bulk update performance. It takes a lot of time to migrate trillions of rows in your various databases, so you'd be looking at multi-day downtimes probably presuming everything went well and a cluster-f@$% if it didn't.

    It's not to say I don't think they couldn't do it eventually. I just think the thought probably rightfully terrifies them.
    (0)

  6. #25
    Player
    Sjol's Avatar
    Join Date
    Apr 2024
    Posts
    276
    Character
    Sjol Fantl
    World
    Mateus
    Main Class
    Dancer Lv 90
    Quote Originally Posted by Jeeqbit View Post
    He has stated that he understands code. He believes anyone getting into the game industry should have at least had a go at coding something, even if it's something really basic, so that they have a better understanding of how code works. It would be strange to say that if he himself did not have that understanding. Without a little experience of using it, they can have all sorts of wild and vague ideas about how coding actually works.
    My point was less that he could code and more that he wasn't a developer actively working on the FFXIV codebase. Even if he was, there's no one developer who has a good grasp on what must be millions or tens-of-millions of lines of code and dozens upon dozens of systems. It's impossible for a human being to keep that much detail in their head, even extraordinary ones.

    It's also possible you and I have different definitions of tech debt, but I've literally never seen a large system that didn't have it in non-trivial quantities. Smaller open-source projects can sometimes effectively excise all their tech debt, but they're on their own timetable and have the luxury to fix it.
    (1)

  7. #26
    Player
    Jeeqbit's Avatar
    Join Date
    Mar 2016
    Posts
    7,686
    Character
    Oscarlet Oirellain
    World
    Jenova
    Main Class
    Warrior Lv 100
    Quote Originally Posted by Sjol View Post
    In my experience brand new engine doesn't mean starting from scratch. It's mostly a marketing thing and it means you've made sufficient changes to how the engine works you feel comfortable slapping a 2.0 or a new name on it.
    The engine they used for 2.0 wasn't new, but it was not the 1.0 engine. They heavily adapted it from a single player engine to work for an MMORPG.
    If it is code written in 1.0, 2.0, or later I don't think it matters to their overall situation. Tech debt is tech debt.
    I'd agree more in the context that it's 2.0 and later tech debt since they denied there was any significantly still around from prior to that (or tech debt from adapting a single player engine).
    I don't know if that system came from 1.0 or 2.0 as I wasn't around, and I don't feel like doing that particular research right now
    From what I recall, they went to the Calamity Salvager to re-obtain items from 1.0. They also had to re-hire any retainers they had in 1.0. They have proven themselves able to do this again (for example when they removed belts or when your house gets demo).
    The problem with adding the extra storage while keeping the retainers in read-only mode is that they still just doubled their storage costs.
    With a big enough operation, they could probably just move it all over if they can do it in 48 hours. Or they could only unlock the "extra storage" upon login so that it doesn't increase storage considerations for inactive characters. I think in Stormblood an inventory increase they did was gated behind story progression.
    Quote Originally Posted by Sjol View Post
    there's no one developer who has a good grasp on what must be millions or tens-of-millions of lines of code
    Just because a company has millions of customers doesn't mean that their code is very complicated. In a big way, this is why object-oriented programming is pushed hard by people. It's infinitely more difficult to grasp when it's not done that way.

    It's also why scripts are used. Scripts were a major problem in 1.0 because they relied on them to such a point that both the server and players were taking ages to do basic operations. But they definitely still use lots of scripts, tables and shaders.
    It's impossible for a human being to keep that much detail in their head, even extraordinary ones.
    One game I worked with wasn't object oriented. It took me months to grasp the different functions illogically put in different files and map them in my head. But eventually, I did. If they've been working on this game for years, they should have it mapped out and know their way around it by now.
    (0)

  8. 05-03-2024 08:38 AM
    Reason
    Duplicate message

  9. #27
    Player
    Sjol's Avatar
    Join Date
    Apr 2024
    Posts
    276
    Character
    Sjol Fantl
    World
    Mateus
    Main Class
    Dancer Lv 90
    Quote Originally Posted by Jeeqbit View Post
    With a big enough operation, they could probably just move it all over if they can do it in 48 hours. Or they could only unlock the "extra storage" upon login so that it doesn't increase storage considerations for inactive characters.
    Good idea. They could also run conversations behind the scenes.

    Quote Originally Posted by Jeeqbit View Post
    Just because a company has millions of customers doesn't mean that their code is very complicated. In a big way, this is why object-oriented programming is pushed hard by people. It's infinitely more difficult to grasp when it's not done that way.

    It's also why scripts are used. Scripts were a major problem in 1.0 because they relied on them to such a point that both the server and players were taking ages to do basic operations. But they definitely still use lots of scripts, tables and shaders.
    One game I worked with wasn't object oriented. It took me months to grasp the different functions illogically put in different files and map them in my head. But eventually, I did. If they've been working on this game for years, they should have it mapped out and know their way around it by now.
    Ironically my person preference is for heavy functional programming over OO, but experiences vary.

    My back is the envelope math was what put the number of lines of code at the millions or tens of millions.

    265 employees in CB3, maybe 30% developers, devops, and QA automation, producing about 50 lines of code a day working for 10 years at 5 days a week for 45 weeks a year.... * calculator sounds*

    About 9 million lines of code.

    There's really no relationship between lines of code and users using it, but I think I'm in the ballpark with my estimate.
    (0)

  10. #28
    Player
    Jeeqbit's Avatar
    Join Date
    Mar 2016
    Posts
    7,686
    Character
    Oscarlet Oirellain
    World
    Jenova
    Main Class
    Warrior Lv 100
    Quote Originally Posted by Sjol View Post
    265 employees in CB3, maybe 30% developers, devops, and QA automation, producing about 50 lines of code a day working for 10 years at 5 days a week for 45 weeks a year.... * calculator sounds*

    About 9 million lines of code.

    There's really no relationship between lines of code and users using it, but I think I'm in the ballpark with my estimate.
    They list about 40 programmers on their "main staff" in the EW credits (not including the website and companion app, designers, QA, engineers or other roles). This is split up between the server, client, UI and automation. Which would be about 15% of 265

    From the 6.55 credits, they list about 54 (I decided to include the 10 engineers and a supervisor this time). The slight extra is due to the graphics they're working on. This would be about 20% of 265.

    But it would be a bit higher to include the website and companion app. They also just outsource a lot (or like to include the entire staff of companies whose software they used).

    In any case, code gets deleted and changed as well, and I'd expect a lot of it to be scripts for cutscenes or other decentralized functions, or the infrastructure for such.
    (0)

  11. #29
    Player
    Valence's Avatar
    Join Date
    Oct 2018
    Posts
    4,489
    Character
    Sunie Dakwhil
    World
    Twintania
    Main Class
    Machinist Lv 100
    Maybe they're one of those companies who don't put everybody on their credits who knows (it's actually very a well spread disease in the industry, way more than you'd assume, i've literally lived through it). But 265 sounds about right at a glance.
    (1)

  12. #30
    Player
    Ancalagon_Blacktalon's Avatar
    Join Date
    Feb 2022
    Location
    brooding, somewhere
    Posts
    129
    Character
    Ancalagon Blacktalon
    World
    Adamantoise
    Main Class
    Dragoon Lv 90
    Quote Originally Posted by Jeeqbit View Post
    Just because a company has millions of customers doesn't mean that their code is very complicated. In a big way, this is why object-oriented programming is pushed hard by people. It's infinitely more difficult to grasp when it's not done that way.
    oh I would bet it is currently very complicated due to two aspects of their particular tech debt burden:

    - Them having to rush all the changes to get ARR out and working at all, which is an environment that tends to lead to less-elegant solutions for complex systems. On top of this, technology was a bit different a decade ago than it was today, so they could've also been having to write stuff around technical limitations that aren't in effect any more, which makes it harder to read/parse/change.

    - Time. The issue with all the time passes is that now you not only have spaghetti code originally written at the time, but now they have 10 years of fixes and changes layered on top of it which makes it even harder to change things without breaking other things. On top of this, it is pretty likely that they lack the knowledge base of the game's original coders due to time passing (and as you stated, it is also impossible for a single person to have that all in their head too). If their documentation is bad, it means that anyone that needs to make changes or fixes has to guess and pray.

    I had stated in another topic at some point that this kind of thing hits home for me because professionally I am currently mired in this kind of hell! :thumbsup: except in my case it's 30-year-old code running on a programming language no one teaches anymore LMAO
    (2)

Page 3 of 4 FirstFirst 1 2 3 4 LastLast