Announcement

Collapse
No announcement yet.

DirectQ issues

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

  • DirectQ issues

    All these are key for DM. Without them, it makes playing DM in DirectQ basically impossible.

    %D doesn't report your last died at position.

    The status bar doesn't show the current map time. Impossible to time Quad/Pent without it.

    Hitting TAB shows a different time than %T reports (%t being the correct map time).

    Team scores don't show up, only individual scores. Impossible to know if your team is ahead or not.

    Misc:

    Typing chat doesn't allow you to type stuff as long as proquake does.

    Proquake does all of these things.

    I really REALLY love DirectQ in Windows 7. It runs PERFECTLY!!! But, these little things make it impossible to DM, which means I'm back to not being able to play Q again.

    I really like DirectQ though, so fix or no fix, thanks a bunch for the client!

  • #2
    timer works to show the time up in the upper left quadrant of the screen, so that fixes one thing.

    Comment


    • #3
      Back in 2003, there were features I found MANDATORY for gameplay that I used in my config with ProQuake, missing from JoeQuake.
      While waiting for updates to JQ, I instead implemented needed additions so I could play between version updates. Here's a work.log dated 11/12/2003...

      Work Log:

      Added more Proquake Features

      - Location.c %l support in say_team

      - % say macros ( %a %h %w %t %p etc..)

      - added smoothcam code (didnt use pq_smoothcam instead its always forced ON)

      - add maxfps support (cl_maxfps)

      - [] brackets around "MY" score in scoreboard

      - "()" around name for MM2

      - checks for proquake messages from Proquake server

      - timestamp player binds during a match(from ProQuake)

      - increased say text length

      Misc additions

      - underwater shots emmit bubbles (not smoke!)
      www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

      Comment


      • #4
        Yup, these are all features that are more or less vital for serious DM matches (although I have been managing without them) but for me the most annoying thing is the lack of a back-scroll-able console!

        Now I know this stuff is not very high on MH's priority list, and I respect that, but I'm still hoping most (if not all) of these go in at some point (and rather sooner then later obv. )

        Comment


        • #5
          scr_clock 1

          It's not the correct match time (it's actually the same as when you hit TAB), but it will give you a time that you can base Quads and Pents on. It could be modified to show the correct match time if a multiplayer game is running, but what if the player wants the full time since connection instead? Provide a cvar to select between the two, but what should the default be? And it gets into a messy vicious circle.

          So here's my take on these things.

          Multiplayer features are great to have, but DirectQ is not a dedicated multiplayer-only client. Where possible I will try to implement features in a manner that plays nice with both SP and MP, but in cases where those features are obviously going to fight each other, I choose to err on the side of "doing what ID Quake did".

          A client like ProQuake has the luxury of being able to set out to be an MP client, prioritize MP features and focus on really honing those features to perfection, occasionally at the expense of SP behaviour. A client like DirectQ (or FitzQuake, or ID Quake, or ...) doesn't have that luxury. Instead of getting to be really really good at one game type it has to be adequate at all game types.

          Coding time is limited, so the question of what it gets spent on comes up. Do you focus on providing a really really good MP experience or do you focus on being able to run 500,000 poly scenes with acceptable performance, for example.

          I'm also learning all the time, and finding new ways of doing things. So the feature that I give a reply of "no way! impossible!" to today might well end up getting coded in 5 minutes tomorrow. It doesn't always work that way, and it's a bonus when it does, but it has happened in the past and no doubt will happen again.

          Specific example: DirectQ supports a limited subset of the ProQuake messaging features. I had intended to support them all, but reading over the code I found it to be - frankly - a fucking mess. So the choices were: (1) copy and paste a load of code in that's a fucking mess and try figure it out later when it starts blowing up and interacting in weird ways with other parts of the engine, (2) drop the idea and do nothing, or (3) do as much as possible based on what seems essential and what I can make some kind of sense out of. The whole thing also has to co-exist peacefully with the default Quake protocol, the BJP Quake protocols and the FitzQuake protocol, by the way.

          So that's why some things sometimes don't get done. And if you've read this far you deserve a medal of some description.
          IT LIVES! http://directq.blogspot.com/

          Comment


          • #6
            Originally posted by MH View Post
            Specific example: DirectQ supports a limited subset of the ProQuake messaging features. I had intended to support them all, but reading over the code I found it to be - frankly - a fucking mess.
            Sigh. It's true.

            But to be fair, Grossman had to solve issues in a Quake compatible way so he was forced to use "evil" to solve these problems.

            Back in 2001, 2002 ... if ProQuake was its own little island incompatible with Quake/WinQuake/GLQuake nobody would have used it.

            Locs and bestweapon should be supported in mods.

            The protocol changes should just be a new protocol (ping in scoreboard, team scores, higher aim precision, etc.)

            Etc. Etc.

            And CRMOD used evil QCCX stuff to do things like string concatenation and IP masking in a way that would actually work with WinQuake/GLQuake.

            But evil has a price and code maintainability and uglyness is the price here.
            Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

            So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

            Comment


            • #7
              Originally posted by MH
              It's not the correct match time (it's actually the same as when you hit TAB), but it will give you a time that you can base Quads and Pents on. It could be modified to show the correct match time if a multiplayer game is running, but what if the player wants the full time since connection instead? Provide a cvar to select between the two, but what should the default be? And it gets into a messy vicious circle.
              How about doing it both? I have no idea how messy or evil it would be to implement but from a user point of view, it makes sense to have both..

              scr_matchtime 1 for example, could print the match time in bronze chars maybe.. just to distinguish it from the scr_clock time

              While you're at it, you might as well add scr_systime 1 that would print the real time in gold chars (similar to qrack's cl_clock)

              It would probably make more sense to use scr_maptime for the overall maptime, scr_matchtime for the match timer and scr_clock for the real (system) time though

              Comment


              • #8
                peg, just time timer in console to enable the on screen game time. It will show when your in a game, but not when you're waiting. It provides the same functionality that proquake has.

                %D is still required for DM.
                teamscores 1, or some other way of showing team scores instead of individual scores in the status bar would also be awesome.

                One thing I also noticed is when someone picks up the ring of shadows, in DirectQ they are IMPOSSIBLE to see. I'm at 2650x1600 res. At least in PQ You could still see their eyes.

                Regardless, MH, I understand that its a lot of work and appreciate it. It really is a nice engine to play in Win7. ALT+TAB, Startups, Mouse, all work flawlessly.

                Comment


                • #9
                  Originally posted by Magnus
                  peg, just time timer in console to enable the on screen game time. It will show when your in a game, but not when you're waiting. It provides the same functionality that proquake has.
                  That must be some CR-MOD command I guess.. It's not present in the engine itself anyways..

                  Btw, +teamscores in console will give you the teamscores in both CR-MOD and RuneQuake Match-mode.. (mod specific commands)

                  Comment


                  • #10
                    Actually +teamscores should also display the match time in CRMOD on any client

                    pq_timer was just a nifty onscreen clock added to ProQuake after the q1 source release.

                    there could actually be 4 clocks!

                    1.> player connect time (same clock as in STATUS command)
                    2.> map spawn time, how long this map has been loaded
                    3.> match time, count down timer of duration left for match
                    4.> realtime (12:55pm)
                    Last edited by R00k; 10-14-2010, 11:55 AM.
                    www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                    Comment


                    • #11
                      Originally posted by =peg= View Post
                      How about doing it both? I have no idea how messy or evil it would be to implement but from a user point of view, it makes sense to have both..

                      scr_matchtime 1 for example, could print the match time in bronze chars maybe.. just to distinguish it from the scr_clock time

                      While you're at it, you might as well add scr_systime 1 that would print the real time in gold chars (similar to qrack's cl_clock)

                      It would probably make more sense to use scr_maptime for the overall maptime, scr_matchtime for the match timer and scr_clock for the real (system) time though
                      Generally I don't really like this approach as it adds a mess of extra cvars with agonizing decisions about what their defaults should be and how they should interact with each other. Not fun.

                      More is not always better, and sometimes cutting back to a stripped down approach is the right thing to do.

                      I think a better option would be to just show both times side-by-side, clearly distinguishing which is the match time and which is the client time. Result, cleaner and easier, and totally unambiguous for the player.

                      %d is reasonable and sensible, I'll add that.

                      Team scores seems reasonable and sensible on the face of it, but it was at roundabout that point that I started panicking over the state of the messaging code. If there is an ugly pulsating bag of poisonous bloody pus anywhere in the universe, this code would be living in it.

                      There comes a point where maintaining the balance between new features and compatibility with existing stuff is a net negative return, and this was it for me at the time. Part of my thing is that I hate just blindly copying and pasting in huge chunks of code; I need to understand it, and preferably be able to reverse-engineer it myself. (I also need to convert it from C to C++ which makes the job that little bit harder sometimes.)

                      I can promise to review it again, but I can't promise anything more for definite, one way or the other.
                      IT LIVES! http://directq.blogspot.com/

                      Comment


                      • #12
                        Sweet, I'll give those a try Rook.

                        MH, with the %d add I should be good to go to resume my DM career. Thanks dude!

                        Sidebar, is there any way I can make the eyes in DirectQ look like they do in Proquake?

                        Comment


                        • #13
                          OK, so you wanted to be able to time powerups in DirectQ?

                          IT LIVES! http://directq.blogspot.com/

                          Comment


                          • #14
                            I installed DirectQ today on my Sony VAIO laptop (circa 2003 model) and it pumps out a rock solid 150fps on the internal Intel gpu Nice for watching demos on the couch!

                            If you really need a "clock" just run in a window and use the Windows clock gadget!
                            www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                            Comment


                            • #15
                              awesome awesome awesome MH!

                              Another thing, any chance of adding iplog to DirectQ?

                              In crmod/dm, kids are constantly changing their name, using fake names, not identifying themselves, etc.. its incredibly annoying.

                              Comment

                              Working...
                              X