Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/takluyver/pygame

Mirror of pygame repo
https://github.com/takluyver/pygame

Last synced: about 2 months ago
JSON representation

Mirror of pygame repo

Awesome Lists containing this project

README

        

/*
:Author: David Goodger ([email protected])
:Id: $Id: html4css1.css 7056 2011-06-17 10:50:48Z milde $
:Copyright: This stylesheet has been placed in the public domain.

Default cascading style sheet for the HTML output of Docutils.

See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/

/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }

table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }

.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }

.last, .with-subtitle {
margin-bottom: 0 ! important }

.hidden {
display: none }

a.toc-backref {
text-decoration: none ;
color: black }

blockquote.epigraph {
margin: 2em 5em ; }

dl.docutils dd {
margin-bottom: 0.5em }

object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}

/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/

div.abstract {
margin: 2em 5em }

div.abstract p.topic-title {
font-weight: bold ;
text-align: center }

div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }

div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }

div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title {
color: red ;
font-weight: bold ;
font-family: sans-serif }

/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }

div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/

div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }

div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }

div.figure {
margin-left: 2em ;
margin-right: 2em }

div.footer, div.header {
clear: both;
font-size: smaller }

div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }

div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }

div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }

div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }

div.system-messages {
margin: 5em }

div.system-messages h1 {
color: red }

div.system-message {
border: medium outset ;
padding: 1em }

div.system-message p.system-message-title {
color: red ;
font-weight: bold }

div.topic {
margin: 2em }

h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }

h1.title {
text-align: center }

h2.subtitle {
text-align: center }

hr.docutils {
width: 75% }

img.align-left, .figure.align-left, object.align-left {
clear: left ;
float: left ;
margin-right: 1em }

img.align-right, .figure.align-right, object.align-right {
clear: right ;
float: right ;
margin-left: 1em }

img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}

.align-left {
text-align: left }

.align-center {
clear: both ;
text-align: center }

.align-right {
text-align: right }

/* reset inner alignment in figures */
div.align-right {
text-align: inherit }

/* div.align-center * { */
/* text-align: left } */

ol.simple, ul.simple {
margin-bottom: 1em }

ol.arabic {
list-style: decimal }

ol.loweralpha {
list-style: lower-alpha }

ol.upperalpha {
list-style: upper-alpha }

ol.lowerroman {
list-style: lower-roman }

ol.upperroman {
list-style: upper-roman }

p.attribution {
text-align: right ;
margin-left: 50% }

p.caption {
font-style: italic }

p.credits {
font-style: italic ;
font-size: smaller }

p.label {
white-space: nowrap }

p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }

p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }

p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }

p.topic-title {
font-weight: bold }

pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }

pre.literal-block, pre.doctest-block, pre.math {
margin-left: 2em ;
margin-right: 2em }

span.classifier {
font-family: sans-serif ;
font-style: oblique }

span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }

span.interpreted {
font-family: sans-serif }

span.option {
white-space: nowrap }

span.pre {
white-space: pre }

span.problematic {
color: red }

span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }

table.citation {
border-left: solid 1px gray;
margin-left: 1px }

table.docinfo {
margin: 2em 4em }

table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }

table.footnote {
border-left: solid 1px black;
margin-left: 1px }

table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }

table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }

h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }

ul.auto-toc {
list-style-type: none }


About pygame



Pygame is a cross-platfrom library designed to make it easy to
write multimedia software, such as games, in Python. Pygame
requires the Python language and SDL multimedia library. It can
also make use of several other popular libraries.


http://www.pygame.org





Installation



pip install pygame


You should definitely begin by installing a binary package for your
system. The binary packages usually come with or give the
information needed for dependencies. Choose an appropriate
installer for your system and version of python from the pygame
downloads page. http://www.pygame.org/download.shtml


Installing from source is fairly automated. The most work will
involve compiling and installing all the pygame dependencies. Once
that is done run the "setup.py" script which will attempt to
auto-configure, build, and install pygame.


Much more information about installing and compiling is available
in the install.html file.





Help



If you are just getting started with pygame, you should be able to
get started fairly quickly. Pygame comes with many tutorials and
introductions. There is also full reference documentation for the
entire library. Browse the documentation from the documenantation
index. docs/index.html.


On the pygame website, there is also an online copy of this
documentation. You should know that the online documentation stays
up to date with the development version of pygame in svn. This may
be a bit newer than the version of pygame you are using.


Best of all the examples directory has many playable small programs
which can get started playing with the code right away.





Credits



Thanks to everyone who has helped contribute to this library.
Special thanks are also in order.


Marcus Von Appen - many changes, and fixes, 1.7.1+ freebsd maintainer.


Lenard Lindstrom - the 1.8+ windows maintainer, many changes, and fixes.


Brian Fisher - for svn auto builder, bug tracker and many contributions.


Rene Dudfield - many changes, and fixes, 1.7+ release manager/maintainer.


Phil Hassey - for his work on the pygame.org website.


DR0ID for his work on the sprite module.


Richard Goedeken for his smoothscale function.


Ulf Ekström for his pixel perfect collision detection code.


Pete Shinners - orginal author.


David Clark - for filling the right-hand-man position


Ed Boraas and Francis Irving - Debian packages


Maxim Sobolev - FreeBSD packaging


Bob Ippolito - MacOS and OS X porting (much work!)


Jan Ekhol, Ray Kelm, and Peter Nicolai - putting up with my early
design ideas


Nat Pryce for starting our unit tests


Dan Richter for documentation work


TheCorruptor for his incredible logos and graphics


Nicholas Dudfield - many test improvements.


Alex Folkner - for pygame-ctypes


Thanks to those sending in patches and fixes: Niki Spahiev, Gordon
Tyler, Nathaniel Pryce, Dave Wallace, John Popplewell, Michael Urman,
Andrew Straw, Michael Hudson, Ole Martin Bjoerndalen, Hervé Cauwelier,
James Mazer, Lalo Martins, Timothy Stranex, Chad Lester, Matthias
Spiller, Bo Jangeborg, Dmitry Borisov, Campbell Barton, Diego Essaya,
Eyal Lotem, Regis Desgroppes, Emmanuel Hainry, Randy Kaelber
Matthew L Daniel, Nirav Patel, Forrest Voight, Charlie Nolan,
Frankie Robertson, John Krukoff, Lorenz Quack, Nick Irvine,
Michael George, Saul Spatz, Thomas Ibbotson, Tom Rothamel, Evan Kroske,
Cambell Barton.


And our bug hunters above and beyond: Angus, Guillaume Proux, Frank
Raiser, Austin Henry, Kaweh Kazemi, Arturo Aldama, Mike Mulcheck,
Michael Benfield, David Lau


There's many more folks out there who've submitted helpful ideas, kept
this project going, and basically made my life easer, Thanks!


Many thank you's for people making documentation comments, and adding to the
pygame.org wiki.


Also many thanks for people creating games and putting them on the
pygame.org website for others to learn from and enjoy.


Lots of thanks to James Paige for hosting the pygame bugzilla.


Also a big thanks to Roger Dingledine and the crew at SEUL.ORG for our
excellent hosting.





Dependencies



Pygame is obviously strongly dependent on SDL and Python. It also
links to and embeds several other smaller libraries. The font
module relies on SDL_tff, which is dependent on freetype. The mixer
(and mixer.music) modules depend on SDL_mixer. The image module
depends on SDL_image, which also can use libjpeg and libpng. The
transform module has an embedded version of SDL_rotozoom for its
own rotozoom function. The surfarray module requires the python
numpy package for its multidimensional numeric arrays.



Todo / Ideas (feel free to submit)



http://www.pygame.org/wiki/todo/



License



This library is distributed under GNU LGPL version 2.1, which can
be found in the file "doc/LGPL". I reserve the right to place
future versions of this library under a different license.
http://www.gnu.org/copyleft/lesser.html


This basically means you can use pygame in any project you want,
but if you make any changes or additions to pygame itself, those
must be released with a compatible license. (preferably submitted
back to the pygame project). Closed source and commercial games are
fine.


The programs in the "examples" subdirectory are in the public
domain.