Page 2 of 4 FirstFirst 1 2 3 4 LastLast
Results 11 to 20 of 31
  1. #11
    Player
    RitsukoSonoda's Avatar
    Join Date
    Apr 2014
    Location
    Kugane (No that red crayon is totally legitimate) >.>
    Posts
    3,147
    Character
    Ritsuko Sonoda
    World
    Ultros
    Main Class
    Samurai Lv 90
    Spaghetti code is usually used as a slang term for situations where old code and newer code are essentially in different formats and rather than reformat all the old code they just find a way to make it interact with the newer code. In regards to SE this has happened in the past due to changes to game engine or intended gameplay hardware during development on multiple titles in the company's history resulting in various issues on those titles. At this point with FFXIV they can build on top of it but the original game being built around the PS3 console has essentially set a hard limit to what they can add to it. Like a plate of spaghetti they can add meatballs and other stuff to it to dress it up or improve it but eventually they're going to run out of plate.
    (2)

  2. #12
    Player
    Jybril's Avatar
    Join Date
    Jul 2017
    Posts
    1,116
    Character
    Junpei Iorii
    World
    Sargatanas
    Main Class
    White Mage Lv 60
    Quote Originally Posted by Kranel_San View Post
    Do you think the game is still heavily plagued by spaghetti code?
    What are the limitations caused by spaghetti codes that still exist to this day?
    Do you think the game will one day be free of spaghetti codes?
    Do you think spaghetti code is just an excuse made up by devs and not a real issue?
    I feel like you just made the topic just to use the term Spaghetti Code lol.
    (6)

  3. #13
    Player
    Packetdancer's Avatar
    Join Date
    Oct 2019
    Location
    Gridania
    Posts
    1,948
    Character
    Khit Amariyo
    World
    Leviathan
    Main Class
    Sage Lv 100
    Quote Originally Posted by Kranel_San View Post
    Do you think the game is still heavily plagued by spaghetti code?
    On the server side in particular? Abso-fricking-lutely, yes. Based on every bit of my own experience, I have close to zero doubt that the codebase for the server side of this game is some sort of nightmare-inducing disaster. Because, after a certain amount of time, most complex server systems are a nightmare-inducing disaster, unless you periodically refactor it, or go in with a lengthy architecture phase looking to future-proof it. (And even then the latter isn't always enough.)

    And most aren't done on an incredibly short and rushed development cycle as the ARR relaunch was.

    We know the client shares no code with 1.x, because it was written on an entirely different engine. But I would be at least mildly surprised if the server codebase didn't reuse some of the 1.x code.

    The client? I could go either way on that one. But the server? Yes, I absolutely believe the server codebase is a mess, especially with the game having been out this long.

    Quote Originally Posted by Kranel_San View Post
    What are the limitations caused by spaghetti codes that still exist to this day?
    That's harder to say without knowing what modules of the server ecosystem the worst spaghetti code might be in.

    But one of the most common issues with "spaghetti code" scenarios is having one piece of code that depends on another piece of code which depends on another piece of code which was written for a previous project by someone who's not with the company anymore, and where no one entirely knows how that one piece works because it's a big tangled mess of undocumented code that was written quickly... but everyone's afraid to modify it too heavily because there's likely a bunch of undocumented (and non-obvious) quirks which those different systems built atop it silently rely on.

    Quote Originally Posted by Kranel_San View Post
    Do you think spaghetti code is just an excuse made up by devs and not a real issue?
    I am absolutely certain it's a real issue. Both just by observing some of how this game works, and from all my own experience in the field.
    (5)
    Quote Originally Posted by Packetdancer
    The healer main's struggle for pants is both real, and unending. Be strong, sister. #GiveUsMorePants2k20 #HealersNotRevealers #RandomOtherSleepDeprivedHashtagsHere
    I aim to make my posts engaging and entertaining, even when you might not agree with me. And failing that, I'll just be very, VERY wordy.

  4. #14
    Player
    TaleraRistain's Avatar
    Join Date
    Jun 2015
    Posts
    5,512
    Character
    Thalia Beckford
    World
    Jenova
    Main Class
    Gunbreaker Lv 100
    Unless you sit down and write a piece of software completely new and never intend to change it, you're going to end up with spaghetti code. Maybe when you conceptualized this piece you built it this way due to time or resources. And later on you want to expand it, but you've coded yourself into a corner. Or someone else wrote it the way it is and you want to change it but there's a lot of moving pieces you would have to adjust. They've managed to find ways to work around some of the ways they had to set things up, but there are some that from what they've indicated would require some pretty hefty rewrites which would take up considerable dev time and resources. And players aren't patient enough or the suits aren't willing to foot the bill enough to make that possible.
    (4)

  5. #15
    Player
    Kranel_San's Avatar
    Join Date
    Aug 2021
    Location
    Gridania
    Posts
    1,024
    Character
    Krann Starwarden
    World
    Zodiark
    Main Class
    Reaper Lv 100
    Quote Originally Posted by Jybril View Post
    I feel like you just made the topic just to use the term Spaghetti Code lol.
    ....

    I have been detected xD

    Honestly though, that's the second reason. The main is actually understanding what's the spaghetti code of the game nowadays, to understand what's it referring to and what's not. Clarification since everyone are using the term but not all are using it correctly.
    And the third reason is discussing the spaghetti code of the game if there are any.
    (0)

  6. #16
    Player
    Atelier-Bagur's Avatar
    Join Date
    Jan 2022
    Posts
    3,980
    Character
    Cordelia Emery
    World
    Coeurl
    Main Class
    Marauder Lv 82
    Quote Originally Posted by Kranel_San View Post
    ....

    I have been detected xD

    Honestly though, that's the second reason. The main is actually understanding what's the spaghetti code of the game nowadays, to understand what's it referring to and what's not. Clarification since everyone are using the term but not all are using it correctly.
    And the third reason is discussing the spaghetti code of the game if there are any.
    If this game's spaghetti does that mean we can eat it?

    Could someone pass me the shredded mozzarella?
    (1)

  7. #17
    Player
    Jeeqbit's Avatar
    Join Date
    Mar 2016
    Posts
    7,525
    Character
    Oscarlet Oirellain
    World
    Jenova
    Main Class
    Warrior Lv 100
    Quote Originally Posted by Kranel_San View Post
    The main is actually understanding what's the spaghetti code of the game nowadays, to understand what's it referring to and what's not. Clarification since everyone are using the term but not all are using it correctly.
    The term spaghetti code is used incorrectly. A lot of the time it's being used to explain why something is not being done when we've actually been told by Yoshi-P that it's intentional. It was used to explain why the graphics were not good but we knew the engine was capable of a lot more because of other FF games that use it, so it's more about the assets being upgraded and increasing the system requirements. It was used to suggest that 1.0 code was hindering current development when this has been denied and we've been told in the past exactly what it was hindering (summoner, chocobos and player collision).

    Instead of it being "spaghetti code" it's a lot like building a house. Once you have built the house, if you decide a part of it is no longer fit for purpose, you have to knock a lot of it down and start over and that takes a lot of time.

    As time progresses, parts of the MMO house become redundant. What if parts of the MMO house that are not redundant are built on top of that redundant part of the house? It's going to be a lot of work to change it and this is a problem that every MMO is going to have to work with. The priority has to be the next patch which will give people a reason to login, not knocking down what they have built, so the redundant parts will usually get left behind, accepted as limitations or worked around.
    (2)
    In other news, there is no technical debt from 1.0.
    "We don't have ... a technological issue that was carried over from 1.0, because ARR was meant to kind of discard what we had from 1.0 and rebuild it from the engine."
    https://youtu.be/ge32wNPaJKk?t=560

    Quote Originally Posted by Jeeqbit View Post
    Want to know why new content will never last more than 20 minutes? Full breakdown:

  8. #18
    Player
    Zaniel's Avatar
    Join Date
    Dec 2021
    Posts
    381
    Character
    Zaniel Taephen
    World
    Sophia
    Main Class
    Conjurer Lv 100
    "Spaghetti code" is a meaningless statement that players just spout off. The reality is we, not being the game's programmers, have ZERO idea what is complex and what is not. The reality of complex large scale coding is that there is often little relationship between what we as customers perceive as easy/difficult and what is actually easy/difficult. Some things which seem insane to us can be rebuilt in an afternoon by one guy, then other things that seem like they should be easy ("iTs JuSt A fEw ExTrA fIeLdS iN tHe DaTaBaSe!1!!!") are insurmountable and would take an entire team a year to fix.

    Basically there is no point in being an armchair expert and/or ranting/guessing/pontificating about programming stuff and features, you have to assume that at the level of the actual programmers that they are putting their best foot forward to get stuff done. Issues crop up here and there but in the grand scheme of things there isn't some stream of critical disasters. If the devs say something is difficult, then it's difficult, they aren't lying or covering, thinking that is just being a child.
    (4)

  9. #19
    Player
    Larirawiel's Avatar
    Join Date
    Feb 2019
    Location
    Aldrassil
    Posts
    2,523
    Character
    Larirawiel Caennalys
    World
    Shiva
    Main Class
    White Mage Lv 100
    Quote Originally Posted by Kranel_San View Post
    ....

    I have been detected xD

    Honestly though, that's the second reason. The main is actually understanding what's the spaghetti code of the game nowadays, to understand what's it referring to and what's not. Clarification since everyone are using the term but not all are using it correctly.
    And the third reason is discussing the spaghetti code of the game if there are any.
    The topic "spaghetti code" is a huge one. Basically, it means, that it is hard to figure out what a piece of code does, even for experienced developers. And this is also highly subjective. And the reasons why a piece of code is considered as "spaghetti" are different. The common reasons are: many deep nested loops/if-else-constructs, bad naming of variables, methods, procedures, the usage of many mutable global-/static variables or a class, method, procedure does too much etc.

    Can you "fix" spaghetti code? The answer is: it depends. Because the reasons why the spaghetti code does what it does are also different.

    Are the calculations, which the spaghetti code has to do also very complex? If yes, then you will propably not be able to "fix" it with a rewrite. Maybe you can make the spaghetti code less spaghetti, but not more. This is mostly the reason for many deep nested loops/if-else-constructs. If you have ever wrote code, which calculates the salary of a employee based on taxcard, health insurance etc. then you propably know what i mean.

    Bad naming? The hardest thing is to find a good name. And yes, naming is hard. But if you have a good name for a variable or method then use the refactoring funcionality of your IDE. And bad naming can turn even trivial code into spaghetti code. If you name your method "calculateSpellCriticalHit" then the devs will know what this method does. But if you name it "calculateHit" then they will need to look into it because this name is too generic.

    But it seems to me, that "spaghetti code" is not the reason why they have often much pain to improve some things. I guess, they have really f*cked up the persistence layer. The persistence layer is the piece of code, which communicates with a database server. And because it is so fundamental, the chances are high that if you change something here then it will break some things in the software if you do not pay attention. And unfortunately nobody knows how the persistence layer of the game looks like. But there are also methods to mitigate the pain if you really need to make changes: use a statically typed programming language and use an ORM framework and write integration tests. Because there are many tools, which can help you identifying incompatible changes. If they do not use them then they have to analyse the whole code base manually (basically via CTRL+F) and identify the places, which could break with the change. If the codebase is huge then this is very personal ressources intensive.



    Cheers
    (0)

  10. #20
    Player
    KurohNeko's Avatar
    Join Date
    Dec 2020
    Location
    Limsa Lominsa
    Posts
    197
    Character
    Kuroh Usagi
    World
    Leviathan
    Main Class
    Reaper Lv 90
    Quote Originally Posted by Kranel_San View Post
    Do you think the game is still heavily plagued by spaghetti code?
    What are the limitations caused by spaghetti codes that still exist to this day?
    Do you think the game will one day be free of spaghetti codes?
    Do you think spaghetti code is just an excuse made up by devs and not a real issue?
    They can't make glamour dressers in housing despite every other just as complex system like retainer bells, FC chests and Chocobo stalls, but not glamour chests because it broke a server once when multiple people used it despite them having the power to make a different item or overhaul the system but don't. Because, spaghetti code.
    (0)

Page 2 of 4 FirstFirst 1 2 3 4 LastLast