lordmauve / pgzero

A zero-boilerplate games programming framework for Python 3, based on Pygame.
https://pygame-zero.readthedocs.io/
GNU Lesser General Public License v3.0
527 stars 191 forks source link

pgzhelper library with Actor extensions and screen mode changes #220

Open QuirkyCort opened 4 years ago

QuirkyCort commented 4 years ago

I'm currently teaching a Python game development course to a group of 10 - 11yo. Materials for the course can be found here: https://trinket.io/aposteriori/courses/game-development-with-pygame-zero and it's free for anyone to use.

Currently, there's only one catch-the-falling-object game, but I'll be adding more games with greater complexity over the next few weeks / months. The next one will probably be an infinite runner, but I haven't thought about what comes after that; any suggestions would be appreciated.

As most of my students are coming in with Scratch experience, and Pygame Zero lacks many of the capabilities of Scratch, I've also created a helper library (https://www.aposteriori.com.sg/pygame-zero-helper/) that fills in some of the missing function. The helper library should eventually be retired when these capabilities appears in Pygame Zero itself, but for now it's helping to bridge the Scratch / Pygame Zero gap and I'll likely be adding more capabilities over the next few months.

Not really an issue, just putting this out to share with everyone.

QuirkyCort commented 3 years ago

For sharing.

The tutorial that I've previously posted about now contains three games...

...and I have a new tutorial at https://trinket.io/aposteriori/courses/intermediate-game-development-with-pygame-zero (Vertical shooter).

gotrhythm88 commented 3 years ago

@QuirkyCort Thank you for the helper library! I have started using it in a few of my classes and it has been well received. It's nice to show my students a module that they can look inside and more or less understand, plus use it to do something. My suggestion would be to turn this library into a Github project, so that if you make updates, people can be subscribed to know about them. Keep up the great work!

lordmauve commented 3 years ago

I've added your tutorial to the new Resources Page.

I want to keep this issue open to track your helper library; I think that looks very promising.

lordmauve commented 3 years ago

What is the license for pgzhelper? Can I merge the features into Pygame Zero (which is LGPL-3)?

QuirkyCort commented 3 years ago

It's just a small library, so never really thought about the license. Let's go with Public Domain.

QuirkyCort commented 3 years ago

I've recently created a library for simple game networking, that I'm using it for my online Pygame Zero classes.

https://github.com/QuirkyCort/nethelper

Easy to use. Work over the internet. And very engaging for the kids when they can play together in the game they created.

There is a very simple example game in the repository. Designed for simplicity rather than good game networking techniques. I'll add more when I have time.

QuirkyCort commented 3 years ago

I've also started a github repository of pgzhelper.

https://github.com/QuirkyCort/pgzhelper

Lots of enhancements and bug fixes over the version on the website (...which I'll soon retire).

gotrhythm88 commented 3 years ago

@QuirkyCort Thanks for sharing the nethelper library! I have been wanting to do something like this for a while and was considering teaching socket.io just so we could do multiplayer games. I will be checking your project out for sure!