Announcement

Collapse
No announcement yet.

FOSS and Game Development: the Problem

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

  • #11
    Originally posted by elanthis View Post
    Those aren't all that useful, really. Go take a look at the mountains in Skyrim. Go take a look at the trees. At the people. At the weaponry. At the architecture. Nothing is stock, nothing is reusable, everything is custom tailored to effect a very particular tone and to tell a very particular story.
    Skyrim, like many games, pretty much reuses assets wherever the developers thought they could get away with it. One of the major praises of the game has been that they did a better job of it than in Oblivion and Morrowind, where the asset reuse was obvious and grating (though Skyrim has its own now-infamous example of this with the "arrow in the knee" sound bite). If assets can be creatively reused within a game to create various set pieces in different regions, why can they not be reused in another game? Also, I don't know where you're getting the notion of it telling "a very particular story". A hallmark of the game (and the series) is that it lacks "a very particular story", defining only the broad outline of the plot and allowing the player to fill in the details with a wide variety of actions and choices leading up to each canonical plot point/task.

    You couldn't just browse Google Images, find some pretty snapshot of a hill, and then render a bunch of horseman on top of it and still expect to ever be able to get anything half as magnificent as the Riders' charge at Helm's Deep.
    Apart from finding the backdrop on Google and the fact that it was the riders' enemies and not the riders themselves who were algorithmically-driven CGI "agents", you've essentially described how the bulk of that scene was actually constructed.

    Comment


    • #12
      Really quick: In general, I dislike responding in quote-reply format. It always makes it sound like I'm more combative than I mean to be. But I didn't know how else to format this.

      Originally posted by elanthis View Post
      Those aren't all that useful, really. Go take a look at the mountains in Skyrim. Go take a look at the trees. At the people. At the weaponry. At the architecture. Nothing is stock, nothing is reusable, everything is custom tailored to effect a very particular tone and to tell a very particular story.
      Clearly there are going to be unique things in most any game that will have to be created from scratch. All I'm trying to say is that there is a lot of wheel-reinventing done in proprietary games that doesn't need to be done. Which is something an Open Source game wouldn't have to do. A good example is essentially any natural setting: Trees, deer, squirrels, blades of grass, etc... It is not necessary for every game to remodel squirrels from scratch every time you want one. Natural elements can reasonably come from a set of stock models and textures (which can be modified as needed).

      First, when did I say that?
      I didn't mean to suggest you did. So I apologize if it seemed that way.

      The MPAA says those things, but we all know it's bullshit.
      The problem is that they're not just saying these things, they're doing it. They're the ones behind integrating DRM into Intel Sandybridge CPUs, encrypting BluRay disks, and on and on. It's not enough for us to roll our eyes at them and call them idiots. We have to stop giving them money and legislative authority.

      Their business model is flawed and broken. However, piracy is also still flawed and unethical. The (very successful) SOPA protests were in no way pro-piracy or anti-copyright movements, you realize. They were simply a "SOPA goes way too overboard" movements.
      They may not have been "pro-piracy", but they sure were "anti-anti-piracy"! Because there is no such thing as a law that "stops piracy" and simultaneously respects freedom of speech. Even if you do decide that file sharing is immoral, you have to come to the conclusion that the "solution" to it (draconian censorship laws and hardware locks) is worse.

      That's a simple area of interest filter, and yes, that's basically game networking 101 material.
      If so, then I think most "AAA game" makers missed that course.

      You are making the fatal mistake of assuming the existence of a server. Many games are pure client-server models, but a great many have no server at all during play (and use them only for match making or the like). I don't just mean a lack of a dedicated server, but a complete lack of any server during play at all: pure peer-to-peer protocols (say that 10 times fast).
      I can't think of any examples of a pure p2p game. What are some? I have to think that would be an extraordinarily difficult thing to do. Every networked game I can think of is just client-server. (Even if it's the case that one of the clients also acts as a server.)

      Let's head back to visibility cheats for a moment. Let's even take the network out of it and pretend we've got some perfect client-server secured model. In an FPS that relies on cover, like a realistic WWII shooter, a simple "hack" would be to just replace the texture for all foliage with a blank transparent texture and replace the ground with a solid blue texture. Now all those enemy players sneaking in the grass are plainly visible, as even with a highly intelligent server those enemy positions still need to be sent to the client because the hiding mechanic is based on human vision and not on object culling algorithms.
      That's an interesting problem for sure. Though I don't see where being proprietary gets you anywhere. It's still going to be nearly trivial to swap out the game textures. (Which people do) The real issue is that a player's computer knows something, but the player is not supposed to. You have to have the player's computer hide information from the player which just isn't possible. I could just write a program to inspect the incoming network packets and make a realtime map of all enemy positions. (And never actually mess with modifying the game itself at all) Which is exactly how some maphacks work in many games.

      It's hard to come up with a generalized solution to that cheating problem. It's probably by a case-by-case basis. I can imagine, in an FPS, a method where you use some heuristics to determine whether or not to send position data to a client. (Since having the game server do proper line of sight tests would be too many cycles) You can use proximity, (If closer than X, give vision) Direction. (Don't give vision if the enemy's behind) You can have zones on the map where line of sight is assumed. Would probably work really well in all but some corner-cases.

      Comment


      • #13
        Originally posted by Ex-Cyber View Post
        FOSS is a licensing strategy, not a development methodology. FOSS projects can be done in cathedral style, bazaar style, or in styles that people haven't even invented yet. There's really no insurmountable reason that a game couldn't be professionally developed in cathedral style and released as FOSS, it's just that such is not The Way Things Are Done.
        That's the whole point. Even you and me can start some crappy game and make it proprietary, will it mean proprietary games suck or proprietary model is bad for games? Everything depends on the makers and not about being FOSS or proprietary. However, FOSS always gives some advantages, so if there are two identical teams making two identical games FOSS game will be better in the end.

        Those who are saying FOSS is bad for games have simply no clue about reality. The problem is nobody ever tried to make a FOSS game (and I'm talking about big players here).
        Last edited by kraftman; 23 January 2012, 05:41 AM.

        Comment


        • #14
          Originally posted by Ex-Cyber
          Skyrim, like many games, pretty much reuses assets wherever the developers thought they could get away with it. One of the major praises of the game has been that they did a better job of it than in Oblivion and Morrowind, where the asset reuse was obvious and grating (though Skyrim has its own now-infamous example of this with the "arrow in the knee" sound bite).
          Reusing assets from the same game series is a little bit different. And the "arrow in the knee" is an original set of assets being reused inside the game that just happened to be poorly devised.

          Also, I don't know where you're getting the notion of it telling "a very particular story". A hallmark of the game (and the series) is that it lacks "a very particular story",
          I debated whether I should have clarified that before posting last time. By a "particular story" I was also meaning "a particular theme" or "a particular feeling." Elder Scrolls are Open World games, but the experience you get in Skyrim is not the same as any other open world game (other than the other Elder Scrolls games, of course).

          I'd also point out that if asset sharing were economically useful, companies would already be selling and buying assets from each other. While this is done on a very small scale (trees and foliage are a bit popular, and sound effects are fairly commonly licensed) it's still done very little.

          If it helps, think of it as code reuse. Ask yourself why so many projects rewrite the exact same algorithm over and over and over and over. The problem there is that the algorithm has to fit into the larger structure of the project; the API design, the supporting libraries and systems, etc. Art is similar, in that a tree is a tree except my tree is different than your tree and dammit I prefer my tree over yours. You can even start talking about art libraries, but these again fall back into large art direction and cohesive wholeness. Bethesda has a HUGE art library, and yet Skyrim is mostly new assets rather than reused Oblivion assets.


          Originally posted by kraftman
          Those who are saying FOSS is bad for games have simply no clue about reality. The problem is nobody ever tried to make a FOSS game (and I'm talking about big players here).
          Why do you think that is, even though games predate all the forms of popular FOSS software there are besides the OS itself? (No, that's not a rhetorical question, I want your honest answer for feedback.) Why do games require big players while the server software market was conquered by hobby projects that grew into big players only after reaching success?


          Originally posted by AltF4
          If so, then I think most "AAA game" makers missed that course.
          I'd be surprised if there were any recent ones that weren't doing at least some level of AoIF.

          I can't think of any examples of a pure p2p game. What are some? I have to think that would be an extraordinarily difficult thing to do.
          Shooters and most other action-oriented multiplayer games.

          Even the ones that have "servers" are not generally using those for the _gameplay_. They're using them for chat, map downloading, some form of homegrown-STUN, and other secondary functions. Someone has to coordinate and hook up all those p2p connections, after all.

          That's an interesting problem for sure. Though I don't see where being proprietary gets you anywhere. It's still going to be nearly trivial to swap out the game textures. (Which people do)
          The anti-cheating systems some games employ allow doing checksums on assets, and they're notoriously difficult to break. Possible, yes, but not without a lot of time and effort.

          I could just write a program to inspect the incoming network packets and make a realtime map of all enemy positions.
          Sure. Again, "first three months." Most of those hacks take a while to come out.

          It's hard to come up with a generalized solution to that cheating problem. It's probably by a case-by-case basis. I can imagine, in an FPS, a method where you use some heuristics to determine whether or not to send position data to a client. (Since having the game server do proper line of sight tests would be too many cycles) You can use proximity, (If closer than X, give vision) Direction. (Don't give vision if the enemy's behind) You can have zones on the map where line of sight is assumed. Would probably work really well in all but some corner-cases.
          All of which are techniques that are known and used. You're now still just handling the line of sight problem. There are a LOT more problems to solve.

          Comment


          • #15
            The problem is nobody ever tried to make a FOSS game (and I'm talking about big players here).
            Yeah, good luck finding people willing to work 80+ hours a week for free.

            Comment


            • #16
              Originally posted by elanthis View Post
              If it helps, think of it as code reuse.
              I think of it like film. We expect creativity and a degree of originality in the overall composition, but a film isn't necessarily diminished when it contains props, costumes, actors, sets/stages, or even characters that were used in other films. Writers and directors have been praised many times for showing the audience a typecast actor or a traditional character in a new light, and I don't see why that same principle wouldn't apply to game assets. You talk a lot about how games as they are produced now are different, but your reasons for why they should be different seem thin. As I mentioned before, I suspect a major gap between what is possible/feasible in principle and The Way Things Are Done.

              Originally posted by yogi_berra
              Yeah, good luck finding people willing to work 80+ hours a week for free.
              You mean like all those guys at Red Hat who work for free?
              Last edited by Ex-Cyber; 24 January 2012, 09:00 AM.

              Comment


              • #17
                Originally posted by yogi_berra View Post
                Yeah, good luck finding people willing to work 80+ hours a week for free.
                You're mixing things up. Nobody said they'll have to work for free. They should work normally, but using Open Source development model. Nobody from big players ever did this, but it's probably because they have specialized teams that don't need some random volunteers help. My point is Open Source development models isn't worse than proprietary one in games development.

                Comment


                • #18
                  Originally posted by elanthis View Post
                  Why do you think that is, even though games predate all the forms of popular FOSS software there are besides the OS itself? (No, that's not a rhetorical question, I want your honest answer for feedback.) Why do games require big players while the server software market was conquered by hobby projects that grew into big players only after reaching success?
                  It's not easy question to answer, because there are many factors involved like gamers preferences. I don't like giving long answers, so I'll just point few things. There's no need for high end graphics, professional sound effects in the server market, so good coders were enough to make compelling product. We have some very good open source games like SpringRTS (in my opinion it's the best rts ever), but today gamers usually prefers less ambitious projects, so games with shiny graphics, but crappy or trivial game play are more popular than more ambitious ones. Some open source games need also more polishing, but it has nothing to do with the development model, but releases.

                  Comment


                  • #19
                    Originally posted by elanthis View Post
                    I'd also point out that if asset sharing were economically useful, companies would already be selling and buying assets from each other. While this is done on a very small scale (trees and foliage are a bit popular, and sound effects are fairly commonly licensed) it's still done very little.
                    If we're talking about free assets (which makes sense for free games), I'd consider a few reasons for that.

                    First of all, we shouldn't underestimate the effect of copyrights on the business and development models. It makes sense for companies to hire artists to build game assets from ground up, and this process needn't be as cheap as possible for profits to turn up. This isn't really different from software development at large. Sure, Linux and Apache caught on, but we shouldn't miss the fact there's lots of proprietary software out there that still makes quite a bit of money, at least when free software is lacking in certain areas. And they're the ones hiring programmers and artists.

                    I don't think the problem is all that different for artists. I'd conjecture artists are less willing to contribute to open projects, compared to programmers. The specific reasons could be related to the lack of awareness or simply because they're not comfortable with working for free (which needn't be the case).

                    Then you have people insisting on originality above everything else. That's not unheard of in the case of code reuse either. A lot of free projects tried to be too ambitious or fell prey to the NIH syndrome. FOSS clones (or partial clones, in case we're considering just the engine) of proprietary games had a bit of success, and I think that's helping in the long run. Yeah, free games might need a bit of fresh air, but I'm suggesting an incremental approach to originality.

                    I'm also thinking we might be missing a bit of infrastructure and tools for building high-quality free games, and this seemed to be the case for Blender Foundation's art/game projects. If I remember correctly, they ended up doing quite a bit of work on the software itself. It certainly doesn't help if you need to tackle the rough edges of your tools, especially as an artist. It's a lot easier to attract contributions from the general public if you make it painless enough, take the TES games for instance.

                    And last, but not least, I think we do need to resort to some semblance of a free business model. What I'm suggesting is something similar to the previously mentioned efforts of the Blender Foundation. A pledge system could help secure funds for the development process, including paying artists. It seems to me this approach deserves more attention than it got. With proper attention towards reusable content, I guess this could become more and more viable and cheaper in the long run.

                    Originally posted by kraftman
                    It's not easy question to answer, because there are many factors involved like gamers preferences. I don't like giving long answers, so I'll just point few things. There's no need for high end graphics, professional sound effects in the server market, so good coders were enough to make compelling product. We have some very good open source games like SpringRTS (in my opinion it's the best rts ever), but today gamers usually prefers less ambitious projects, so games with shiny graphics, but crappy or trivial game play are more popular than more ambitious ones. Some open source games need also more polishing, but it has nothing to do with the development model, but releases.
                    IMO, high quality graphics is sorely missing from free games. I think that's one reason the FOSS community prefers to focus on some genres more than others. For all we know, we could have some excellent free MUDs, but that's not something a gamer usually considers a top-notch game. And in the end it makes sense if you think about it, quality content can provide a sense of immersion.

                    It makes me wonder if a viable compromise is procedural content generation. For example, recent TES games have been using this for stuff like faces and such, which seems to show you can get high quality generated content.

                    Comment


                    • #20
                      Originally posted by Ex-Cyber View Post
                      You mean like all those guys at Red Hat who work for free?
                      Red Hat's employees do not work for free. They get paid.

                      Comment

                      Working...
                      X