Announcement

Collapse
No announcement yet.

id Software: Linux Hasn't Produced Positive Results

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

  • Originally posted by johnc View Post
    But Carmack is highly critical of Android and doesn't want to develop for it specifically because it's so fragmented
    And he is right. Even though Android is infinitely less fragmented than linux is, it is still quite fragmented compared to other platforms, such as the iPhone.

    Originally posted by johnc View Post
    Yes, if you have a Java app then it'll work across devices but once you get into the NDK and then into GLES you're in a world of hurt. Many of the top phones are smoothening some of that mess out, but it in the past it's been difficult.
    Been there, done that, blogged about how shitty Google's native support is...
    In the end it was just a few days of hard work though. Once you've abstracted away the quirkiness, it's smooth sailing from then on. A few days on a project that takes months or years is no big deal really.

    Comment


    • Originally posted by Scali View Post
      Well, content is more than just graphics quality. It also includes things like level design, which are a result of the storyline and gameplay. So implicitly the gameplay/storyline is part of the content (as I tried to explain with Portal/HL2/L4D: three games using the same engine to create quite different types of games... One is a platform/puzzle game, one is very much story-driven, and one is a co-op multiplayer shooter).
      errr, i think you misunderstood my post. actually my post is the very same thing that you just posted... unless my english sucks then let me say sorry if my post is ambiguous.

      Comment


      • Scali,
        You know that Android is a Linux based system right?

        Comment


        • linux here i think is used as GNU/Linux and not as the linux kernel.... Android is build upon linux kernel and not based on a GNu/Linux Distrib.

          Comment


          • Originally posted by finalzone View Post
            Scali,
            You know that Android is a Linux based system right?
            Duh?
            However, did you get ANY of the points I was making as to why you can't just say Android is 'just another linux distribution' just because there happens to be a linux kernel in there somewhere? The ecosystem is very different, in a very important way as far as (commercial) developers are concerned.

            Comment


            • Michael,

              In the article, you say:

              Now during Carmack's annual keynote at QuakeCon, he didn't have anything good to say about Linux -- the open-source operating system hasn't produced positive results for them. "Linux development is another story altogether. Even though Valve is now actively pursuing the Linux market, iD has been there before, and just has not seen positive results. Remember how many past titles from iD actually ran on Linux, and for how long these were supported? John says that Linux development simply does not pay the bills. It creates goodwill among the Linux crowd, but that is about it."
              Which implies Carmack said all of this.

              Perhaps I'm wrong and am having a senior moment. What H:M:S into the keynote do you feel he said this? I just watched the keynote and didn't find any of that.

              If this is the case, you really need to fix this and apologize. You can't just go making up quotes or putting someone else's name on another person's quotes. Did he say this after the keynote to you personally? Did you accidentally put quotes around your own editorialization?


              F

              Comment


              • Originally posted by Setlec View Post
                linux here i think is used as GNU/Linux and not as the linux kernel.... Android is build upon linux kernel and not based on a GNu/Linux Distrib.
                Doesn't even matter in this context.
                The whole problem with linux distros stems from the fact that the kernel itself is one of very few common factors.
                So "Android is not linux" can be interpreted in two ways:
                1) Android is not a GNU/linux distribution
                2) Android is not linux, it is linux (the kernel) and a whole lot more

                In either case it supports the point I'm making, that the success is not a result of the linux kernel, but a result of the Android platform as a whole (which arguably would have been just as successful with any other kernel).

                Comment


                • Originally posted by russofris View Post
                  Michael,

                  In the article, you say:



                  Which implies Carmack said all of this.

                  Perhaps I'm wrong and am having a senior moment. What H:M:S into the keynote do you feel he said this? I just watched the keynote and didn't find any of that.

                  If this is the case, you really need to fix this and apologize. You can't just go making up quotes or putting someone else's name on another person's quotes. Did he say this after the keynote to you personally? Did you accidentally put quotes around your own editorialization?


                  F
                  That quote was taken from here: http://www.pcper.com/reviews/Editori...n-2012-Keynote
                  Not a quote of John Carmack.

                  Comment


                  • I will respond sentence-per-sentence, so you can follow me better.

                    Originally posted by Scali View Post
                    Android is a far more 'fixed' target than linux is.
                    Since 2009, Android had 9 platform revisions already. It is only "more fixed" in sense that Google recommends certain components to be present.
                    Still, some hardware and software support only specific Android platforms.

                    Originally posted by Scali View Post
                    You have the standard Dalvik VM environment, with standard runtime libs etc.
                    Linux has standard Linux kernel, standard GNU toolchain etc.

                    Originally posted by Scali View Post
                    A very important point: binary compatibility. People can just download binaries from the Google Play store, and things Just Work(tm).
                    Go download Semi-closed source, but released as a blob Urban Terror. You unzip it, set execute flag - and things Just Work(tm), on Linux.

                    Originally posted by Scali View Post
                    This is a *very* different environment from your average linux distribution. Even on the exact same hardware you often can't use packages for one distro on the other, or even from a different version of the same distro. Dependency hell, lack of standardized environment etc.
                    This is *not* any different from your average linux distribution. As a software developer, you target ONLY recent version of needed library. If someone demands specific older library support - thats quite "voluntary" job. Version problem SOLVED.

                    Originally posted by Scali View Post
                    Even on the exact same hardware you often can't use packages for one distro on the other, or even from a different version of the same distro.
                    Why on heaven, should you care about package decisions by specific distro's?!!
                    You have a freedom to choose whatever package your want on your system! This is freedom!
                    If you don't understand, and don't value it, package your software with minimum of dependencies - and it will work!
                    If you want maximum flexibility - advertise what package versions your software needs. You can prepackage for major distributions, if you want, completely optional. Same as separate packaging for all Android versions.
                    You also can't use Android 4.0 functionality on 2.0. Is this somehow different?! Distro problem SOLVED!

                    Originally posted by Scali View Post
                    (Yes, even OpenGL on Android is not OpenGL on linux. Android uses OpenGL ES, which is a much more streamlined version without legacy crud, and a much more fixed featureset than the old OpenGL).
                    This is wrong, OpenGL ES is a subset of OpenGL, and here for is supported under Linux too. And it is not "streamlined" version, but a simplified version - to target low-power mobile devices. It is similar to different codec profiles/levels. OpenGL ES is a lower quality profile here.

                    True reason why Android is more popular, whilst its no-way more advanced than current Linux? Because Google stands behind it. Pure and simple.

                    Comment


                    • Originally posted by crazycheese View Post
                      Since 2009, Android had 9 platform revisions already. It is only "more fixed" in sense that Google recommends certain components to be present.
                      Not at all. It seems you have no idea about the point I'm making. Revisions have little to do with how 'fixed' a platform is. That is more about backward compatibility.
                      Take Windows for example, roughly we have the following revisions in common use today:
                      Windows XP RTM, SP1, SP2, SP3
                      Windows XP x64 RTM, SP1, SP2
                      Vista x86/x64 RTM, SP1, SP2
                      Windows 7 x86/x64 RTM, SP1

                      Most software released in the past 10 years will run on ALL these OSes out-of-the-box. Because the Win32 platform itself is 'fixed'. New functionality is added, bugs are fixed, but there are rarely any changes that break current or even legacy software.

                      Originally posted by crazycheese View Post
                      Still, some hardware and software support only specific Android platforms.
                      Yes, but those are the exceptions to the rule

                      Originally posted by crazycheese View Post
                      Linux has standard Linux kernel, standard GNU toolchain etc.
                      Yes and no. For example, not all versions of GCC are binary compatible with eachother.
                      Eg, you cannot link 2.xx code to 3.xx or 4.xx code. This makes it a lot harder to distribute libraries in binary form.
                      Compare that to Microsoft Visual Studio, where Visual Studio 2010 can still use libraries built with Visual Studio 6 from 1998 (and perhaps even earlier).

                      Originally posted by crazycheese View Post
                      Go download Semi-closed source, but released as a blob Urban Terror. You unzip it, set execute flag - and things Just Work(tm), on Linux.
                      Perhaps, I'm not even going to bother to try, because even if it were true, it would be the exception to the rule. It is common knowledge that in general packages cannot easily be used among different distributions or older/newer versions of the same distribution.

                      Originally posted by crazycheese View Post
                      This is *not* any different from your average linux distribution. As a software developer, you target ONLY recent version of needed library. If someone demands specific older library support - thats quite "voluntary" job. Version problem SOLVED.
                      Not at all. As a developer, you target the most common version (or versions) of a library, so that you have the widest possible support.
                      The REAL problem however is that the libraries themselves are not a 'fixed' target. The interfaces change (both at binary and function level), breaking compatibility with older or newer versions of software.
                      This is different on Android, or Windows for that matter. If you develop against a certain version of a library, you don't have to worry about newer versions breaking your code, because they will be backward compatible with the version against which you developed your software.
                      Which is why software developed for Windows XP still works in XP x64, Vista, Win7 and Win8. Or why software developed for Android 1.x still runs on 2.x, 3x and 4x.

                      Originally posted by crazycheese View Post
                      Why on heaven, should you care about package decisions by specific distro's?!!
                      You have a freedom to choose whatever package your want on your system! This is freedom!
                      Only for open source, because everyone can build packages (re-inventing the wheel).
                      This shouldn't be a problem in the first place, since you should be able to make a single package that works on all distros. But that is exactly the problem we're pointing out here: there is no easy way to do this, because too many parts in the chain vary.

                      Originally posted by crazycheese View Post
                      You also can't use Android 4.0 functionality on 2.0. Is this somehow different?!
                      Yes it is. Becase you *can* use Android 2.0 packages on Android 4.0. All developers don't have to create a new package for their Android apps everytime a new Android version is released.
                      This is different from linux distros.

                      Originally posted by crazycheese View Post
                      This is wrong, OpenGL ES is a subset of OpenGL, and here for is supported under Linux too. And it is not "streamlined" version, but a simplified version - to target low-power mobile devices. It is similar to different codec profiles/levels. OpenGL ES is a lower quality profile here.
                      Don't argue with me about OpenGL. I write graphics software for a living. I've ported my OpenGL code to OpenGL ES 1.0 and 2.0, and know exactly what I had to change for it to work. Which is what I based my previous statement on.
                      For example, OpenGL ES 2.0 does not have any fixedfunction pipeline anymore. It can only use shaders. And these shaders use a slightly different dialect of GLSL, with keywords that regular OpenGL does not support (google around to see how people try to find solutions with #defines and such to make the same code compile on both OpenGL and OpenGL ES).

                      Originally posted by crazycheese View Post
                      True reason why Android is more popular, whilst its no-way more advanced than current Linux? Because Google stands behind it. Pure and simple.
                      No, because Google knows the value of backward compatibility and having a stable binary platform. It is popular because it is easy for developers to develop for, and easy for users to install software for. Although it is not quite as userfriendly as iOS though, and as such, not quite as popular.
                      Last edited by Scali; 12 August 2012, 03:25 PM.

                      Comment

                      Working...
                      X