Welcome to the Achaea Forums! Please be sure to read the Forum Rules.

Server-Side Curing: Working As Intended?

2

Comments

  • ErnamErnam Member Posts: 2,416 ✭✭✭✭✭ - Grand Achaean
    edited May 2014
    Strata said: [...] Why not help (as in... definitely NOT kill) client side scripts do those things better by adding known afflictions to gmcp? What is the specific reason for not doing something that makes so much sense?


    The Primary reason for the implementation of server-side curing was plain - to make it easier for novices to get into combat without needing to find/buy client side curing.  With that said, while GMCP is amazing, it isn't exactly simple to work with, for someone without at least a moderate amount of coding experience.

    This is why in lieu of (or in addition to) GMCP outputs, a hard-coded output method would be considerably better for making the system easier to use, with or without client-side assistance.

    Pipe handling is something that could be easily added, however anything involving "scenarios" is going to be need to be done on the user end.  This in all likelihood would be very difficult to code in and use, and would also be pretty taxing on the server (each player running an extensive list of 'if' checks on every single status change would add up).


    Thus, I think the best solution is to simply offer an easy output of afflictions that you "know" that you have.  This could be accomplished with a second prompt line, or a simple output command (SHOW afflictions known).  With this tool on hand, even a beginner could generate scenario-based active curing and priority swapping systems, without having to have extremely complex affliction tracking and anti-illusion to compliment server curing.

    Example:

    [Curing]: You're aware of having the following afflictions:
    paralysis, asthma, darkshade, prone, damagedleftleg

    From an output like this, a simple trigger to check for combinations of afflictions could be used to handle scenario-based reactions like tree tattoo, fitness, restore, and so on.

    Without this functionality, no matter what server curing can do, it will require a massive client-side system to track afflictions and handle active curing.

    "Our lives are not our own. We are bound to others, past and present. And by each crime and every kindness, we birth our future."


          Manda  |  Godzilla  |  SLC
        Nim
      1. MakariosMakarios Administrator Posts: 1,872 Achaean staff

        Pipes is actually very difficult to do efficiently. I'm sure it'll come eventually, but there's no clean way to do it as of the moment.
        ErnamNemutaur
      2. IocunIocun Member Posts: 3,506 @@ - Legendary Achaean

        Just as a small note: it's already rather easy to "abuse" server-side curing functionalities to illusion-proof a client-side system, by making use of the CURING PREDICT command, which effectively tells you if you have an affliction or not (unless the affliction was given in a masked form).

      3. SantarSantar Member Posts: 2,382 @@ - Legendary Achaean
        Iocun said:

        Just as a small note: it's already rather easy to "abuse" server-side curing functionalities to illusion-proof a client-side system, by making use of the CURING PREDICT command, which effectively tells you if you have an affliction or not (unless the affliction was given in a masked form).

        So what you're saying is that I could do CURING PREDICT affliction x 25ish for every affliction, then gag the output everytime I get afflicted, and it'd be the same thing as them giving us a gmcp output.


        That sounds like a pretty glaring loophole that should either be solved by changing the curing predict feedback message, or just giving us the gmcp thing.

        image

        Strata
      4. ErnamErnam Member Posts: 2,416 ✭✭✭✭✭ - Grand Achaean
        edited May 2014
        Iocun said:

        Just as a small note: it's already rather easy to "abuse" server-side curing functionalities to illusion-proof a client-side system, by making use of the CURING PREDICT command, which effectively tells you if you have an affliction or not (unless the affliction was given in a masked form).

        I'd hardly call it abuse at this point, since the serpent class was effectively overhauled to balance the "loss" of illusion.  That's a really neat trick though.


        @Santar no, you only have to "predict" afflictions that you are hit with (real or illusioned).  It wouldn't work on any type of masked affliction, so there'd be no point in "predicting" afflictions you haven't seen being hit with.  You also can't "re-predict" an affliction until it has been determined that you don't have it (via diagnose or a blank herb being eaten).  Thus, if you spammed it, it wouldn't really work like you're describing.  It'd have to basically eat one of each herb and apply a salve to every body part, etc, before it'd be ready for another "use".

        It does kindof give us the GMCP message we've all been asking for though.  More on this tomorrow after I code it in  :#.

        "Our lives are not our own. We are bound to others, past and present. And by each crime and every kindness, we birth our future."


              Manda  |  Godzilla  |  SLC
          1. SantarSantar Member Posts: 2,382 @@ - Legendary Achaean
            edited May 2014

            I didn't say it did. 


            What I said was that it replicated a GMCP known afflictions output. Which, it does. That's something that should be rectified


            Curing disabled.


            You sink your fangs into yourself, injecting just the proper amount of curare.

            Paralysis Gained!+


            There is no need to predict that affliction - you know you have it already.

            image

          2. IocunIocun Member Posts: 3,506 @@ - Legendary Achaean
            Santar said:
            Iocun said:

            Just as a small note: it's already rather easy to "abuse" server-side curing functionalities to illusion-proof a client-side system, by making use of the CURING PREDICT command, which effectively tells you if you have an affliction or not (unless the affliction was given in a masked form).

            So what you're saying is that I could do CURING PREDICT affliction x 25ish for every affliction, then gag the output everytime I get afflicted, and it'd be the same thing as them giving us a gmcp output.

            Technically, I guess so, but I was thinking more of using it as a basic illusion check. I.e. you see a paralysis line, have your system send "curing predict paralysis" and see based on the result if it was real. Of course, you'd still suffer a time loss from the additional check, but it wouldn't affect people with a very good ping all too much.

          3. ErnamErnam Member Posts: 2,416 ✭✭✭✭✭ - Grand Achaean
            edited May 2014
            Ernam said:You also can't "re-predict" an affliction until it has been determined that you don't have it (via diagnose or a blank herb being eaten).  Thus, if you spammed it, it wouldn't really work like you're describing.  It'd have to basically eat one of each herb and apply a salve to every body part, etc, before it'd be ready for another "use".

              With server-side curing disabled, this would essentially mean that you'd only get one shot at using this until you diagnosed to "reset" your "known cures" list which you filled up with incorrect predictions.

            The second use would just give you 25 of this message: You have already predicted that you have that affliction.

            "Our lives are not our own. We are bound to others, past and present. And by each crime and every kindness, we birth our future."


                  Manda  |  Godzilla  |  SLC
              1. SantarSantar Member Posts: 2,382 @@ - Legendary Achaean
                Iocun said:
                Santar said:
                Iocun said:

                Just as a small note: it's already rather easy to "abuse" server-side curing functionalities to illusion-proof a client-side system, by making use of the CURING PREDICT command, which effectively tells you if you have an affliction or not (unless the affliction was given in a masked form).

                So what you're saying is that I could do CURING PREDICT affliction x 25ish for every affliction, then gag the output everytime I get afflicted, and it'd be the same thing as them giving us a gmcp output.

                Technically, I guess so, but I was thinking more of using it as a basic illusion check. I.e. you see a paralysis line, have your system send "curing predict paralysis" and see based on the result if it was real. Of course, you'd still suffer a time loss from the additional check, but it wouldn't affect people with a very good ping all too much.

                Either way, regardless of what people are using it for, it should be fixed. Either obfuscate the message or just give us the GMCP afflictions.

                image

                Ernam
              2. SantarSantar Member Posts: 2,382 @@ - Legendary Achaean
                Ernam said:
                Ernam said:You also can't "re-predict" an affliction until it has been determined that you don't have it (via diagnose or a blank herb being eaten).  Thus, if you spammed it, it wouldn't really work like you're describing.  It'd have to basically eat one of each herb and apply a salve to every body part, etc, before it'd be ready for another "use".

                  With server-side curing disabled, this would essentially mean that you'd only get one shot at using this until you diagnosed to "reset" your "known cures" list which you filled up with incorrect predictions.

                The second use would just give you 25 of this message: You have already predicted that you have that affliction.

                Nope, you can unpredict the afflictions as soon as you predict them.

                image

                Ernam
              3. ErnamErnam Member Posts: 2,416 ✭✭✭✭✭ - Grand Achaean
                Santar said:
                Nope, you can unpredict the afflictions as soon as you predict them.

                Oh, that's fun.  Let the spam begin!

                "Our lives are not our own. We are bound to others, past and present. And by each crime and every kindness, we birth our future."


                      Manda  |  Godzilla  |  SLC
                  1. StrataStrata United States of DerpMember Posts: 1,753 @ - Epic Achaean
                    edited May 2014
                    Iocun said:

                    Regarding keeping afflictions out of gmcp:

                    The one argument I can see is that it would give those who already have a great ping an even greater advantage than currently.

                    As it is, people with a bad ping have an incentive to switch to server-side curing, due to its greater speed and illusion-proofness.

                    People with a good ping have the choice to make the switch too, except that choosing the server-side option will cost them some speed in favour of being illusion-proof. So all in all, it evens the field somewhat.

                    With gmcp afflictions however, the fast-ping people would gain the best of both worlds, keeping their extreme speed and adding safety from illusions on top, making their curing distinctively better than previously, and better than anyone else's.


                    1/2 of your explanation is taking illusions into account. If illusions are to be removed from the game, then nothing you just said would be valid.

                    If the current server-side latency is 125ms (250ms rtt), then my client perceives it as ~7x slower than my average latency of 30ms.

                    People with bad ping have an incentive to switch to server-side curing, but are still at a disadvantage if they want to benefit from it for anything beyond 'basic' or 'average' curing capability (because they still need 100's of affliction triggers and supporting logic).

                    People with good ping would have the same emulated latency with the obvious difference being that their supporting client-side code will be able to react faster than a high-pinger's would. That would essentially negate the purpose of having server-side curing at all because it does uneven the playing field slightly. But what is the difference between this and pre-server-side curing when a low pinger fights a high pinger? The high pinger was already at a disadvantage.

                    That being said, putting known afflictions in GMCP would allow client-side scripts to react at the same latency of server-side curing regardless of their ping, thus evening the reaction times between low- and high-pingers. Nothing is going to prevent low-pingers from gaining an edge by using triggers instead if they wish put in the effort to keep the lines up to date.

                    As a player fortunate enough to have great ping, I would switch to server-side curing and accept the additional latency if it meant my curing was on a somewhat even level with those of higher pings because it's not fun for either person when there is a big difference in latency. Being lol-illusion-proof isn't even on my list of incentives for switching.


                    Edit: All of this kind of made me question the emulated latency in general. If it were able to scale based on average latency of each client, then yes... things would definitely be even.

                    image
                    Aehren
                  2. ErnamErnam Member Posts: 2,416 ✭✭✭✭✭ - Grand Achaean
                    edited May 2014


                    If the server-side curing delay was a static 50ms, and we had a gmcp/hard-coded output, all of these problems would be solved.


                    Best part is: They're both super easy to implement!

                    "Our lives are not our own. We are bound to others, past and present. And by each crime and every kindness, we birth our future."


                          Manda  |  Godzilla  |  SLC
                      1. TectonTecton The Garden of the GodsAdministrator Posts: 2,507 Admin

                        Not something we're looking at changing at the moment. If your natural ping is faster, and you're comfortable using a client-side system, use a client-side system. If you you don't, then don't - it's a series of personal tradeoffs.

                        WessuxNemutaurSherazad
                      2. NimNim Member Posts: 2,015 @@ - Legendary Achaean
                        I agree that there should be a prompt option. The lack of prompt is its biggest disadvantage to me. GMCP could be used to add aff. tracking to the HTML5 client, which would be a huge plus, but no output means this system might be helping newbies fight, but it's only really making combat more complex and arcane.

                        Unless it's rare for systems (SVO, Omni, private systems) to include that. That was one of the first things I built in mine though. :x
                      3. TectonTecton The Garden of the GodsAdministrator Posts: 2,507 Admin

                        We already provide means to check the status of what afflictions you have - DIAGNOSE.

                        NemutaurWessux
                      4. StrataStrata United States of DerpMember Posts: 1,753 @ - Epic Achaean

                        Maybe the additional gmcp information is too taxing on the sever? Make it a bitfield then. :)

                        image
                      5. NimNim Member Posts: 2,015 @@ - Legendary Achaean
                        that is the SLOWEST thing as a newbie, not to mention it's very hard to actually read during combat.
                      6. IocunIocun Member Posts: 3,506 @@ - Legendary Achaean
                        Ernam said:
                        Ernam said:You also can't "re-predict" an affliction until it has been determined that you don't have it (via diagnose or a blank herb being eaten).  Thus, if you spammed it, it wouldn't really work like you're describing.  It'd have to basically eat one of each herb and apply a salve to every body part, etc, before it'd be ready for another "use".

                          With server-side curing disabled, this would essentially mean that you'd only get one shot at using this until you diagnosed to "reset" your "known cures" list which you filled up with incorrect predictions.

                        The second use would just give you 25 of this message: You have already predicted that you have that affliction.

                        That's not quite correct. There's no need to reset your list. If you use CURING PREDICT and have the affliction, you get the line "There is no need to predict that affliction - you know you have it already." regardless of whether you already predicted it before or not. You only get "You have already predicted that you have that affliction." when you have predicted it AND you don't actually have it.

                      7. DaeirDaeir AustraliaMember Posts: 6,288 @@ - Legendary Achaean
                        Aren't we supposed to effectively consider illusions dead for the time being anyhow? I don't think something as metagamey as curing system locale should determine the viability of a skill. If combat illusions are supposed to be deprecated, remove the ability entirely or something.
                      8. NimNim Member Posts: 2,015 @@ - Legendary Achaean
                        There are still uses for illusions outside curing systems that don't depend on curing systems. Also, unfortunately, as long as they maintain their anti-transparency stance, there're still things illusions could hypothetically do related to curing, specifically in trying to manipulate curing priorities or other strategy-level things.
                        Sherazad
                      9. NemutaurNemutaur GermanyMember Posts: 1,068
                        Daeir said:
                        Aren't we supposed to effectively consider illusions dead for the time being anyhow? I don't think something as metagamey as curing system locale should determine the viability of a skill. If combat illusions are supposed to be deprecated, remove the ability entirely or something.

                        There's still use for illusions for rp and events. As well as a few illusions that make you think that a JITB or a Death tarot or monk deliverance or whatever is coming when it isn't. Tumble illusions, there's a whole lot more. It just won't be focussed on curing system breaking anymore.

                      10. WessuxWessux ChattanoogaMember Posts: 517 ✭✭✭✭✭ - Grand Achaean
                        Nim said:
                        that is the SLOWEST thing as a newbie, not to mention it's very hard to actually read during combat.

                        Just want to say this is a pretty ridiculous statement. I have no idea how gmcp works or even what it is. I'm twice the combatant you are, and I still use diagnose cause it's available. AND I can make simple highlights off of it to better see it.

                        Every true newbie I meet in this game has little to know programming knowledge. I think you're assuming too much on how necessary this is. 


                        In short, shut up and diagnose. 

                        Invest in a 9mm retirement plan.
                        NimHasar
                      11. JacenJacen Member Posts: 2,305 @@ - Legendary Achaean

                        I think @Nim is referring to pre-Physiology diagnose, which is like a 4 second balance or something ridiculous.

                        image
                        Nim
                      12. NimNim Member Posts: 2,015 @@ - Legendary Achaean
                        edited May 2014
                        @Wessux: I use diagnose too. I've also used it without transing survival. Newbies won't have all their skills transed.

                        Without trans survival, it is stupid slow. I forget where they've moved the upgrade to, so maybe it's super early now, but I know from playing an alt that the slowdown is still there.

                        How do you measure combatants? If its by knowledge, unless I'm mistaken, I have you beat 2-0. I know how GMCP works fairly well, AND I know about newbie diagnosing being slow. Also, who even cares who the better combatant is when a primary target audience is combat newbies?

                        ETA: If the aff tracker's built into HTML5 like other GMCP things are, newbies wouldn't even need programming skills to use it. That was my intent and hope, but I am just as OK with a prompt option.
                        Hasar
                      13. WessuxWessux ChattanoogaMember Posts: 517 ✭✭✭✭✭ - Grand Achaean
                        Nim said:
                        @Wessux: I use diagnose too. I've also used it without transing survival. Newbies won't have all their skills transed.

                        Without trans survival, it is stupid slow. I forget where they've moved the upgrade to, so maybe it's super early now, but I know from playing an alt that the slowdown is still there.

                        How do you measure combatants? If its by knowledge, unless I'm mistaken, I have you beat 2-0. I know how GMCP works fairly well, AND I know about newbie diagnosing being slow. Also, who even cares who the better combatant is when a primary target audience is combat newbies?

                        ETA: If the aff tracker's built into HTML5 like other GMCP things are, newbies wouldn't even need programming skills to use it. That was my intent and hope, but I am just as OK with a prompt option.

                        No idea where you're getting 2-0. Unless you're talking about when I was letting you test stuff on me because you were complaining about not being to kill people. Now if you want to go back further we can bring up the track recorded of me destroying you back when I wasn't very good either. And I'm not even gonna get into combat knowledge with you after watching stumble around as minister of war knowing barely any of the other classes skills.

                        If I remember right (been a long time) you get Physiology at like 100ish lessons in the skill. Give or take like 50. It comes before tumble and you shouldn't be fighting without tumble or you'll pretty much die to everyone.

                        I apologize for going Ernam on you, but a lot of your posts just always jab one of my nerves. I have no idea why, and I'm already having a bad day so yeah, my bad.

                        Invest in a 9mm retirement plan.
                      14. NimNim Member Posts: 2,015 @@ - Legendary Achaean
                        I've never complained to you, Nim has. If I'm logged into Achaea and the thing I do isn't very clearly marked as OOC, I am roleplaying.

                        The only things I have complained about are veils and flimsy roleplaying, the latter because I am a roleplayer before anything else and the former because #deleteveils2014thesaxaphonesolotheminiseries. I keep the latter to myself since I recognise not everyone cares about roleplaying as much as I do, and the former I don't because #deleteveils2014thepointandclickadventuregame.

                        Also what, exactly, is wrong with a newbie fighting before they meet some expected set of abilities? That reasoning is dumb because it's easy to include stuff like trans avoidance, a lv3 dirk/band, the eq. reducing thingy (ace combatant right here folks), trans miniskill resistances, dragon, lv3 con bonus, wings, buckawns, a veil, an extra veil just to troll @Nim, etc.

                        I say pvp right from level bloody five, if you're even remotely interested. You'll learn a lot, and transing your first skill to get that instakill or whatever will be that much sweeter, and you'll have fun with other people while doing it, too. Probably should stay in the arena but whatever works works~
                      15. NimNim Member Posts: 2,015 @@ - Legendary Achaean
                        ahh I regret making a post but cannot remove it. I don't care about having said those things, but this totally was an inappropriate place for some of them so I apologize for getting off track. T_T

                        as one would expect from someone with my enormous capacity for thoughtful maturity, I blame @Wessux entirely. I crunched the numbers and found none of it to be my fault. I remain amazing. :3
                        Wessux
                      16. NimNim Member Posts: 2,015 @@ - Legendary Achaean
                        2.b) It could even be included in as core HTML5 functionality as developmental resources permit. Except s/could/should/ IMO.
                      Sign In to Comment.