rayval 4 days ago

The wiki says Doomretro is 180,000 lines of code. That seems high to me, without ever having looked at the code.

I have worked on simple games in the past which are in the low tens of thousands LOC. I understand AAA games can be several millions of lines of code. Minecraft is reportedly 1.8M.

However, Chocolate Doom (the precursor for Doomretro) is around 50kloc, according to [1]. Wonder what changes were made to more than double the code size.

[1] https://medium.com/@atroche/a-quick-comparison-of-the-size-o...

  • ropejumper 3 days ago

    More than triple if your numbers are right. That does sound like a lot.

WithinReason 4 days ago

How does it compare to Chocolate Doom?

  • DrNosferatu 3 days ago

    This.

    What’s different this port?

    • flykespice 3 days ago

      I played it on my android phone since it's available as one of the sourceports supported in DeltaTouch.

      So far, it's just a bunch of visual enhancements like:

      * When you kill an enemy the blood splatters on the floor

      * There is a nice crt effect

      * When you get shot your screen shakes with blood.

      * When you pause you get a panoramic view of the level you currently playing on the menu.

      That is only what I can tell.

low_tech_love 3 days ago

Since we’re on a lighter topic, may I ask HN if I’m really the only person in the world who absolutely hated Andrew Hulshult’s new soundtrack for Doom 2?

tmtvl 3 days ago

I like how the wiki* says:

> Its source code was originally derived from Chocolate DOOM but is now very much its own beast. It does include all the usual, obligatory enhancements that you tend to find in those other source ports out there, but it also has so many of its own cool, original ideas that continues to set itself apart.

So yeah, cool, DOOM Retro has a ton of enhancements and a bunch of new features... but then the wiki goes on to say:

> DOOM Retro is and always will be intentionally minimalist in its approach

So on one hand a gigaton of enhancements and features, but on the other hand minimalism? I don't think you can have it both.

That said, I suppose it seems like a cool project for people who like DOOM.

* https://github.com/bradharding/doomretro/wiki

zooweemama 4 days ago

I don't understand how this is legal or even just OK?

  • larsiusprime 4 days ago

    Doom is open source. The assets must be purchased but are modular and easy to drop in to any compatible source port engine.

    • wang_li 4 days ago

      The license was changed. You can't do that to other people's code. It was originally released under GPLv2 and he's changed all the copyright notices to say GPLv3. While the license included in the original doesn't bind the recipients to v2, recipients can't restrict successive recipients to a later version only. They have the option of v2.

      • rpdillon 3 days ago

        That's not what the license says. It explicitly allows derivative works to be redistributed under subsequent versions of the GPL, including GPLv3.

        > This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

        https://github.com/id-Software/DOOM/blob/master/LICENSE.TXT

        • wang_li 3 days ago

          The license says you, as a redistributor, can follow the terms of GPLv2, GPLv3, GPLv(n+1). That is not the same as saying you can relicense it to any future version of the GPL. Every recipient will always have the choice of GPLv2.

          • rpdillon 3 days ago

            The original source code will of course remain available under GPLv2. For the modified version, it can absolutely be modified and distributed under a later version of the license because that's exactly what the license says.

            I'll edit out some distracting words and see if that helps clarify:

            > you can redistribute...and...modify it under the terms of the GNU General Public License...either version 2...or...any later version.

            So this means I can redistribute and modify it under the terms of GPLv3, which is exactly what this project does.

            Some people do have a problem with this, as you seem to, and that's the reason very notable projects, like the Linux kernel, often edit out the part of the license that allows you to distribute it under later versions, and instead mandate GPLv2, even for derivative works.

            https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...

            • wang_li 3 days ago

              In the README.txt distributed with the release it says:

              > Licensed under the GNU General Public License 2.0.

              Which is the only text that puts it under the GPL at all. There is no later version mentioned.

              https://github.com/id-Software/DOOM/blob/master/README.TXT

              Regardless, you can't change the license on code you don't own, even if the code is distributed under a flexible license.

              • rpdillon 2 hours ago

                Don't read the readme to figure out what the license says. Read the license: the readme only tells you what license. It doesn't tell you the terms of that license.

                The actual license used explicitly allows later versions of the GPL to be specified in place of GPLv2.

                https://github.com/id-Software/DOOM/blob/master/LICENSE.TXT

                > Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

          • Scarblac 3 days ago

            They decided to redistribute their modified version under the terms of the GPLv3, as they were allowed to do.

            The recipients thus receive software licensed under the GPLv3.

            I dont see why people would have any GPLv2 rights for this version.

            • wang_li 3 days ago

              > I dont see why people would have any GPLv2 rights for this version.

              Because the code is licensed under GPL v2. Not or any later versions. In the original distribution there was a filed called LICENSE.txt which is just the literal GPL v2.0 text, which includes the text of the license as well as the explanatory text and instructions on how to apply it. There is a README.txt which includes the line "Licensed under the GNU General Public License 2.0." And then every source code file says:

                   // This source is available for distribution and/or modification
                   // only under the terms of the DOOM Source Code License as
                   // published by id Software. All rights reserved.
              
              So you would have the choice of GPLv2 or possibly this: https://doomwiki.org/wiki/Doom_Source_License
      • wang_li 3 days ago

        This is wrong:

        >While the license included in the original doesn't bind the recipients to v2, recipients can't restrict successive recipients to a later version only. They have the option of v2.

        The program was licensed under GPL version 2.0 only. So no choice to use later versions.

      • tiltowait 3 days ago

        You can’t do what?

        • wang_li 3 days ago

          Change the license terms on someone else's copyrighted IP.

  • prurigro 4 days ago

    Doom is open source and I don't believe the author is shipping the copyrighted assets