Pygame

Discussion in 'Python' started by Alexander Rødseth, Apr 14, 2004.

  1. Hi!

    Why isn't Pygame a part of Python?

    Cheers,
    Alexander Rødseth
     
    Alexander Rødseth, Apr 14, 2004
    #1
    1. Advertisements

  2. Alexander Rødseth

    Peter Hansen Guest

    What do you think should be the criteria for deciding whether
    something "is part of Python" or isn't?

    Keep in mind that your guidelines should be applied somewhat
    consistently to all packages that might be possibly be included.

    And keep in mind that no one wants Python to be a 150MB download...

    -Peter
     
    Peter Hansen, Apr 14, 2004
    #2
    1. Advertisements

  3. Alexander Rødseth

    Bram Stolk Guest

    Because PyGame has too many dependencies.
    Adding it to Python itself would make Python less portable.

    --
    ------------------------------------------------------------------------------
    Bram Stolk, VR Engineer.
    SARA Academic Computing Services Amsterdam, PO Box 94613, 1090 GP AMSTERDAM
    email: Phone +31-20-5923059 Fax +31-20-6683167

    "For the costs of subsidized agriculture in the EU, we can have all 56 million
    European cows fly around the world. First Class." - J. Norberg
    ------------------------------------------------------------------------------
     
    Bram Stolk, Apr 14, 2004
    #3
  4. What do you think should be the criteria for deciding whether
    I agree that my question was a bit vague, so here's a clarification:
    In that connection I meant "included in the standard installation procedure
    for the average inexperienced user".

    That's true, but still, there are several other modules, like email,
    sound, xml, databases, that could've been separate packages,
    but isn't. Why isn't fullscreen graphics considered that important?
    This is a riddle to me.

    I totally agree with you on that one. :)


    - Alexander
     
    Alexander Rødseth, Apr 14, 2004
    #4
  5. Because PyGame has too many dependencies.
    Pygame is very portable. And adding plattform-specific modules in the past,
    doesn't seem to have been a problem:

    $ lynx http://docs.python.org/modindex.html --dump --nolist | grep -c "Mac"
    56
    $ lynx http://docs.python.org/modindex.html --dump --nolist | grep -c
    "Windows"
    6
    $ lynx http://docs.python.org/modindex.html --dump --nolist | grep -c "IRIX"
    13
    $ lynx http://docs.python.org/modindex.html --dump --nolist | grep -c -i
    "UNIX"
    24

    Even though I think your answer is very reasonable, and I agree that
    portability is a good thing,
    I don't quite see what would make Python so much less portable if Pygame
    were added as a module.

    I remember using Pippy for Palm Pilot once, and they had just chopped off
    all the modules they didn't
    want to port. I don't see why the same procedure couldn't be followed in
    other cases as well.

    - Alexander
     
    Alexander Rødseth, Apr 14, 2004
    #5
  6. Alexander Rødseth

    Jakub Fast Guest

    pygame (and sdl) are lgpl licensed and as such they are not
    commercial-friendly.

    kuba
     
    Jakub Fast, Apr 14, 2004
    #6
  7. Alexander Rødseth

    John Roth Guest

    Why should it be?

    In looking thorough the libarary, I find that
    everything there is a developer tool of some
    sort. The few executables are things like
    unittest which are standard parts of the
    developer's tool chain.

    John Roth
     
    John Roth, Apr 14, 2004
    #7
  8. Alexander Rødseth

    Peter Hansen Guest

    Not that I agree with Alexander that Pygame should be part
    of the standard download, but isn't it true that it is just
    as much a developer tool as anything else? He gave examples
    such as XML and sound... Pygame is in the same vein as those,
    only more complex.

    (But I do think it would be crazy to include it, just not
    for the reason that "it's not a developer tool".)

    -Peter
     
    Peter Hansen, Apr 14, 2004
    #8
  9. pygame (and sdl) are lgpl licensed and as such they are not
    Good point. Thanks. :)
     
    Alexander Rødseth, Apr 14, 2004
    #9
  10. Why should it be?

    Because it's inconsistent that Python includes many platform-specific and
    hardware-specific modules,
    and even gui-modules like Tkinter, but, afaik, no way at all to create
    fullscreen and/or hw-accelerated graphics.

    I agree pretty much with Peter's reply.
    How exactly did you "look through the library"?
    Looking at http://docs.python.org/modindex.html, I find modules for sound,
    xml, graphics, mail, a web-server and even the deprecated and insecure
    "Enigma-like encryption and decryption". :)

    Python is supposed to be "batteries included", but still hasn't got native
    support for fullscreen graphics.

    Granted, Pygame might not be the optimal solution, due to licensing issues
    (or whatever other reason might appeal to you), but IMHO, there should be a
    module included that allowed for similar functionality.

    - Alexander
     
    Alexander Rødseth, Apr 14, 2004
    #10
  11. sdl is used in a number of commercial settings including a bunch of
    ports done by Loki Games and even ThQ's "Nemo's Underwater World of Fun"
    (and it's hard to be more commercial than "Finding Nemo").
     
    Glenn Andreas, Apr 14, 2004
    #11
  12. sdl is used in a number of commercial settings including a bunch of
    Thanks for the info!


    Well, if it's not due to the licensing, and not because it's unusual to
    include anything similar,
    when speaking in terms of "batteries included"; then I can only conclude
    that it's not a standard
    Python-module because of the SDL-wrapper's name, which contains the word
    "game" instead of
    something more acceptable, appropriate, cryptic and network-ish, like
    "ipv6". >;-)

    (Note: "ipv6" is just an example, for the sake of the name, I know that it's
    not a standard Python-module).


    - Alexander
     
    Alexander Rødseth, Apr 14, 2004
    #12
  13. Alexander Rødseth

    Peter Hansen Guest

    It most definitely is unusual to include *anything* (my emphasis)
    similar, or you would find Python already at 150MB and growing rapidly
    as I suggested before.

    I ask again what you think should be the criteria for including
    something in the standard distribution. Clearly, whatever you
    think it should be, it's at odds with what the current maintainers
    consider appropriate. Perhaps if you can come up with some
    guidelines which would include Pygame but not 130MB of other
    useful and interesting packages, we'll have a better way of
    deciding what to put in in future releases.

    -Peter
     
    Peter Hansen, Apr 14, 2004
    #13
  14. Alexander Rødseth

    Nemesis Guest

    Mentre io pensavo ad una intro simpatica "Jakub Fast" scriveva:
    the lgpl license _is_ commercial-friendly.
     
    Nemesis, Apr 14, 2004
    #14
  15. Alexander Rødseth

    Jakub Fast Guest

    The fact that it has been used in commercial projects doesn't imply it
    really is _commercial-friendly_ -- lgpl does impose obligations that,
    albeit minor, still are a hassle and require some thought if you're
    going to use it in your closed-source project. moreover, including it in
    the python distribution would impose the burden of keeping track of
    different licenses in your standard modules, which definitely is
    something you wouldn't want to have ("ok, i used module this and module
    that, so i'm fine to do this with my program, ... but wait module x uses
    module y that uses module z which requires me to obey license a... doh).

    well, at least _i_ hate sifting through a library for a single module
    that i use that happens to have a more restrictive license...

    kuba
     
    Jakub Fast, Apr 14, 2004
    #15
  16. Alexander Rødseth

    Jakub Fast Guest

    AFAIK, you're required to provide the ability to re-link the application
    with newer version of the lgpl'd library. this involoves the obligation
    to at least provide the source code of the library -- which doesn't seem
    like something you'd always want to expose your end users too.

    note that many projects specifically modify the lgpl for it to be what i
    consider commercial-friendly -- vide wxwidgets, for example.


    kuba
     
    Jakub Fast, Apr 14, 2004
    #16
  17. Alexander Rødseth

    John Roth Guest

    If you look at PyGame, you'll find that it's based on SDL, which seems
    to be a very good library for doing graphics. That, in turn, is based on
    OpenGL.

    It also (optionally) uses Numeric, which hasn't been included with Python
    because the developers don't want to wait for major Python updates.
     
    John Roth, Apr 15, 2004
    #17
  18. Alexander Rødseth

    John Roth Guest

    Let's take a look at that. Sound support is on the same level as
    the SDL package that Pygame is based on. XML is a developer
    tool. Graphics support is pretty weak except for the TK toolkit,
    which supports the standard windows paradigm. While not everyone
    likes TK, the function is, at least, pretty pervasively needed.

    There's a pretty large selection of tools that support internet
    protocols, including the mail package you refer to. Etc.

    What I don't find is support for specialty application areas.
    Games are a specialty application area.
    Pygame is layered on top of SDL, which in turn is layered on
    top of Open GL. If the issue is support for full screen 3d graphics,
    (which wasn't apparent from your initial post), I would suggest that
    either of those would be a better candidate. In fact, I certainly wouldn't
    object to including an interface to Open GL.
     
    John Roth, Apr 15, 2004
    #18
  19. Alexander Rødseth

    Steve Holden Guest

    Alexander Rødseth wrote:

    [...]> (Note: "ipv6" is just an example, for the sake of the name, I
    know that it's
    In point of fact since Python 2.3 the socket module has handled IPv6.

    But if you mean that geeks like, and therefore tend to include, geeky
    things in their langauge distributions, you could have a point.

    Nothing in the license stops you from building and distributing
    "friendly Python", though, so you might consider putting your own
    distribution together. If that's too hard, you will at least begin to
    get the idea why PyGame (and this, that and the other) aren't in the
    standard distribution.

    If you get it together I believe you would increase Python's popularity.

    regards
    Steve
     
    Steve Holden, Apr 15, 2004
    #19
  20. Alexander Rødseth

    Gerrit Guest

    The name pygame is IMHO misleading. It's applicable beyond games.
    SDL is not layered on top of OpenGL. I think it's exactly the other way
    around. I use Pygame a lot and I don't have OpenGL installed.

    Gerrit.
     
    Gerrit, Apr 15, 2004
    #20
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.