pygamezero moving to github discussion thread

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

pygamezero moving to github discussion thread

René Dudfield
Hello,

What is Pygame Zero?
"""Pygame Zero is for creating games without boilerplate.

It is intended for use in education, so that teachers can teach basic programming without needing to explain the Pygame API or write an event loop."""

http://pygame-zero.readthedocs.io/en/latest/
https://bitbucket.org/lordmauve/pgzero

Was just chatting on twitter with @lordmauve about bringing pygamezero into the pygame organization on github.

So far we have the website, pygame mirror, and solarwolf (which is acting as an example game).
https://github.com/pygame

So this is a thread where we can begin to discuss, and coordinate moving it there.

Some steps...

1. Add team members to pygame gh org.
2. Create pygamezero team on pygame gh org
3. Convert hg to git, and create repo. Move issues across. (there's a tool in github to do this almost automagically once all team members are on gh)
4. update various build tools.
5. update docs to point to gh
6. Leave notes on bitbucket about moving, leaving a link there.



cheers,
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

Leendert Prins

Feel free to use this little game I wrote, if that makes sense:

http://www.pygame.org/project/3005


It was written pretty much with the objectives below in mind.

No boilerplate i.e. from scratch, less than 150 lines of code and a result that everyone recognises.

I wrote it to have an example of a simple game with mouse interface, for reference.


cheers,

Lars



From: [hidden email] <[hidden email]> on behalf of René Dudfield <[hidden email]>
Sent: Wednesday, March 15, 2017 11:05 AM
To: [hidden email]
Subject: [pygame] pygamezero moving to github discussion thread
 
Hello,

What is Pygame Zero?
"""Pygame Zero is for creating games without boilerplate.

It is intended for use in education, so that teachers can teach basic programming without needing to explain the Pygame API or write an event loop."""

http://pygame-zero.readthedocs.io/en/latest/
pygame-zero.readthedocs.io
Welcome to Pygame Zero¶ Pygame Zero is for creating games without boilerplate. It is intended for use in education, so that teachers can teach basic programming ...

https://bitbucket.org/lordmauve/pgzero
bitbucket.org
A wrapper around Pygame for creating games without any boilerplate. pgzero is intended for use in education, so that teachers can teach basic programming without ...


Was just chatting on twitter with @lordmauve about bringing pygamezero into the pygame organization on github.

So far we have the website, pygame mirror, and solarwolf (which is acting as an example game).
https://github.com/pygame
github.com
GitHub is where people build software. More than 19 million people use GitHub to discover, fork, and contribute to over 51 million projects.


So this is a thread where we can begin to discuss, and coordinate moving it there.

Some steps...

1. Add team members to pygame gh org.
2. Create pygamezero team on pygame gh org
3. Convert hg to git, and create repo. Move issues across. (there's a tool in github to do this almost automagically once all team members are on gh)
4. update various build tools.
5. update docs to point to gh
6. Leave notes on bitbucket about moving, leaving a link there.



cheers,
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

Daniel Pope
In reply to this post by René Dudfield
My interest in moving to Github is to help solicit contributions etc. Bitbucket was never good at this and my impression is that it has become worse.

The main concern I have with formally moving it into the Pygame project is Pygame Zero may need to separate from Pygame at some point. I've known since the beginning that Pygame Zero doesn't have a great performance story. To make it easy to learn - this is the rationale behind everything we did - pgzero uses a simple "render everything every frame" approach. This works fine for simple games on desktop, but it's not good on Raspberry Pis, for example. There are plenty of clever tricks that one could try to use to improve this, but the ultimate one is to get more into Pi-compatible GPU rendering, and thus move away from Pygame and of course change the name slightly (maybe Pi Game Zero or just PGZero).

On the other hand, if more native code would help, then Pygame would be an excellent place to put that code for mutual benefit. For example, the Pi 3 is quad-core: I thought about maybe queuing all blits into a separate, native thread from the Python. Perhaps this would use some sort of reference-counted copy-on-write system to ensure surfaces aren't updated while queued for blitting. Pygame is a better place to build this kind of thing than Pygame Zero (which is pure Python).

On the other hand perhaps there are way more important things to worry about in Pygame Zero than performance.

On Wed, 15 Mar 2017 at 10:06 René Dudfield <[hidden email]> wrote:
Hello,

What is Pygame Zero?
"""Pygame Zero is for creating games without boilerplate.

It is intended for use in education, so that teachers can teach basic programming without needing to explain the Pygame API or write an event loop."""

http://pygame-zero.readthedocs.io/en/latest/
https://bitbucket.org/lordmauve/pgzero

Was just chatting on twitter with @lordmauve about bringing pygamezero into the pygame organization on github.

So far we have the website, pygame mirror, and solarwolf (which is acting as an example game).
https://github.com/pygame

So this is a thread where we can begin to discuss, and coordinate moving it there.

Some steps...

1. Add team members to pygame gh org.
2. Create pygamezero team on pygame gh org
3. Convert hg to git, and create repo. Move issues across. (there's a tool in github to do this almost automagically once all team members are on gh)
4. update various build tools.
5. update docs to point to gh
6. Leave notes on bitbucket about moving, leaving a link there.



cheers,
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

René Dudfield
Yeah, with the python community moved to github, it's really past time to move. I recently gathered some stats from pypi and found almost a 10 to 1 ratio of python packages on github.

Dirty updates, and better blitters are definitely options. There's even code already written to do multi core blits with openmp, and faster blitters. The cpus on pi3 can sometimes outperform the video core for some things I've tried (eg, image classification tasks). Also, there is SDL_gpu(which works with sdl1 too), which some people are having good luck with, and an SDL2 based pygame. Finally there's imgblit from Lenard... which is a jit blitter he's been working on (but I haven't tried yet).

My hope is to gather a few python game related projects under the pygame organization so it's easier to contribute. So we can pool resources. They can be separate projects, but share some infrastructure. See this thread for discussion on a pygame with SDL2. https://bitbucket.org/pygame/pygame/issues/174/pygame-20-the-sdl2-edition

There's a few options to go ahead with a pygame on SDL2. Either through patches Lenard Lindstrom has made, or with pygame_sdl2 from Tom and co (which is already on github), or even based on PySDL2 from Marcus. So far I think people are leaning towards pygame_sdl2, but I'm waiting to hear back from Lenard.  No matter which way we go, there's options which you could use today for better performance on pi. I'm also personally doing projects with raspberry pi, and want to make performance and packaging better there.

If you wanted to change from pygame later however, I don't see a problem doing that if it's in the pygame organisation. Either way, I think it would give pygame zero more visibility, and more potential contributions on gh.



cheers,




On Thu, Mar 16, 2017 at 9:43 AM, Daniel Pope <[hidden email]> wrote:
My interest in moving to Github is to help solicit contributions etc. Bitbucket was never good at this and my impression is that it has become worse.

The main concern I have with formally moving it into the Pygame project is Pygame Zero may need to separate from Pygame at some point. I've known since the beginning that Pygame Zero doesn't have a great performance story. To make it easy to learn - this is the rationale behind everything we did - pgzero uses a simple "render everything every frame" approach. This works fine for simple games on desktop, but it's not good on Raspberry Pis, for example. There are plenty of clever tricks that one could try to use to improve this, but the ultimate one is to get more into Pi-compatible GPU rendering, and thus move away from Pygame and of course change the name slightly (maybe Pi Game Zero or just PGZero).

On the other hand, if more native code would help, then Pygame would be an excellent place to put that code for mutual benefit. For example, the Pi 3 is quad-core: I thought about maybe queuing all blits into a separate, native thread from the Python. Perhaps this would use some sort of reference-counted copy-on-write system to ensure surfaces aren't updated while queued for blitting. Pygame is a better place to build this kind of thing than Pygame Zero (which is pure Python).

On the other hand perhaps there are way more important things to worry about in Pygame Zero than performance.

On Wed, 15 Mar 2017 at 10:06 René Dudfield <[hidden email]> wrote:
Hello,

What is Pygame Zero?
"""Pygame Zero is for creating games without boilerplate.

It is intended for use in education, so that teachers can teach basic programming without needing to explain the Pygame API or write an event loop."""

http://pygame-zero.readthedocs.io/en/latest/
https://bitbucket.org/lordmauve/pgzero

Was just chatting on twitter with @lordmauve about bringing pygamezero into the pygame organization on github.

So far we have the website, pygame mirror, and solarwolf (which is acting as an example game).
https://github.com/pygame

So this is a thread where we can begin to discuss, and coordinate moving it there.

Some steps...

1. Add team members to pygame gh org.
2. Create pygamezero team on pygame gh org
3. Convert hg to git, and create repo. Move issues across. (there's a tool in github to do this almost automagically once all team members are on gh)
4. update various build tools.
5. update docs to point to gh
6. Leave notes on bitbucket about moving, leaving a link there.



cheers,

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

Thomas Kluyver
On 16 March 2017 at 10:01, René Dudfield <[hidden email]> wrote:
Yeah, with the python community moved to github, it's really past time to move.

Do you also want to move the pygame repo itself onto Github rather than using it as a mirror? Or is pygame in maintenance-only mode, and it's less important to attract new contributors?

I agree that it's easiest to attract contributors if your project is on Github, but at the same time, I'm a bit sad that we seem to be heading for a total Github monoculture.

Thomas
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

Martin Kühne
how about gitlab or cgit? it would be cool if site users could use
pygame's resident gitlab with the same credentials. I'm not sure how
far it's possible to set this up though.

cheers!
mar77i
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

René Dudfield
In reply to this post by Thomas Kluyver
I'm not sure if we should move it right now. I think so. I guess it'd be a bit of work updating the build tools. But already many of them work off the github mirror(s). The main work is filling in the member name translations (but I think I could do that in an hour or so).

Yeah, let's all shed a tear for the monoculture. But I don't see bitbucket/Atlassian, or gitlab going away anytime soon. But if it makes things a tiny bit easier for contributors, I'm ok with that. I've wasted time explaining hg, and bitbucket so many times to people already.

I think making it easier for people to publish commercial games will be good for everyone using pygame. Currently Apple prevents people doing that with LGPL. Otherwise I don't really care. I'm pretty sure most people would be happy with a license like what SDL moved to (zlib). But haven't explicitly asked everyone if they are apposed to zlib. Also, I don't know if there is a foundation that would be willing to take it. Perhaps PSF, Raspberrypi, or Kivy foundations are all options to ask. Just re-licensing, and keeping the copyrights as is, is also an option.

Why not a ctypes/runtime binded way? The main issue with ctypes, is again Apple, but also emscripten/asmjs/webassembly.

Why pygame using SDL2 patches by Lennard? Good question, I'm not sure which is the better way myself. This would allow us to gradually improve things, and reuse much of our existing code. To introduce new APIs where needed, and keep the old ones where they are. Doing big changes can be risky. pygame_sdl2 will require quite a bit of backwards compatibility work... who will do that work? Was the only reason for pygame_sdl2 to avoid the LGPL? Does it still make sense with a zlib pygame? What other benefits does pygame_sdl2 provide?

I'd really be interested to know from Tom and Lennard what they think. It doesn't sound like Tom is interested in working so much on backwards compatibility. But also, Lennard mentioned quite some time ago that pygame_sdl2 could be a way forward.

The main benefit of a foundation (if we don't need to run it!) is that donations, grants and such are much easier to deal with. Whilst dealing with GSoc and other grants things was something I was happy to be involved with it was a lot of admin, for something which can be more easily shared in a larger organisation (like for example the PSF).



For now, my own main pygame priorities are:
  • Making the website a bit more usable.
  • Trying to bring some of the pygame projects together, on github on the website (maybe with pygame 1.9x).
  • Coming to a consensus on way forward with everyone regarding licensing, and what to base future pygame releases on (probably pygame_sdl2, zlib, or Lennards SDL2 patches).
  • Also working to make distribution of peoples games better. Both for people who want to just show off their work, and people who want to try and publish games.
  • Fix a few remaining packaging issues, and install issues with pygame 1.9x (like the macos thing)
  • Modernise the pygame code with regards to type hints and docs. (again, so people and newbies especially get better feedback in their editors).
  • ... make it work better on raspberrypi.
Finally I'd like to highlight some of cool bits in pygame 1.9.3. There's some pretty major pieces in there, that I don't know so many people know about.


I think it would be pretty good if pygame zero, pygame2, and pygame 1.9 were on github in the same organization. Also if we decided on a way forward (with pygame_sdl2 or however) for pygame2. It feels like there's a bit of momentum now with pygame, and getting the projects together will only increase the excitement further. But more importantly it will let us share our limited resources in a much better way.



cheers,


On Thu, Mar 16, 2017 at 11:09 AM, Thomas Kluyver <[hidden email]> wrote:
On 16 March 2017 at 10:01, René Dudfield <[hidden email]> wrote:
Yeah, with the python community moved to github, it's really past time to move.

Do you also want to move the pygame repo itself onto Github rather than using it as a mirror? Or is pygame in maintenance-only mode, and it's less important to attract new contributors?

I agree that it's easiest to attract contributors if your project is on Github, but at the same time, I'm a bit sad that we seem to be heading for a total Github monoculture.

Thomas

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

René Dudfield
In reply to this post by Martin Kühne
Hi Martin,

yeah, I'd like to add being able to login to the pygame website with github/gitlab/bitbucket etc. Is that what you're talking about? There's a python project called python-social-auth which could be used for this.

cheers,


On Thu, Mar 16, 2017 at 11:21 AM, Martin Kühne <[hidden email]> wrote:
how about gitlab or cgit? it would be cool if site users could use
pygame's resident gitlab with the same credentials. I'm not sure how
far it's possible to set this up though.

cheers!
mar77i

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

Daniel Foerster
In reply to this post by René Dudfield
I'd prefer use of the MIT or Apache 2.0 licenses to the less common zlib, for what it's worth.

On Thu, Mar 16, 2017 at 7:52 AM, René Dudfield <[hidden email]> wrote:
I'm not sure if we should move it right now. I think so. I guess it'd be a bit of work updating the build tools. But already many of them work off the github mirror(s). The main work is filling in the member name translations (but I think I could do that in an hour or so).

Yeah, let's all shed a tear for the monoculture. But I don't see bitbucket/Atlassian, or gitlab going away anytime soon. But if it makes things a tiny bit easier for contributors, I'm ok with that. I've wasted time explaining hg, and bitbucket so many times to people already.

I think making it easier for people to publish commercial games will be good for everyone using pygame. Currently Apple prevents people doing that with LGPL. Otherwise I don't really care. I'm pretty sure most people would be happy with a license like what SDL moved to (zlib). But haven't explicitly asked everyone if they are apposed to zlib. Also, I don't know if there is a foundation that would be willing to take it. Perhaps PSF, Raspberrypi, or Kivy foundations are all options to ask. Just re-licensing, and keeping the copyrights as is, is also an option.

Why not a ctypes/runtime binded way? The main issue with ctypes, is again Apple, but also emscripten/asmjs/webassembly.

Why pygame using SDL2 patches by Lennard? Good question, I'm not sure which is the better way myself. This would allow us to gradually improve things, and reuse much of our existing code. To introduce new APIs where needed, and keep the old ones where they are. Doing big changes can be risky. pygame_sdl2 will require quite a bit of backwards compatibility work... who will do that work? Was the only reason for pygame_sdl2 to avoid the LGPL? Does it still make sense with a zlib pygame? What other benefits does pygame_sdl2 provide?

I'd really be interested to know from Tom and Lennard what they think. It doesn't sound like Tom is interested in working so much on backwards compatibility. But also, Lennard mentioned quite some time ago that pygame_sdl2 could be a way forward.

The main benefit of a foundation (if we don't need to run it!) is that donations, grants and such are much easier to deal with. Whilst dealing with GSoc and other grants things was something I was happy to be involved with it was a lot of admin, for something which can be more easily shared in a larger organisation (like for example the PSF).



For now, my own main pygame priorities are:
  • Making the website a bit more usable.
  • Trying to bring some of the pygame projects together, on github on the website (maybe with pygame 1.9x).
  • Coming to a consensus on way forward with everyone regarding licensing, and what to base future pygame releases on (probably pygame_sdl2, zlib, or Lennards SDL2 patches).
  • Also working to make distribution of peoples games better. Both for people who want to just show off their work, and people who want to try and publish games.
  • Fix a few remaining packaging issues, and install issues with pygame 1.9x (like the macos thing)
  • Modernise the pygame code with regards to type hints and docs. (again, so people and newbies especially get better feedback in their editors).
  • ... make it work better on raspberrypi.
Finally I'd like to highlight some of cool bits in pygame 1.9.3. There's some pretty major pieces in there, that I don't know so many people know about.


I think it would be pretty good if pygame zero, pygame2, and pygame 1.9 were on github in the same organization. Also if we decided on a way forward (with pygame_sdl2 or however) for pygame2. It feels like there's a bit of momentum now with pygame, and getting the projects together will only increase the excitement further. But more importantly it will let us share our limited resources in a much better way.



cheers,


On Thu, Mar 16, 2017 at 11:09 AM, Thomas Kluyver <[hidden email]> wrote:
On 16 March 2017 at 10:01, René Dudfield <[hidden email]> wrote:
Yeah, with the python community moved to github, it's really past time to move.

Do you also want to move the pygame repo itself onto Github rather than using it as a mirror? Or is pygame in maintenance-only mode, and it's less important to attract new contributors?

I agree that it's easiest to attract contributors if your project is on Github, but at the same time, I'm a bit sad that we seem to be heading for a total Github monoculture.

Thomas


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

René Dudfield
Indeed. Me too. However, SDL uses the zlib license. But I guess that doesn't mean we should automatically do that too. It might make sharing code with them easier.




On Sat, Mar 18, 2017 at 3:17 AM, Daniel Foerster <[hidden email]> wrote:
I'd prefer use of the MIT or Apache 2.0 licenses to the less common zlib, for what it's worth.

On Thu, Mar 16, 2017 at 7:52 AM, René Dudfield <[hidden email]> wrote:
I'm not sure if we should move it right now. I think so. I guess it'd be a bit of work updating the build tools. But already many of them work off the github mirror(s). The main work is filling in the member name translations (but I think I could do that in an hour or so).

Yeah, let's all shed a tear for the monoculture. But I don't see bitbucket/Atlassian, or gitlab going away anytime soon. But if it makes things a tiny bit easier for contributors, I'm ok with that. I've wasted time explaining hg, and bitbucket so many times to people already.

I think making it easier for people to publish commercial games will be good for everyone using pygame. Currently Apple prevents people doing that with LGPL. Otherwise I don't really care. I'm pretty sure most people would be happy with a license like what SDL moved to (zlib). But haven't explicitly asked everyone if they are apposed to zlib. Also, I don't know if there is a foundation that would be willing to take it. Perhaps PSF, Raspberrypi, or Kivy foundations are all options to ask. Just re-licensing, and keeping the copyrights as is, is also an option.

Why not a ctypes/runtime binded way? The main issue with ctypes, is again Apple, but also emscripten/asmjs/webassembly.

Why pygame using SDL2 patches by Lennard? Good question, I'm not sure which is the better way myself. This would allow us to gradually improve things, and reuse much of our existing code. To introduce new APIs where needed, and keep the old ones where they are. Doing big changes can be risky. pygame_sdl2 will require quite a bit of backwards compatibility work... who will do that work? Was the only reason for pygame_sdl2 to avoid the LGPL? Does it still make sense with a zlib pygame? What other benefits does pygame_sdl2 provide?

I'd really be interested to know from Tom and Lennard what they think. It doesn't sound like Tom is interested in working so much on backwards compatibility. But also, Lennard mentioned quite some time ago that pygame_sdl2 could be a way forward.

The main benefit of a foundation (if we don't need to run it!) is that donations, grants and such are much easier to deal with. Whilst dealing with GSoc and other grants things was something I was happy to be involved with it was a lot of admin, for something which can be more easily shared in a larger organisation (like for example the PSF).



For now, my own main pygame priorities are:
  • Making the website a bit more usable.
  • Trying to bring some of the pygame projects together, on github on the website (maybe with pygame 1.9x).
  • Coming to a consensus on way forward with everyone regarding licensing, and what to base future pygame releases on (probably pygame_sdl2, zlib, or Lennards SDL2 patches).
  • Also working to make distribution of peoples games better. Both for people who want to just show off their work, and people who want to try and publish games.
  • Fix a few remaining packaging issues, and install issues with pygame 1.9x (like the macos thing)
  • Modernise the pygame code with regards to type hints and docs. (again, so people and newbies especially get better feedback in their editors).
  • ... make it work better on raspberrypi.
Finally I'd like to highlight some of cool bits in pygame 1.9.3. There's some pretty major pieces in there, that I don't know so many people know about.


I think it would be pretty good if pygame zero, pygame2, and pygame 1.9 were on github in the same organization. Also if we decided on a way forward (with pygame_sdl2 or however) for pygame2. It feels like there's a bit of momentum now with pygame, and getting the projects together will only increase the excitement further. But more importantly it will let us share our limited resources in a much better way.



cheers,


On Thu, Mar 16, 2017 at 11:09 AM, Thomas Kluyver <[hidden email]> wrote:
On 16 March 2017 at 10:01, René Dudfield <[hidden email]> wrote:
Yeah, with the python community moved to github, it's really past time to move.

Do you also want to move the pygame repo itself onto Github rather than using it as a mirror? Or is pygame in maintenance-only mode, and it's less important to attract new contributors?

I agree that it's easiest to attract contributors if your project is on Github, but at the same time, I'm a bit sad that we seem to be heading for a total Github monoculture.

Thomas



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

René Dudfield
Ok. I guess considering Daniels concerns, and lack of enthusiasm for the idea from anyone else it seems it would be best not to join the two. It's probably for the best for pygame too, since focusing on that would have probably just taken away time from pygame itself.

There's nothing to stop the two projects collaborating as they are anyway. So there's that :) I'll try to support pgzero stuff with packaging improvements and raspberrypi improvements to pygame itself. (I'm also hoping to get some feedback from Tim Golden on his pygame zero tutorial installation heart aches from last month).
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: pygamezero moving to github discussion thread

Daniel Pope

I think that's fine for now. We can always revisit that decision later.


On Sun, 19 Mar 2017, 13:17 René Dudfield, <[hidden email]> wrote:
Ok. I guess considering Daniels concerns, and lack of enthusiasm for the idea from anyone else it seems it would be best not to join the two. It's probably for the best for pygame too, since focusing on that would have probably just taken away time from pygame itself.

There's nothing to stop the two projects collaborating as they are anyway. So there's that :) I'll try to support pgzero stuff with packaging improvements and raspberrypi improvements to pygame itself. (I'm also hoping to get some feedback from Tim Golden on his pygame zero tutorial installation heart aches from last month).
Loading...