Developers -vs- Coding

Options
2»

Comments

  • OMGLAZERZ - Heavens Tear
    OMGLAZERZ - Heavens Tear Posts: 2,327 Arc User
    edited February 2009
    Options
    Pretty much. 99% of my errors in C and C++ weren't noticed until I tested out several test variables, and even then... FINDING the actual error took ages. It's a very forgiving language, unfortunately... Same with COBOL. I hate COBOL. Miss one period, and suddenly, you've got errors out the wazoo.

    I am curious what language this is programmed in, myself. Is it a C derivitive, a Basic derivitive, or some other language? Is it an actual game engine, or is every single thing in here a hard coded thing? Plus... How do you sanitize your database? I know that there are some characters omitted from things like the faction slogans. Is that so people don't accidentally put in the symbols for the comments and fry your entire code? Just curious here. I've wondered for a while what's under the hood of this game.

    I'm going to go out on a limb and say PW was written in C++, and the restriction probably has more to do with the original language and expected characters being Chinese, and not English/French/Spanish/German/etc.
    [SIGPIC][/SIGPIC]
  • DevilCrys - Heavens Tear
    DevilCrys - Heavens Tear Posts: 488 Arc User
    edited February 2009
    Options
    Who cares really, Enough QQing over how GMs did this n how players did this..Your doing exactly wut there doing...COMPLAINING.. Booohoo..Now Im off to make a thread to complain about the System message :)
  • OMGLAZERZ - Heavens Tear
    OMGLAZERZ - Heavens Tear Posts: 2,327 Arc User
    edited February 2009
    Options
    Who cares really, Enough QQing over how GMs did this n how players did this..Your doing exactly wut there doing...COMPLAINING.. Booohoo..Now Im off to make a thread to complain about the System message :)

    OMG Stop complaining about people complaining!!!!

    Opps...have to return a video! b:bye
    [SIGPIC][/SIGPIC]
  • Harima Kenji - Sanctuary
    Harima Kenji - Sanctuary Posts: 41 Arc User
    edited February 2009
    Options
    I cant live without C or C++. other language just isnt my cup of tea b:surrender
  • Moonlite - Lost City
    Moonlite - Lost City Posts: 20 Arc User
    edited February 2009
    Options
    I am a programmer.
    I fully understand how easy it was to accidentally introduce that cash shop item bug (i.e. typo). That was a legit and acceptable coding error.
    I also fully understand how easy it is to fix some of the other bugs in the rest of the game. Here's the pseudo-codes of a very well-known bug...
    if (target.type == NPC) {
        damage = -1;
    } else if (target.type == MOB) {
        damage = calc_dmg(self.attack, target.defense);
    } else if (target.type == PLAYER) {
        damage = calc_dmg(self.attack, target.defense);
        //damage /= 4;
        // **** that, we make more money this way!
        if (target.attack_type != PHOENIX)
            damage /= 4;
    }
    

    From a programming perspective, it would be extremely inefficient to individually program each pet's damage algorithm - any smart programmer would just use an all-purpose function that calculates damage and works for all the pets. The only way for the phoenix to NOT have the normal steps applied to them is for its code to not be standard compared to the other pets. Meaning it must have had special, intentional modifications in its damage-calculating code OR the general-purpose damage calculating function had the phoenix added as an exception to the PvP damage reduction step. In both cases, intentional code changes were made, thus causing this "bug" to be more of a "feature". However, such a "feature" I still see as more of a money-grab rather than something that actually benefits the balance of the game. In this case, the "oops, the coders made a typo" excuse does not apply.

    For those who still insist a "typo" was made, the only feasible implementation would that there is a PvP damage reduction flag (i.e. a simple boolean) along with the other damage modifier flags (i.e. flying mobs damage reduction flag, immune to damage flag, etc.). For some (politically induced) reason, within the phoenix's code would be something unusual that prevents the PvP flag from being triggered (i.e. a simple typo of setting the boolean to false instead of true, or accidental omitting of a line that would toggle the boolean). But for this to only affect the phoenix would mean that within each pet's code would be those same damage modifier flags that affect damage calculations for that specific pet, and the phoenix's code somehow misses the PvP flag. If this were the case, "fixing" that would simply be adding a few lines of copy-pasted code that should have already been there in the first place.

    I am not QQing about phoenix's being overpowered/"bugged" - I hardly even PvP nor am I ever red (I die to phoenix's even many lvls below me within 5 seconds but I just ignore it and go back to doing what I was doing before). Instead, I am just pissed at either the programmer's incompetence or the higher up's insistence that this is actually a "bug" that they are "looking into" as opposed to a feature that does admittedly cause imbalance to the game at the cost of more income (which, while does give the game and company bad reputation, is a smart and somewhat reasonable move from an economical managing perspective). There are plenty of other bugs out there that are well known and also could easily be fixed. FB39's last boss sometimes does not complete properly for some squad members. Most likely a logic bug with how the quest completion is triggered. Probably takes a bit of time to analyze and debug, but nothing more than a few hours of work. Those lantern elite mobs above the hills near Sanctuary will follow you all the way into Arch and beyond. That is probably a small bug in the mob's aggro code (i.e. a typo in the mob's aggro range) - something that probably takes some time to find and should be very easy to fix. FB29's Qingzi can be lured through the door by a veno. This is purely an accidental bug with texture properties. Just re-add the physical barrier property to that section of the map that prevents mobs from passing through it. A 2 minute job at max. One of the physical attack mobs in FB59 is stuck in a rock and can't move (but can be killed by ranged/magical attacks). A fix would just be relocating the mob a few coordinates points over. A 30 second number change. Are the programmers really that incompetent or did the higher ups decide that the programmers should not waste time fixing the game (only acting when absolutely "necessary" like in this economy-breaking occurance) but instead spend time creating new cash shop items that would sell?

    On a side note, I still am curious on the GMs' extent of influence over the actual game system. The impression I have right now is that the GMs purely fulfill the moderator role of managing the game's items/economy/players/etc.. Meanwhile, independent coders (in China/etc.) actually do the modifications to the source code and the GMs occasionally merge in lumps of finished products. Thus the GMs do not actually have control over how chunks of the works or be able to modify those chunks. This would explains things like why the exploited cash shop item was removed entirely for a period instead of just having its code modified (a really simple 10 second job + recompile). Also explains unexpected rollbacks like the Nien beast re-appearing when the refining orb price reduction happened again (i.e. the GMs decided to re-merge in a few chunks that applied the price change but accidentally also merged in some of the chunks that contained the Nien beast data). While I hate the lack of bug fixing in this game, but, if my impression is accurate, I hate the general GM-directed complaining even more (unless it is directed towards the GMs' failure to properly relay the user base's complaints to those who can actually make changes).

    ~Moonlite


    Ps. If this post sounded like an off-topic flame, I apologize - events earlier today pissed me off quite a bit and I may be channeling that frustration to unrelated topics such as this.
  • Roojie - Lost City
    Roojie - Lost City Posts: 59 Arc User
    edited February 2009
    Options
    Wow, now that's some information; refreshing post, Moonlight.
    Puts things into perspective for me, although I don't know much about coding. I barely know anything accept that, indeed... one too many of something can break everything...
    -__-;;; Done that too many times with an open source game.

    The vantage points of this thread put me at mixed emotions about the whole situation and make me happy as a clam I was not on the day everything just went to hell. @_@
    But, one mildly selfish thing I like about the whole incident is that maybe some of the jerk wads on the game have been booted for good.
    I'm hoping that the GM's don't just ban the outright abusers of the bug though, as another mentioned, there were a lot of people who abused the glitch using a second hand method, via selling gold for oodles.

    I'll cut the real programmers some slack. Programming is boring and boredom makes for misakes... And coding straight python is hard. Well, hard for me. It's like trying to learn english all over again.
    I guess that's my two cents....
  • Sager - Sanctuary
    Sager - Sanctuary Posts: 47 Arc User
    edited February 2009
    Options
    Better one :: find the bug(s), and/or figure out what it's supposed to do. If you do, please tell me because I forgot (or did I?). b:chuckle
    As I have read your code for a few first lines, I would stop continue reading
    it and give it a zero point. I just want to point out several bad habits you have.

    1) You didn't specify what is the returning-type of main(). ANSI standard
    stated that main() must return value. That's why void main() is
    fail. (http://users.aber.ac.uk/auj/voidmain.shtml)

    2) for(i=0;i<1;++i) { .... }, this is a pointless loop. what's the reason of
    having a loop that will ALWAYS loop only one time.

    3) num1[0]=MAX;num2[0]=MAX; and for(n=0;n<MAX;++n)
    num1[n]=num2[n]=0;
    , you set the first element of num1 and num2
    to MAX, then you immediately reset it to 0.

    4) //
    Functions
    , this is
    not a proper way of using comment. Comment should state the purpose
    of your code and provide belief explaination to developers to make it
    easier to understand. It is okay for not using comment in small scale of
    code, but comment is neccessary when developing larger scale software,
    where it involves with more than one developer.

    5) Learn how to name your variable

    There are many things that I want to complain about your code, but I will
    stop right here, because it might hurt your feeling b:chuckle
  • _Bloody_Fox_ - Sanctuary
    _Bloody_Fox_ - Sanctuary Posts: 993 Arc User
    edited February 2009
    Options
    this is a stupid thread imo.
    No one ever said they knew coding.
    Lame how you try and look all smart with all that coding.
    Most people just complain about the games bugs, They never said they could do better.
    Don't try and post a thread looking like you know what your doing and everyone else does. it looks really really dumb
    Facebook.com/foxi187
    [SIGPIC][/SIGPIC]
  • Sigr - Heavens Tear
    Sigr - Heavens Tear Posts: 280 Arc User
    edited February 2009
    Options
    *snipped pointless BS*
    There are many things that I want to complain about your code, but I will
    stop right here, because it might hurt your feeling b:chuckle


    Hurt my feelings? How can you do that? You're a self-righteous moron. b:chuckle
    Lament of a Hybrid Veno: Where oh where did my spirit go? b:sad

    I hate ranged mobs. b:angry

    I <3 my cactopod. b:pleased
  • Sigr - Heavens Tear
    Sigr - Heavens Tear Posts: 280 Arc User
    edited February 2009
    Options
    this is a stupid thread imo.
    No one ever said they knew coding.
    Lame how you try and look all smart with all that coding.
    Most people just complain about the games bugs, They never said they could do better.
    Don't try and post a thread looking like you know what your doing and everyone else does. it looks really really dumb

    So do you, now, go away.
    Lament of a Hybrid Veno: Where oh where did my spirit go? b:sad

    I hate ranged mobs. b:angry

    I <3 my cactopod. b:pleased
  • Sager - Sanctuary
    Sager - Sanctuary Posts: 47 Arc User
    edited February 2009
    Options
    Hurt my feelings? How can you do that? You're a self-righteous moron. b:chuckle
    Who did you call moron? moron! b:pleased
  • Shandelzare - Sanctuary
    Shandelzare - Sanctuary Posts: 732 Arc User
    edited February 2009
    Options
    Heh, I lol'ed when I saw

    if (target.attack_type != PHOENIX)
    damage /= 4;

    Honestly though, it is very understandable that there may be a coding mistake from time to time, BUT often it's not the ****-ups that pisses players off the most, its how the GMs handle the problems...
    [SIGPIC][/SIGPIC]