Announcement

Collapse
No announcement yet.

Darkplaces Enemy Framegroups

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Darkplaces Enemy Framegroups

    This is a beta release of this, I need a little feedback. So, comments are welcome.

    What this is...

    This is a qc modification that makes the Quake monsters use .framegroups files in Darkplaces. A .framegroups file is a simple text file that defines a sequence (or group) of frames. The name of the .framegroups is somemodel.mdl.framegroups for example. The .framegroups file is in this format...

    0 15 10 0

    39 3 5 1

    The first number represents the start frame of the animation (.framegroups files always start at frame 0, some modeling software starts at 1, so you might have to subtract 1 for the start frame).

    The second number represents how many frames is in that specific frame group.

    The third number is the frame rate at which the sequence plays. This is independent from what the monsters "think" rate is, which I have set at 10 frames-per-second.

    The fourth number is whether the frame sequence loops. 1 for true, 0 for false. The only frame groups that should loop are the standing, walking and running animations.


    These groups are called inside of qc by "self.frame = ", with 0 being the first in the file. All attacks are timed off of the frame group. For example, the soldier fires the shotgun halfway through the attack animation. It doesn't matter how long it is.

    I tried to keep all of the monsters as original as possible. There are some things that have changed. For now, all run/walk animations are at a constant speed(movetogoal()). This leads to some gliding mainly while walking. All attacks should be about the same. The Enforcer now only shoots 1 laser instead of 2. I doubled the laser speed to compensate. The only one I didn't do was Shub. I haven't figured out how to do the lightstyle changes yet.

    The purpose of this isn't really for the original game, but for added content. This will make it easier to swap in model replacements. I know there is a dog replacement out there, but the animations aren't smooth. Using this as a base, the animations can be.

    Additions:

    v0.5
    -Added all Hell Knight attacks
    -Fixed the Ogre grenade attack(aims up and down)
    -Fixed the Zombie attack(aims up and down)
    -Updated the crusified zombie, were all playing at the same time, now varies
    -Added SPAWN_SENTRY ( spawnflag 8 ) - monster only stands and shoots the ranged attack, doesn't run after player. Works on soldier, enforcer, ogre, hell knight, shalrath, shambler and zombie.

    Old
    -Added SPAWN_ONGROUND (spawnflag 4) - For Zombies, start from the laying down position. Good for laying in graves or whatnot.

    Use:

    Extract into the mod folder of your choice. It doesn't seem to work inside of a pak file. There's no source with this first release. I want to clean it up and get some feedback first.

    File:

    Updated v0.5:
    https://sites.google.com/site/quakeu...edirects=0&d=1
    Last edited by silverjoel; 03-08-2013, 01:42 AM.

  • #2
    Here's a little test to show what this can do. You need to use the files above with it. I renamed soldier.mdl to enforcer.mdl and modified the .framegroups file. Add these to the above and now the enforcer uses the soldier file, all animations work with no qc involved.

    https://sites.google.com/site/quakeu...edirects=0&d=1
    Last edited by silverjoel; 03-02-2013, 01:43 AM.

    Comment


    • #3
      Not to be harsh but... would you consider that even usable?

      I d'loaded, then extracted to a new folder called "framegroup" and ran with "-game framegroup + map e3m1". Sure enough enforcers were using the soldier model! BUT... the laser shot was obviously not coming from the right place, they kinda "moon walked" in reverse(which is forward) and worst of all, somehow either they were dead but still standing or they just quit responding in game! I could walk right through them!!!

      I see the "gliding" is mentioned above. Now, I don't know anything about what you are doing, so this is just my observation of use and feedback
      Name's damage_inc, and killing is my business. Don't worry though, it's nothing personal! Oh wait... maybe it is

      Comment


      • #4
        Originally posted by damage_inc View Post
        Not to be harsh but... would you consider that even usable?

        I d'loaded, then extracted to a new folder called "framegroup" and ran with "-game framegroup + map e3m1". Sure enough enforcers were using the soldier model! BUT... the laser shot was obviously not coming from the right place, they kinda "moon walked" in reverse(which is forward) and worst of all, somehow either they were dead but still standing or they just quit responding in game! I could walk right through them!!!

        I see the "gliding" is mentioned above. Now, I don't know anything about what you are doing, so this is just my observation of use and feedback
        You have to use the files from the first post. The second post is kind of an add-on.

        Comment


        • #5
          Originally posted by silverjoel View Post
          You have to use the files from the first post. The second post is kind of an add-on.
          DOH! My apologies. I don't know what to say now other then it worked. Anything specific I should look for? Or is this more for someone who has custom models they want to swap out?
          Name's damage_inc, and killing is my business. Don't worry though, it's nothing personal! Oh wait... maybe it is

          Comment


          • #6
            Originally posted by damage_inc View Post
            DOH! My apologies. I don't know what to say now other then it worked. Anything specific I should look for? Or is this more for someone who has custom models they want to swap out?
            It's for someone who has custom models, but I want it to play as close to original as possible. I guess I'm going for not really noticing a difference between the original and this.

            I need to edit the first post to explain everything a little better.

            Comment


            • #7
              Hello silverjoel,

              That is an interesting idea.
              Even though, if someone wants to add new monsters, he would most probably also edit qc for that.

              Interesting thing is, that you will also not find separate "speed" or "timegap" between monsters animation frames in vanilla qc.
              They all have the same default timegap 0.1 seconds.
              So it must be the engines interpolation, that handles single frames and framegroups differently, which then leads to your described 'gliding', that is not present when using single frames.
              But that should really not be too much noticeable in regular gaming speed.
              Quake is a fast paced shooter, where the monsters usually are in run and shoot animation (or pain and die).
              So a grunt, who does his prowl is only really visible when using notarget.

              Thank you for your effort and sharing.

              Best wishes,
              Seven

              Comment


              • #8
                Originally posted by Seven View Post
                Hello silverjoel,

                That is an interesting idea.
                Even though, if someone wants to add new monsters, he would most probably also edit qc for that.
                This isn't for replacing a dog with a soldier, or something like that. It's for the replacement models out there. The new Ogre by Teamonster is wonderful, but it had to follow the original animations. With this, it doesn't. The standing animation can be 100 frames, it doesn't matter. It can run at 10 frames-per-second or 50 frames-per-second. I believe you had a dog replacement you were working on, but you couldn't cut down the frames to make them look right. With this, you wouldn't have to cut out any frames and the animations would be smooth.

                Originally posted by Seven View Post
                Interesting thing is, that you will also not find separate "speed" or "timegap" between monsters animation frames in vanilla qc.
                They all have the same default timegap 0.1 seconds.
                So it must be the engines interpolation, that handles single frames and framegroups differently, which then leads to your described 'gliding', that is not present when using single frames.
                But that should really not be too much noticeable in regular gaming speed.
                Quake is a fast paced shooter, where the monsters usually are in run and shoot animation (or pain and die).
                So a grunt, who does his prowl is only really visible when using notarget.

                Thank you for your effort and sharing.

                Best wishes,
                Seven
                The slight gliding is from the different movetogoal() calls. The soldier, for example, calls ai_walk(0), ai_walk(1), ai_walk(2), ai_walk(3) and ai_walk(4) during his prowl. The number goes to movetogoal() and changes the distance he move through the world in that one frame.

                I agree, it's not noticable while the monster is running though.

                Comment

                Working...
                X