Announcement

Collapse
No announcement yet.

To Saturn: Six degrees of freedom in Quake C

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

  • To Saturn: Six degrees of freedom in Quake C

    What it says on the tin, currently looking around is controlled by player movement, rather than normal mouse movement, lookstrafe allows for mouselook.

    Controls are:
    forward/backward pitches
    strafe yaws
    up/down rolls
    +button3 assigns yaw movement to roll movement
    jump pushes forward

    CVARs:
    lspeed - look speed
    ldecay - angular velocity decay
    drag - velocity decay

    Everything important should be in car.qc, altdefs.qc is defs.qc but I wanted a seperate file for changes.

    Attached is a compiled progs.dat

    https://github.com/IcarusV/tosaturn/tree/master

    *Edit*
    Also, some prototype wall walking.
    https://github.com/IcarusV/dimensionaldoom
    Attached Files
    Last edited by IcarusV; 09-07-2015, 04:18 PM.

  • #2
    Interesting,
    I was discussing this very feature just the other day.
    So this gives you control like in Descent?



    Did you make this for a mod/game that you are developing?

    Re: your user name, have you played the excellent Icarus.1?

    [ame]http://www.youtube.com/watch?v=FLmwWEG4hCg[/ame]
    Last edited by Adam; 09-07-2015, 04:37 AM.
    Username : Atomic Robokid on Steam

    Please check out my Quake made things:

    https://www.indiedb.com/games/run-over
    https://adam-freeman.itch.io/hazard
    https://adam-freeman.itch.io/diver
    https://adam-freeman.itch.io/beyond

    Comment


    • #3
      wasnt this already done in quake?

      im pretty sure i remember seeing a video of someone who had also made a mod to give quake 6DOF controls


      EDIT: oh, i just found the thread i meant http://quakeone.com/forums/quake-hel...of-quake1.html
      .
      are you curious about what all there is out there in terms of HD content for quake?
      > then make sure to check out my 'definitive' HD replacement content thread! <
      everything that is out there for quake and both mission-packs, compiled into one massive thread

      Comment


      • #4
        Originally posted by IcarusV View Post
        What it says on the tin, currently looking around is controlled by player movement, rather than normal mouse movement, lookstrafe allows for mouselook.

        Controls are:
        forward/backward pitches
        strafe yaws
        up/down rolls
        +button3 assigns yaw movement to roll movement
        jump pushes forward

        CVARs:
        lspeed - look speed
        ldecay - angular velocity decay
        drag - velocity decay

        Everything important should be in car.qc, altdefs.qc is defs.qc but I wanted a seperate file for changes.

        Attached is a compiled progs.dat

        https://github.com/IcarusV/tosaturn/tree/master
        It would help if you had some look at me content. Screenshots are nice, but video would be 10 folder better imo.

        Is this in the realm of Descent like Adam mentioned?
        Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

        Comment


        • #5
          I would have recorded video, but I'm running Linux and haven't found a screen recording program that wanted to work for me, screenshots didn't seem too terribly necessary, as they would just be Quake at odd angles.
          The purpose of this was to be a QC framework for anything that might involve 6DOF movement, I might get actual mouse control working in the future, so I just threw it in unfinished works. I was planning to make some racing and wall walking mods with this, but I would like to try to integrate this into FTE before going much further, as the QC version only updates angles every 1/30th of a second, if I'm correct.
          I did see that Hypersonic did it in Fitzquake, I was going to make a thread today asking about where I'd put something like this in the engine, I've been wandering through the source with some luck, but a guide would make it much easier. If anyone has something to post in that vein, it would be appreciated, otherwise, I guess I'll make a thread later.
          And to Adam, the name's actually a Deus Ex reference; Icarus.1, does look neat, though, I'll give it a go.

          Comment


          • #6
            Originally posted by IcarusV View Post
            I would have recorded video, but I'm running Linux and haven't found a screen recording program that wanted to work for me, screenshots didn't seem too terribly necessary, as they would just be Quake at odd angles.
            The purpose of this was to be a QC framework for anything that might involve 6DOF movement, I might get actual mouse control working in the future, so I just threw it in unfinished works. I was planning to make some racing and wall walking mods with this, but I would like to try to integrate this into FTE before going much further, as the QC version only updates angles every 1/30th of a second, if I'm correct.
            I did see that Hypersonic did it in Fitzquake, I was going to make a thread today asking about where I'd put something like this in the engine, I've been wandering through the source with some luck, but a guide would make it much easier. If anyone has something to post in that vein, it would be appreciated, otherwise, I guess I'll make a thread later.
            And to Adam, the name's actually a Deus Ex reference; Icarus.1, does look neat, though, I'll give it a go.
            the odd angles has me wondering. what are the chances of this facilitating "Matrix" wall running ?
            Want to get into playing Quake again? Click here for the Multiplayer-Startup kit! laissez bon temps rouler!

            Comment


            • #7
              Originally posted by Mindf!3ldzX View Post
              the odd angles has me wondering. what are the chances of this facilitating "Matrix" wall running ?
              Very good, seemingly. I actually have some prototype code for wallwalking.
              https://github.com/IcarusV/dimensionaldoom
              For that, lspeed 1 and keyboard movement works better than mouse control, vertical movement yaws rather than rolls here, and x/y movement moves the player. Pitching isn't possible in this code, but I could probably fix that when I get this working with proper mouse control.
              This traces 3 lines downward from the player, finds the cross product of two of the sides of the triangle formed by the trace_endpos's, and adds the cross product of that and the v_up of the player to the player's rotational axis.
              Have some maps as well, though only the source, the server doesn't want to take the BSP's due to size.
              Attached Files
              Last edited by IcarusV; 09-07-2015, 04:42 PM.

              Comment


              • #8
                Since you want to incorporate this into the engine, you should ask Spike (if not only because he's typically around it seems, he also wrote the damned sourceport you are trying to incorporate this into.) Keep on looking into this because 6DOF in engine would be pretty rad.
                Last edited by Ebisu; 09-09-2015, 10:12 PM.
                Quake is for nerds.

                Comment


                • #9
                  fte already has a '6dof' command/cheat (along the same lines as the 'fly' cheat).
                  it still has instant-aiming though, which might not be what you want with largeish spacecraft.
                  you can activate it in qc via self.movetype=30
                  +rollright / +rollleft to rotate the camera.

                  q1bsps will always be weird, in that you cannot ever rotate entity bboxes. for q3bsp you may wish to use self.geomtype=GEOMTYPE_CAPSULE; combined with all 3 axis of the mins+maxs being equal in length, this can give spherical collisions against the world.
                  Some Game Thing

                  Comment


                  • #10
                    Originally posted by Spike View Post
                    fte already has a '6dof' command/cheat (along the same lines as the 'fly' cheat).
                    it still has instant-aiming though, which might not be what you want with largeish spacecraft.
                    you can activate it in qc via self.movetype=30
                    +rollright / +rollleft to rotate the camera.

                    q1bsps will always be weird, in that you cannot ever rotate entity bboxes. for q3bsp you may wish to use self.geomtype=GEOMTYPE_CAPSULE; combined with all 3 axis of the mins+maxs being equal in length, this can give spherical collisions against the world.
                    Very neat, thanks. I'll look into that movetype in the source to see if I can implement some sort of velocity based interface in the Quake C.

                    Comment


                    • #11
                      Does not work in quakespasm, I get the "Host_Error: progs.dat system vars have been modified, progdefs.h is out of date" error.
                      Contradiction is truth. Fear is freedom. Rights are privileges. Job is a commodity. Ignorance is strength.

                      Comment

                      Working...
                      X