Announcement

Collapse
No announcement yet.

IBM's Bob Sutor Questions Linux Gaming

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

  • #46
    Making a game engine to cover all genres doesn't really work. Leaving graphics aside for a moment, there's A.I, networking, physics, and a slew of other issues to take into account that really make it unfeasible.

    Comment


    • #47
      Originally posted by mirv View Post
      Making a game engine to cover all genres doesn't really work. Leaving graphics aside for a moment, there's A.I, networking, physics, and a slew of other issues to take into account that really make it unfeasible.
      That's why shared and non-shared functionality should be broken up. Much like with the Gallium3D architecture.

      One game might require this instead of that, and so two different modules could be loaded. For example: A game of Nexuiz may require a fixed size map module for its arena's while a game like GTA 4 requires an infinit map size streaming module for dynamically loading segments on the cities a player drives through.

      With A.I. one can do the same thing. Shared functionality like paths, fear, desicision, etc. while one could add formula extentions for different behavior like when to run, like when to attack and awareness (2D, 3D).

      Then awareness can be plugged into the objects and map modules by means of interfaces defined in the specs.

      Procedural programming, sharing, extension, specification and modules are key here.

      Networking can be split up into a few different modules, like a standard multiplayer FPS module with extensions for certain game types, an standard multiplayer race sim module with extensions, etc. But who's on top (rank) can be shared, however time and kill/death ratio could be two different extensions.
      Last edited by V!NCENT; 01-27-2010, 07:52 AM.

      Comment


      • #48
        Originally posted by V!NCENT
        A good game should just be a good game. Period.
        Well, it's hard to disagree, isn't it?

        Jokes aside, I know what you are trying to say. If somebody had the magic recipe to produce good games, that somebody would be worth billions. Not even companies with a long history in the game business and employ teams of experts have that information. Simply because it doesn't exist. Having that knowledge would imply knowing what goes on in the mind of millions of potential customers, which is impossible. It's a bit like giving a definition of a masterpiece of art; if you had the perfect definition there would be nothing stopping you creating them in industrial quantities...however, what we usually see is art critics sticking to their commentary instead of getting rich :P

        If you compare Space Invaders, Tetris, Super Mario, Street Fighter II, Zelda, Quake 3 or WoW there's not much they have in common, except being awesome in their time. Hell, it would even be difficult to say what makes Sonic and Super Mario different and cool in their own ways.

        The only way you can define some features that a succesful game should have is to intentionally be very vague and general, making those definitions useless. Of course, I could be wrong and game companies make crap from time to time on purpose, yay.

        Comment


        • #49
          Originally posted by V!NCENT View Post
          That's why shared and non-shared functionality should be broken up. Much like with the Gallium3D architecture.

          One game might require this instead of that, and so two different modules could be loaded. For example: A game of Nexuiz may require a fixed size map module for its arena's while a game like GTA 4 requires an infinit map size streaming module for dynamically loading segments on the cities a player drives through.

          With A.I. one can do the same thing. Shared functionality like paths, fear, desicision, etc. while one could add formula extentions for different behavior like when to run, like when to attack and awareness (2D, 3D).

          Then awareness can be plugged into the objects and map modules by means of interfaces defined in the specs.

          Procedural programming, sharing, extension, specification and modules are key here.

          Networking can be split up into a few different modules, like a standard multiplayer FPS module with extensions for certain game types, an standard multiplayer race sim module with extensions, etc. But who's on top (rank) can be shared, however time and kill/death ratio could be two different extensions.
          A driver architecture analogy doesn't apply - drivers output to a screen, and often use opengl for the 3D stuff. All share a common goal. Games, and thereby game engines, don't.
          But programming-wise, good luck with trying to create a game engine operating system. Some things just can't be modularised out - A.I being one of them. It's really quite glued to the underlying game, and it can't share some things (path detection for finite vs infinite maps, flight sims vs fps vs rts, plus more).
          Nice idea in principle, but practically speaking it sadly really is a no-go.

          Comment


          • #50
            Originally posted by V!NCENT View Post
            Define good gameplay. Oops, you can't. Mario has a poor story, 2D graphics and gameplay of a sidescroller. Want 25 30min long cutscenes for a good story? No.

            Want a total of 60mins of story in Metal Gear Solid? Hells yeah.
            I for one just finished playing metal gear 1, it is a solid game. However i found it to be more of a movie then anything else. Its play-mechanics also suck royal ass. for a game of its age it however did a very good job. Just as mario did as a 2D scroller in the 80's.

            btw:

            Nvidia defines gameplay as
            Originally posted by www.nvidia.co.uk/object/eswc_lex_uk.html
            the way in which the gamer can interact with other elements in the game.
            Good gameplay is the interaction with other elements, in a "good" way. Sinse the goal of any game is enjoyment, good gameplay then refers the the interaction with other elements that result in the end user having a good time. That wasn't so hard was it?

            -----
            I was going to quote a bunch of stuff here and apply reasoning, however its quick to realize you like to ramble on and that this post would take up 2 much page realestate for its own worth.
            -----

            Originally posted by V!NCENT View Post
            Humans will never be able to fly. 64K ought to be enough for everyone. A bomb the size of a car is never going to be able to destroy an entire city unless you change the laws of chemestry, etc, etc, etc.
            The perfect engine can be made, so start making it. because none of us are planning to do that. Dragonlord is sort-of trying to make a jack of all engines (might want his input on that) but to call it perfect is absolutely impossible because perfection requires the consumption of 0 resources while having absolute functionality. Humans cant comprehend what absolute functionality is and as a result will never be able to achieve it. Now i suppose you could argue that the basis of perfection surrounds the individual however at a basic level, nothing is/can be perfect. Unless of course you believe in God.

            Comment


            • #51
              I suppose there's no one absolute best game, there are different styles that suit different kinds of games. Some games incorporate features in a fun engaging way, while in others they are just thrown together and drag the game down.

              Comment


              • #52
                @V!ncent: Gameplay means game mechanics, it's the ease of use you, the player, have to interact with the game for example its control, logic do solve a puzzle and stuff like that. it doesn't mean that the game doesn't have 3D or a physics engine or even a good manual!

                As L33F3R said, if you know how to make the perfect engine, be my guest! I would enjoy to see that! From my understanding for each genre of game there will be its own mechanics to implement. Oh if you really do create the "perfect engine" you will have to make one game from each existing genre. Here is a link to understand "game genres" but as you seems to be all knowing man i'm sure that you don't need to read it, right? check out gameplay defenition that you really don't know what it means!

                Comment


                • #53
                  Originally posted by L33F3R View Post
                  Good gameplay is the interaction with other elements, in a "good" way. Sinse the goal of any game is enjoyment, good gameplay then refers the the interaction with other elements that result in the end user having a good time. That wasn't so hard was it?
                  Then define fun and good gameplay and we're back at where we started. Basically what I said: A game should just be a good game. You just repeated what I said. There is no point in that pointlessnes. I am not sure where you wanted to go with that...

                  [...] its quick to realize you like to ramble on and that this post would take up 2 much page realestate for its own worth.
                  At least I am thinking of solutions instead of just staring at my coca cola glass while complaining its half empty...

                  The perfect engine can be made, so start making it.
                  What I proposed was already from the list of ideas I have for such an engine. To make it even more 'realestate consuming' and 'rambling', if it wasn't already bad enough that I was trying to come up with something new and back it up with arguments (Good God!), I am also planning to go with a ray casting/tracing/photon mapping renderer for desktop computers

                  "AmmaGawD diD H3 ju5T 5aid ThaT?!?!?!"

                  Comment


                  • #54
                    Originally posted by V!NCENT View Post
                    Then define fun and good gameplay and we're back at where we started. Basically what I said: A game should just be a good game. You just repeated what I said. There is no point in that pointlessnes. I am not sure where you wanted to go with that...
                    i think you confused yourself. You had asked me to define good gameplay (well actually you said i couldn't) which i did. Noone is debating that good games are good games.
                    Originally posted by V!NCENT View Post
                    At least I am thinking of solutions instead of just staring at my coca cola glass while complaining its half empty...
                    You are not thinking of solutions, you are presenting solutions that in your brain already work. Many of us here, including myself, share our ideas on how to solve such problems. You on the other hand, are certain to shit that you are right. Accepting criticism clearly doesnt exist in your world. Sorry for participating in a forum, this is what this is after all, no? If you dont want people to pick apart your ideas dont post them. However by picking them apart we can also find ways to solve these problems we first never knew existed. For example, how are you going to make sure everyone has the same engine version in an unmodified form when distros package it? Alternatively your idea has given me idea regarding something not so totally different.

                    Now you have ambitious goals. And i back you up in achieving them because certainly little harm could come from progression. As with anything in the world of linux, when i see it I will see it and if i dont i never seen it. Much the the awesome raw power of ATI cards under linux and the death of Nvidia (thank you Qaridarium) .

                    Comment


                    • #55
                      Originally posted by L33F3R View Post
                      i think you confused yourself. You had asked me to define good gameplay (well actually you said i couldn't) which i did. Noone is debating that good games are good games.
                      You said good gameplay is gameplay that enjoys the user. Well... what is the gameplay that makes the users have a good time full of enjoyment?

                      You are not thinking of solutions, you are presenting solutions that in your brain already work. Many of us here, including myself, share our ideas on how to solve such problems. You on the other hand, are certain to shit that you are right.
                      Problems:
                      1. No common software across the entire Linux distribution board.
                      2. No stable API and framework.
                      3. Too much efford.
                      4. Not enough revenue due to small user group

                      My suggestions for solving these problems:
                      1. Standardize on a single software framework that the game doesn't have to adapt to but the other way around; the engine looks at the game and opens it up for the player.
                      2. Standard functionality that can be added upon to give game developpers something that nevers changes but extends. The engine itself has the upsides of being portable across everything whithout the downside of having to make a commercial game free software.
                      3. Too much effort reduced by collectively create a single modular engine to eliminate having to create what was already created elsewhere.
                      4. See the solution to point number 3; less coding man hours means less costs.

                      Now what were your solutions? None.

                      Accepting criticism clearly doesnt exist in your world.
                      Unusable criticism? No. However: "X will not work because of Y so you might want to considder doing Z" I do like. Instead of whining that everything is going to suck you might like to provide actual solutions and think with me.

                      However by picking them apart we can also find ways to solve these problems we first never knew existed. For example, how are you going to make sure everyone has the same engine version in an unmodified form when distros package it? Alternatively your idea has given me idea regarding something not so totally different.
                      You just created the biggest BS bogus problem... realy. Where are your brains, in your ass? The engine plays the game, not the other way around. It's like an MS Office container document; Word reads it out and displays it. It can also be read out and changed by OpenOffice.org, Koffice, Abiword and maybe some more... Where's your versioning problem now?

                      Comment


                      • #56
                        Originally posted by V!NCENT View Post
                        You said good gameplay is gameplay that enjoys the user.
                        wait... what?

                        -----
                        Problems:
                        1. No common software across the entire Linux distribution board. (somewhat right)
                        2. No stable API and framework. (depends who you ask as i know many would beg to differ)
                        3. Too much efford. (effort* and again it depends who you ask.)
                        4. Not enough revenue due to small user group (hmm, i would tend to say yes but under certain circumstances)
                        -----
                        Originally posted by V!NCENT View Post
                        Now what were your solutions? None.
                        None of which i have presented. if you cared to actually read word for word what i post.

                        Unusable criticism? No. However: "X will not work because of Y so you might want to considder doing Z" I do like. Instead of whining that everything is going to suck you might like to provide actual solutions and think with me.
                        Originally posted by L33F3R
                        Alternatively your idea has given me idea regarding something not so totally different.
                        Clearly you have a reading deficiency. I dont need to spew out my ideas before i even refine them, and i certainly dont need you to beat them out of me.

                        Originally posted by L33F3R
                        You just created the biggest BS bogus problem... realy. Where are your brains, in your ass?
                        Actually i have a single brain. "brains" is the plural to "brain".

                        Originally posted by V!NCENT View Post
                        The engine plays the game, not the other way around. It's like an MS Office container document; Word reads it out and displays it. It can also be read out and changed by OpenOffice.org, Koffice, Abiword and maybe some more...
                        I have understood this for the longest time. I get a serious gut feeling that you are leaving a huge chunk of your idea out. I understand where you want to take this, but i get the feeling its A. been attempted before or B. It simply cant be done because of a human issue or technical. I dont see much of a problem adding a bunch of functionality so that many people could use it for whatever purpose but a few things just shy me away. I actually wouldn't mind if you could PM me a more detailed account of this idea because i do believe it has the basis for a good project. Simply a lack of refinement in my eyes, but i get a funny feeling you have thought it out hard and cold.

                        BTW V!NCENT, as many will tell you i bring out the worst in people and their ideas. Often times disagreeing with myself to keep debate open and information flowing. Doing so can help identify problems and hurdles. It is not my intention to be an angry old bastard and hate you, because i dont .

                        Comment


                        • #57
                          1. No common software across the entire Linux distribution board.
                          WHY would your game need anything except the API's, hm? The game doesn't need a word-proc, and in most cases, things like browsers. All the game needs to do is tie into whatever sound, rendering, networking, etc. libraries on the machine.

                          2. No stable API and framework.
                          Define "stable" API... As for frameworks...let's see...

                          OpenGL.
                          OpenAL.
                          Miles. (Yes, if you want to shell out an additional $5k...)
                          Granny. (Ditto...)
                          Bink. (Ditto...)
                          FMOD.
                          RakNet.
                          SDL.
                          Allegro.
                          ClanLib.
                          Crystal Space.
                          OGRE.
                          Cube2.

                          Each one have been used in major commercial applications. All of them exist on Linux in a stable fashion and are pretty easy to use.

                          As for "stable"- I wouldn't have been able to ship Caster3D to 32 and 64-bit customers on over 3/4ths of the distributions out there with minimal issues- and I certainly wouldn't be going back for more in the form of three more titles currently.

                          3. Too much efford.
                          Uh... If it were "too much effort" I wouldn't be doing this after-hours like I do right now. I happen to hold down a pretty decent paying job doing Linux Systems Software for Tektronix Communications, Inc. providing the system backbone for telecom grade hardware. I happen to raise champion performance horses. If it were "too much effort" I couldn't manage it.

                          I've said it often- it's not too hard, it's unfamiliarity with the OS than it's actual difficulty.

                          4. Not enough revenue due to small user group
                          Perhaps. Perhaps not. If your argument's true- why even debate the subject. It's not even worth bothering with as a FOSS project except to humor oneself if what you're saying is actually even remotely close to the truth. I don't see it that way. The main reason the "money's not there" is more because of things like WINE and dual booting. These things aggrivate the problem and keep money from being in the space in the first place (the money's being spent on WINDOWS titles when you do either of those things- and "pragmatism" is just an rationalization for doing the wrong thing, really...)

                          Comment


                          • #58
                            Where are your brains, in your ass?
                            L33F3R, do you have cloud computing implemented inside of your skull? I've been wondering if it would fit in mine...

                            @Svartalf: you stole my post i was going to post something similar to yours. I mean about the frameworks and API.

                            Comment


                            • #59
                              Originally posted by Setlec View Post
                              L33F3R, do you have cloud computing implemented inside of your skull? I've been wondering if it would fit in mine..
                              You can't wonder unless you have multiple brains, smartass :P

                              http://en.wikipedia.org/wiki/File:EmbryonicBrain.svg

                              Comment


                              • #60
                                double post

                                Comment

                                Working...
                                X