Announcement

Collapse
No announcement yet.

about Id Tech4

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

  • #31
    That's an old debate, right? Some people say that C++ is the only way to go nowadays, while others say you can do everything in plain C without needing the object based thing from C++.

    Comment


    • #32
      If somebody likes C or C++ more that's definitely a question of taste but from a technical point of view the two are similar. Granted some crap like templates or STL you should not use in GameDev but aside from that I don't see much of a reason why it should be bad to move over to C++.

      Comment


      • #33
        It's mostly just that I very much prefer C to C++ and so have been able to muck around tech3, but won't be able so much with 4.

        Comment


        • #34
          I don't think this should be much of a show stopper.

          Comment


          • #35
            Yeah the C/C++ issue isn't a problem.

            I'm more curious as to what the engine will have to offer. Alot of features have already found their way into opensourced engines already, so I doubt you'd see alot of projects switching to the engine, but probably more of a "cobbling" of the features they like out of it into their own.

            Comment


            • #36
              Originally posted by Irritant View Post
              Yeah the C/C++ issue isn't a problem.

              I'm more curious as to what the engine will have to offer. Alot of features have already found their way into opensourced engines already, so I doubt you'd see alot of projects switching to the engine, but probably more of a "cobbling" of the features they like out of it into their own.
              Well, probably devs will update id tech 4 with more modern features like like tesselation or whatever you spell that, remove the 60 fps cap it has by default, maybe work on the megatexture if it includes some of it. Theres room for lots of features to add.

              Comment


              • #37
                Originally posted by xav1r View Post
                Well, probably devs will update id tech 4 with more modern features like like tesselation or whatever you spell that, remove the 60 fps cap it has by default, maybe work on the megatexture if it includes some of it. Theres room for lots of features to add.
                Agreed, I was speaking more from the perspective of existing projects looking to improve their engine. I'm sure something similar to the IOQ3 project will exisit for tech4.

                Comment


                • #38
                  This is anyways not how it works there. Most AAA engines changes over time quite a bit. If it's downwards compatible, okay, but don't expect this to be the case. But attaching a C++ System to a C System is easier than the other way round.

                  Comment


                  • #39
                    Originally posted by xav1r View Post
                    That's an old debate, right? Some people say that C++ is the only way to go nowadays, while others say you can do everything in plain C without needing the object based thing from C++.
                    C++ enforces things and makes it easier to code.

                    You can do a substantive portion of C++'s OO stuff in C, though you have some odd sharp edges when you do it. Many things aren't automatic like they are in C++. It actually requires more discipline to code it that way than with C++ and moreover you end up with something that may not be as fast as the C++ code in many cases.

                    You can code C++ code that is faster and easier to maintain than C, but it requires nearly as much discipline to code OO in C to do it.

                    The biggest complaint I have with C++ development in general is that many tend to over apply OO development. In C++, you should really, really only apply as much OO as is realistically needed for your project. Templates are fine, but you shouldn't make everything a template. Abstraction is fine, but you shouldn't be making tons and tons of wrapper classes that serve little purpose past data encapsulation unless you NEED the encapsulation. (In many, many situations, the dev absolutely did NOT need it.) There's tons of more examples.

                    Comment


                    • #40
                      Originally posted by Dragonlord View Post
                      But attaching a C++ System to a C System is easier than the other way round.
                      No kidding. (Try to use a templated class inside of C... Good LUCK!! )

                      Comment


                      • #41
                        Originally posted by xav1r View Post
                        Well, probably devs will update id tech 4 with more modern features like like tesselation or whatever you spell that, remove the 60 fps cap it has by default, maybe work on the megatexture if it includes some of it. Theres room for lots of features to add.
                        There's a distinct reason there's a 60fps cap. Most humans can only discern 1/6th of that resolution. The UI atom has typically been 100msec. Larger feels laggy. Smaller's snappy, but the event loops on many machines until recently couldn't give it to you any better than 100msec. Same goes for framerate. You can't discern past 60fps as anything more than flicker unless you've trained yourself and then it's something like 80 or so fps as that threshold.

                        Comment


                        • #42
                          With CRT i could see flickering with 75 hz, disappeared with 85 hz. But as currently TFT are common 60 hz is enough. When you want a completely smooth vsync you should consider only integer divisors to sync. Thats the thing which is problematic with 24/25hz material for example when shown as 60 hz. Therefore for syncing with pal movie 100 hz for pal was my favorite choice - in order to sync 24 and 30 fps perfectly you would even need 120 hz. Thats for movies, back to games: when you update for example every 2nd frame with 30 fps it looks more smooth than when you update every 1.x frames, as without vsync you get the tearing lines due to different content and even without vsync you get update some frames after 2 frames delay and others after 1 frame. With mainly static content that will not be visable, but when you use fast turns you see it, therefore a real gamer needs framerate way over 60 hz in every case.
                          Last edited by Kano; 05-18-2009, 03:36 PM.

                          Comment


                          • #43
                            Originally posted by Kano View Post
                            With mainly static content that will not be visable, but when you use fast turns you see it, therefore a real gamer needs framerate way over 60 hz in every case.
                            Heh...

                            The average LCD happens to have a 5ms latency on the monitor.
                            The good stuff has a 2ms latency.

                            5ms is serviceable for most games with a refresh rate of ~20Hz.
                            2ms is good for most gaming with a refresh rate of ~60Hz.

                            Kind of puts this whole discussion in perspective, doesn't it?

                            Unless you've got sub-millisecond refresh (only some fairly high-end LCD's and Plasma displays currently do this to the best of my knowledge...), then throwing more FPS at the problem won't make the game play ANY better. If you're on a CRT, unbinding it will help some, but only until you hit the monitor's refresh rate, and then you're not getting any better out of it either.

                            Comment


                            • #44
                              Maybe you misunderstood me. You can use 30 or 60 fps to make a turn smooth, but when you try 40 or 50 fps it will jump. 20 fps is nothing you would ever want to see as the eye is faster. That the monitor has to be fast enough thats clear.

                              Comment


                              • #45
                                Originally posted by Kano View Post
                                Maybe you misunderstood me. You can use 30 or 60 fps to make a turn smooth, but when you try 40 or 50 fps it will jump. 20 fps is nothing you would ever want to see as the eye is faster. That the monitor has to be fast enough thats clear.
                                The thing is, unless you're using a CRT, high-end LCD TV, or Plasma TV, you're not going to see better than 60fps. Hence the framerate lock- most everyone's using LCD's these days.

                                Now, I don't agree with it either. It's extra code in there that can break- but it's there to ensure consistent results for most hardware out there. I just don't want people to think that ripping it out is going to magically make the game play better now.
                                Last edited by Svartalf; 05-18-2009, 05:01 PM.

                                Comment

                                Working...
                                X