Announcement

Collapse
No announcement yet.

Horrible Coding

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Re: Horrible Coding

    Originally posted by Feba
    Which puts you in a very different situation from the majority of people who want a windowed mode.
    True, but it highlights the fact that the game was dependant on the system clock, just as FFXI is.

    If he released all of it, or any of us did for that matter, we might as well just give it to hackers. However, he has posted numerous times how crummy it is, the most recent being the way they handle networking.
    In all honestly, I doubt Cliff was the first to find all this stuff out. I doubt he's the last. It's probably been common knowledge in hacker groups for a while, kept hush-hush between dear friends, the data and it's associated programs only being distributed to a trusted few, in order to keep some script kiddie from obtaining it and giving everything away on some Geocities site.

    Then again, things might be such a mess that Cliff, being a programming prodigy, was the only one who could figure it out. Not likely, but I'll humor you anyways.

    none of the windower plugins would be possible if SE didn't put things in memory which we didn't use.
    And what makes you think the TP information is something that isn't used? Given the number of operations per second the server needs to do in order to run the game, it makes sense to send some non-essential data to the client to take care of, such as parsing incoming text and replacing it as-needed with HP/MP/TP/PetTP/etc.

    Just because the client hides the information from the player doesn't mean it's useless. It just means you don't need to see it.

    Comment


    • #32
      Re: Horrible Coding

      Originally posted by Quanta
      Just because the client hides the information from the player doesn't mean it's useless. It just means you don't need to see it.
      No really, it's just darn weird, stupid, or lack of foresight to put those things in the client.

      There is no logical explaination for it except rushed development + bad port.

      Think of it this way, TP/MP/alliance etc etc etc are constantly updated. You party member hit, server calculates. Why it's spending extra time to tell you...we can't answer that.

      It's like asking your mom where she is every 10 seconds...wouldn't it be better to ask her only when you need to know, or when she gets to specific location? If at all?
      Last edited by kuu; 07-24-2006, 11:45 AM.

      Comment


      • #33
        Re: Horrible Coding

        Really, I doubt Cliff would be the only one to ever figure out that stuff. I'm really intrested to hear his statements on how horrible the network design is, being a certified network professional and crunching numbers to what their Website handles and how it performes they seem to be dead on to working at the higher performance range.

        How the hell can he call it crappy?


        Cheezy Test Result (I am nerdier than 96% of all people. Are you nerdier? Click here to find out!)

        Comment


        • #34
          Re: Horrible Coding

          I don't see why this is suddenly an issue, it's been this way for years, since the beginning even! SE has done things exactly like this to keep their options open. Why is there a teleport pad in sky that doesn't do anything? One day it could. Maybe one day Samurai could have been given an ability to see the TP of others, but obviously that idea is down the drain.

          Comment


          • #35
            Re: Horrible Coding

            Given the number of operations per second the server needs to do in order to run the game, it makes sense to send some non-essential data to the client to take care of, such as parsing incoming text and replacing it as-needed with HP/MP/TP/PetTP/etc.
            Then why can people outside PT send you <hp>/<mp> with no difference?


            And macht,i'll dig that up for you then

            Comment


            • #36
              Re: Horrible Coding

              Originally posted by Feba
              FFXI is simply too client based.
              No it isn't. When you're in largely populated area like lower jeuno you must notice that large amounts of lag. If you're not going to have some of the game processing client side then it needs to be done server side. That means transmiting more data increasing lag even more, FFXI does not need this.

              Blaming the coding for how easy the game is to hack is easy to do but lets face it, it doesn't matter how well it is coded, someone is going to hack it, there're hacks out there for pretty much every game available, nothing is 100% secure. Sure, they could use high level encrypion but then everything needs to be decoded again, something which is pretty slow to do, espicially when you want to transmit data as often as you need to for a game, and I don't just mean for the client either, you're going to need the servers decrypting messages from thousands of players several times a second.

              Comment


              • #37
                Re: Horrible Coding

                Interestingly, one of the most simple things I could do (in terms of time required) would be to write a private server base for FFXI. Turns out, though, that this is rather stupid. FFXI is incredibly static, moreso than any other online game in existence, and you wouldn't be able to change the game at all. At most, you could tweak monster stats, and change what people say. But quests? static mobs/npcs in a zone? Items, doors, etc? The zone layout itself? It's all completely static and would require massively complicated client side changes to change anything. So basically, you'd be able to recreate FFXI as it is, with all its flaws. Don't kid yourself into thinking you could make it less laggy or anything. The reason for the lag and problems is completely due to fucking ridiculous clientside and network code.

                For instance, they use UDP for essentially all communication with a zone server. For those who don't know, UDP is a network protocol where an individual message is not guaranteed to reach its destination. So with normal UDP if something like an outgoing chat message packet gets dropped, it just disappears forever. Most people who use UDP add Some sort of reliability mechanism, either in the form of a separate TCP channel (which is guaranteed), or via some sort of manual check system to ensure that all packets are sent properly.

                Guess how SE does it? They just send "important" messages TWICE. (in the hopes that at least one will get through). Yeah, that's a good way to write network code. Where do these people learn to write this shit? Apparently the same place the network developers did for PSO. This sort of horrific protocol is representative of how the entire game is written. Don't even get me started on how they botched their encryption protocol. I'll only say one thing about it: Electronic Codebook for a STREAM, and with a broken algorithm on top of that. Jesus fucking christ.

                Whoops. Got off topic a bit.
                From Cliff.

                Comment


                • #38
                  Re: Horrible Coding

                  Since none of the data sent your system is at all important (Meaning that it's a definite file like a download), then of course during normal game play UDP is far more effecient then TCP.

                  UDP even though unreliable has very little overhead compared to TCP. This means they can get more out with less worry. Just adds to my suspicion of the Server -> Client communication. This isn't a crappy design but an intresting one to attempt for performance.

                  Now if he proves that SE would be stupid enough to use UDP for the Update files then that would be a consern. Otherwise straight out UDP use as he states has been in games as far back as Quake. He's wanting an overpower use when something else is just as effective with less overhead.

                  The downside is with the UDP means your system and connections have to be of good quality. UDP just puts more emphasis on your network. I should also add that unless your network is really crappy the chances of a UDP not reaching it's source is not that bad. He makes it sound bad but it's within the 20-80 rule (For every 80% you have useful 20% is not).

                  It's a guiding business practice as long a decision is in that 20-80 rule then it is good, if beats that 20-80 it's excellent. You have to worry though if it reaches near a 40-60.
                  Last edited by Macht; 07-24-2006, 12:49 PM.


                  Cheezy Test Result (I am nerdier than 96% of all people. Are you nerdier? Click here to find out!)

                  Comment


                  • #39
                    Re: Horrible Coding

                    First, why not take your public cliff wanking session to his own boards, I'm sure he could use an ego boost. It's difficult to keep saying your so much better then the programmers of a successful game when all you have is your say so.

                    Secondly: 'Guess how SE does it? They just send "important" messages TWICE.' Looks like cliff is clueless, this is how UDP networks work. Its just not that important that every single damn packet FFXI generates gets to the server, sending it twice is good enough. On top of that no, only stupid implementations where UDP was really a stupid choice have a side by side TCP streams. Why would you create a second, high overhead steam to give a UDP transmission something that works like an ACK when you could have gone with a normal TCP stream and a large or sliding window.

                    UDP is used when you A) need to move a lot of somewhat trivial data really damn fast, and B) reliability is handled by another protocol higher up the stack or by an application.

                    And just for the hell of it:
                    Without the overhead of checking if every packet actually arrived, UDP is faster and more efficient for many lightweight or time-sensitive purposes. Also, its stateless nature is useful for servers that answer small queries from huge numbers of clients. Compared to TCP, UDP is required for broadcast (send to all on local network) and multicast (send to all subscribers).
                    Common network applications that use UDP include the Domain Name System (DNS), streaming media applications, Voice over IP, Trivial File Transfer Protocol (TFTP), BitTorrent and online games.
                    Seems like maybe SE's programmers have a better handle on things then cliff does.

                    When cliff creates an online game that is unhackable then he might have a leg to stand on and criticise others. Until then, he's just spouting hot air to inflate his ego.
                    I use a Mac because I'm just better than you are.

                    HTTP Error 418 - I'm A Teapot - The resulting entity body MAY be short and stout.

                    loose

                    Comment


                    • #40
                      Re: Horrible Coding

                      Cliff wanking? Macht asked me to post what cliff said, I posted it.


                      If you want to flame people, go back to alla, or go to BG.

                      Comment


                      • #41
                        Re: Horrible Coding

                        Oh I'm so sorry you take everything someone says personally, the entire thread is 'SE's programmers suck because cliff said so.' As for flaming, you're one to talk.
                        I use a Mac because I'm just better than you are.

                        HTTP Error 418 - I'm A Teapot - The resulting entity body MAY be short and stout.

                        loose

                        Comment


                        • #42
                          Re: Horrible Coding

                          ugh, I can't believe I'm gonna have to lock a question thread...

                          Thanks Yyg!

                          Comment


                          • #43
                            Re: Horrible Coding

                            And throw it out too. Please restate your question appropriately and less hostile in a new thread.

                            Thank you,
                            AKosygin
                            FFXIOnline.com Moderation and Administration Team
                            Signature was intentionally left blank.

                            Comment

                            Working...
                            X