Announcement

Collapse
No announcement yet.

Unvanquished Is Rewriting, Modernizing The Quake 3 Engine

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

  • Unvanquished Is Rewriting, Modernizing The Quake 3 Engine

    Phoronix: Unvanquished Is Rewriting, Modernizing The Quake 3 Engine

    The Unvanquished open-source game is one of the most fascinating open-source game projects as they've strived for fundamental improvements in the ioquake3 engine and also to deliver high quality art assets and in-game content. Unvanquished is powered by the Daemon Engine, which is derived from the ioquake3 engine at its core -- the open-source version of id's Quake III engine. With the original code being the better part of two decades old, the developers are seeking to modernize and rewrite the code-base...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    They have done some cool things with their engine so far. To bad they have scrap it and write something brand new after coming so far. Maybe forking the DOOM3 engine would be a good place to start?

    Comment


    • #3
      We are not scraping the current engine but more like evolving it incrementally. We are however scraping and replacing the internals one at a time so that eventually we have a more "modern" engine.

      Comment


      • #4
        Originally posted by kangz View Post
        We are not scraping the current engine but more like evolving it incrementally. We are however scraping and replacing the internals one at a time so that eventually we have a more "modern" engine.
        Did you considered other options? If yes which were they?
        Why is better to modernize engine than ship the game?

        Comment


        • #5
          Originally posted by Ramiliez View Post
          Did you considered other options? If yes which were they?
          Why is better to modernize engine than ship the game?
          You say that as if they cannot do both and that they are mutually exclusive.
          Also, the amount of time people spend writing code is generally not going to affect the speed of game shipment since all the other parts (assets, sound..) are done by other people. Most of the work is not programming, which is why most FOSS games just suck.

          Comment


          • #6
            I had a look at some of your latest source code and it's looking really clean and heavily document. Well done.
            I'm just loving that C89 style. So neat and proper. It's no wonder so many quake3 ports have been made over the years.
            C might get tedious and boring but well written C just makes me happy in ways no C++ hack could. I suspect the lack of interest in Doom3 indicates others feel the same way as I do.

            I haven't noticed any C++ stuff so I'm hoping your C++11 transition will be very strict and limited.
            Using PNaCl is interesting. I really dislike JavaScript so I think, while not optimum, it's probably the best way to get a web app going. Though I'm not quite sure why you guys are interested in PNaCl. Is an FPS really a web app now?

            Anyhow, I hope you guys can merge the Jedi Outcast\Academy modifications so that there will truly be one fork to rule them all

            Good-luck!

            Comment


            • #7
              Originally posted by c117152 View Post
              I haven't noticed any C++ stuff so I'm hoping your C++11 transition will be very strict and limited.
              Using PNaCl is interesting. I really dislike JavaScript so I think, while not optimum, it's probably the best way to get a web app going. Though I'm not quite sure why you guys are interested in PNaCl. Is an FPS really a web app now?
              The blog explains it in detail. PNaCl is supposed to get over the older VM that is in use right now. It's just a bytecode interpreter, the same as it's in use right now, but delegating the maintenance of its compiler to Google, and thus switching from a currently unmaintained and inefficient one to one widely supported.

              Comment


              • #8
                Originally posted by c117152 View Post
                I had a look at some of your latest source code and it's looking really clean and heavily document. Well done.
                I'm just loving that C89 style. So neat and proper. It's no wonder so many quake3 ports have been made over the years.
                C might get tedious and boring but well written C just makes me happy in ways no C++ hack could. I suspect the lack of interest in Doom3 indicates others feel the same way as I do.

                I haven't noticed any C++ stuff so I'm hoping your C++11 transition will be very strict and limited.
                Using PNaCl is interesting. I really dislike JavaScript so I think, while not optimum, it's probably the best way to get a web app going. Though I'm not quite sure why you guys are interested in PNaCl. Is an FPS really a web app now?

                Anyhow, I hope you guys can merge the Jedi Outcast\Academy modifications so that there will truly be one fork to rule them all

                Good-luck!
                You love that style, but did you contribute back? If you don't and you are just saying: this developer should use this, what is the benefit?

                What is so bad of using C++ or C++ 11?
                Using iterators or auto? Using a STL sort function that works faster than QSort?

                What would be the problem if they would use JS like V8 (they don't, as you did not read the blog post) as their portable scripting engine? Would it taint the project? Would it make it a web app? 0AD game is using a JS engine as the main scripting, and I don't see it working on the web, maybe you can clarify me.

                PNaCl is not a web technology, is a sandbox environment to execute C/C++ programs. PNaCl (Portable Native Client) is a C/C++ VM that executes everything in a sandbox. But is still C++. It is more C++ than Asm.JS is, as it can do all operations that C++ does, excluding some very weird pointer arithmetics, and even if a buffer overflow occurs, this would in the worst case break the VM (the runtime of the game logic), not the user's machine credentials and such.

                Comment


                • #9
                  Well done!

                  Great work Unvanquished Team.

                  I do not play the type of FPS you guys produce, however I like to follow your updates and see a determined team make a great game.
                  Amazing visuals and may you guys reach your goals in not time.

                  All the best!

                  Comment


                  • #10
                    I am mildly disappointed that they are switching to C++ if only because I have been spending a fair bit of time learning C lately and was starting to look for decent game projects I could start to dig into and potentially help out with. As Unvanquished is one of the nicer and more polished open source games out there I was strongly considering getting to know the code base. But now? Not so much, as I really don't care for C++. I know it offers a lot of features missing from C, but none of them seem compelling enough to spend any significant amount of time wading through C++ code which almost always seems to tend towards the convoluted and unnecessarily over-engineered side of things. This is just personal preference though and obviously the devs have already made up there mind, I'll just have to keep looking around till I find a project that is a better fit for what I am after.

                    Comment

                    Working...
                    X