Results 1 to 10 of 134

Dev. Posts

Hybrid View

  1. #1
    Player Greatguardian's Avatar
    Join Date
    Mar 2011
    Posts
    3,238
    The game's combat engine simply won't allow you to be in the process of 2 actions at the same time, of any type, ever. It is not built for it. Monsters can't do it either.

    Spaghetti code is not the excuse. Engine limitations are.
    (2)

    I will have my revenge!

  2. #2
    Player Selzak's Avatar
    Join Date
    Mar 2011
    Location
    Bastok (Bismarck)
    Posts
    364
    Quote Originally Posted by Greatguardian View Post
    The game's combat engine simply won't allow you to be in the process of 2 actions at the same time, of any type, ever. It is not built for it. Monsters can't do it either.

    Spaghetti code is not the excuse. Engine limitations are.
    Are you sure that this is the case? Is there actually something in the code that won't allow it? Because technically, it could always be changed (whether or not it's practical to do so).

    edit: NVM, read a bit further. You don't know as much as you think you do about the processes involved here. The only thing making it impossible would be the complexity of changing the code. Maybe you're in college and have learned about object-oriented programming but not multi-threaded processes yet. An engine is just a collection of modules and such that define how the game acts, nothing about an engine is set in stone and unchangeable. Whether or not this particular 'limitation' is too deeply rooted for them to consider altering it is something that only they know.

    Computers are very capable of making a video game where the character is casting a spell and hitting something at the same time.
    (3)
    Last edited by Selzak; 12-11-2011 at 05:11 AM.

  3. #3
    Player Greatguardian's Avatar
    Join Date
    Mar 2011
    Posts
    3,238
    Quote Originally Posted by Selzak View Post
    Are you sure that this is the case? Is there actually something in the code that won't allow it? Because technically, it could always be changed (whether or not it's practical to do so).
    It's a fundamental design decision that was likely reached at the engine development level for various practical and preventative reasons.

    Modern game code works like a large pyramid. You build from the ground up, in layers. By the time you reach the top layer, changing anything on the ground floor would be impossible without collapsing the entire structure and building it over again. A rough overview would look something like this:



    Most, if not all, changes to the game made post-development are done on the Toolkit level. This includes things like damage calculations, new jobs, abilities, spells, monsters, animations, zones, etc. This is where you can make abilities and spells do whatever you want so long as they fit within the guidelines set by the engine. Spells have to have a cost (even if it's 0), they have to have a casting time (even if it's 0), and they have to have an action delay (which is globally set to 2.0338~ seconds, and can be changed but won't because it's there for good reason). The engine is what actually handles all of these things, and what can and can't be done at the most fundamental level.

    Tangent: I'm not an SE programmer (or am I? I wouldn't be allowed to tell you if I was), but you really don't need to be in this day and age to understand what's probably going on in any particular game system. I say probably, but it's a pretty strong probably, as in "It would be fairly godawful coding for the original designers to have done it any other way, and everything we can see on the client side serves to reinforce this idea, so this is probably how it works".

    Saevel's about as pro-melee as they come, and as he seems to have similar experience in this field he's basically saying the exact same shit I'm saying. This has nothing to do with "pro melee" or "anti melee" stances. I'm sure if we could attack while casting, he'd be all for it (and hell, why would I be against it honestly?). We just can't.

    Making useless comparisons to Zanshin and Parrying throughout this thread can only be called intentionally dense at this point, as we have demonstrated multiple times how those do not mean a damn thing in the context of a single-action system. Do you cast spells when your Zanshin goes off? Are you putting attacks in your attack so you can attack while you attack, dawg? No. Zanshin and DA hits are not individual actions, the game just rolls stats a second time if the player or monster passes a DA/Zanshin check when combat stats are being rolled (see the flowchart I made earlier in the thread).

    I think we could use more caps lock, boldface, and "zomg Opinionssssssssss" though. They contribute a lot to this technical discussion. I'm sure if you scream loud enough, the game engine will rewrite itself.

    Edit: Multi-threaded processing is impractical and dangerous in a 10-year old persistent MMO environment that wasn't designed for it - not so much on a hardware/software level any more but an implementation and design level. The original server code was a lot more open to this sort of thing (not allowing multiple simultaneous actions, but allowing the delay between actions to reach 0), and it wreaked havoc in practice. People could duplicate items by spamming packets and requests to the server, attack delays could be bypassed by spamming engage/disengage commands, it was a mess.

    I'm also not confident that the original server client was built to address this, and I've brought up other times that it's very clear that the game's combat mechanics themselves are certainly not. When you have a basic premise such as "One concurrent action" built in at the ground level, each subsequent level of combat coding assumes that it is accounted for already. The game is not designed to handle multiple concurrent actions, and changing something so fundamental means changing every bit of inherited code as well and rewriting some mechanics completely.

    You're right, it's potentially possible with a completely different design in mind, but I never said that no computers anywhere could handle it. I simply said, from the get-go, the amount of fundamental design changes necessary to do so is completely impractical and would essentially require rewriting a massive amount of the code base from the ground up. That will never happen, as it would be easier to just make a new game at that point, so this will never happen.
    (4)
    Last edited by Greatguardian; 12-11-2011 at 04:56 AM.

    I will have my revenge!

Tags for this Thread