Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

10 classic games #26

Closed
lordmauve opened this issue Jul 25, 2015 · 24 comments
Closed

10 classic games #26

lordmauve opened this issue Jul 25, 2015 · 24 comments

Comments

@lordmauve
Copy link
Owner

Originally reported by: Daniel Pope (Bitbucket: lordmauve, GitHub: lordmauve)


The Raspberry Pi foundation would like a collection of 10 example games written with Pygame Zero to form the basis of course material. These games need to be licensed for possible commercial use by the Raspberry Pi foundation as well as CC-BY-SA, under which they will be included in the Pygame Zero distribution.

The games need to be written as clearly as possible, with plenty of docstrings and comments, so that the way they work is obvious. However any working implementations of games would be gratefully received, and can be improved afterwards.

Below is a suggested list of games that could be created as example games, as well as the contributors who have made an offer to complete these games. This list is not exhaustive, but large, open-ended game projects are much less suitable than simple reimplementations of classic games.


@lordmauve
Copy link
Owner Author

Original comment by Tim Golden (Bitbucket: TJG, GitHub: TJG):


I can contribute the version of breakout I've been using to teach at my Club. It'll need some brushing up, but most of it's already there. The original version was done by our team at the Dojo, but I've more or less rewritten it all since then.

https://github.com/tjguk/breakout/tree/piece-by-piece

@lordmauve
Copy link
Owner Author

Original comment by David Bern (Bitbucket: drobban, GitHub: drobban):


Would like to start working on Pong. Let me know if you are interested.

@lordmauve
Copy link
Owner Author

Original comment by Ivan Mesic (Bitbucket: ivanmesic, GitHub: Unknown):


@drobban, I already started working on Pong game.

@lordmauve
Copy link
Owner Author

Original comment by Daniel Pope (Bitbucket: lordmauve, GitHub: lordmauve):


Updated the proposed contributions

@lordmauve
Copy link
Owner Author

Original comment by David Bern (Bitbucket: drobban, GitHub: drobban):


Well, is tetris taken? If not, I would like to work on it.

@lordmauve
Copy link
Owner Author

Original comment by Daniel Pope (Bitbucket: lordmauve, GitHub: lordmauve):


@drobban - Great! I've put you down for that. Be aware that Tetris clones have been the subject of copyright suits:

http://arstechnica.com/gaming/2012/06/defining-tetris-how-courts-judge-gaming-clones/

I suspect we'd be Ok if we just make it look a bit different and avoid calling it Tetris.

@lordmauve
Copy link
Owner Author

Original comment by Mini GirlGeek (Bitbucket: MiniGirlGeek, GitHub: MiniGirlGeek):


I'd love to have a go at making minesweeper if that's OK?

Amy :)

@lordmauve
Copy link
Owner Author

Original comment by Joseph Haig (Bitbucket: jrmhaig, GitHub: jrmhaig):


I came here to say I was having a bit of a look at Lunar Lander and had some questions but have just been tweeted by Nathan to say he hasn't started on Space Invaders yet so I may have a go with that instead.

Regarding Lunar Lander, it requires the ability to rotate an actor but there doesn't appear to be that feature implemented, or I have looked in the wrong place. Has anyone given any thought yet about the best way to do this?

Edit; And I've just looked at the pull requests and the one for issue #3 is about rotation and the comment about anchors is exactly the problem I encountered from my experiments.

@lordmauve
Copy link
Owner Author

Original comment by Tim Martin (Bitbucket: timboe, GitHub: timboe):


Hey,
Having had a quiet Sunday, I've also had a play around with a basic Lunar Lander.
Will post when it's a bit more polished

@lordmauve
Copy link
Owner Author

Original comment by Paul Brown (Bitbucket: pbmagi, GitHub: Unknown):


I've got a Flappy Bird: https://github.com/PaulBrownMagic/flappy

@lordmauve
Copy link
Owner Author

Original comment by Joseph Haig (Bitbucket: jrmhaig, GitHub: jrmhaig):


Well, here is a start at Space Invaders. Nothing too earth shattering yet - more of a declaration of intent (and making it available for pull requests).

https://github.com/jrmhaig/rpi_projects/tree/master/SpaceInvaders (direct link to space invaders)
https://github.com/jrmhaig/rpi_projects (link to repository)

@lordmauve
Copy link
Owner Author

Original comment by Mini GirlGeek (Bitbucket: MiniGirlGeek, GitHub: MiniGirlGeek):


Here's what I've been working on so far:
https://github.com/MiniGirlGeek/PyGame-Zero/tree/master/minesweeper

@lordmauve
Copy link
Owner Author

Original comment by Daniel Pope (Bitbucket: lordmauve, GitHub: lordmauve):


Nice work all. I'm going to check all these out as soon as I get a chance.

@lordmauve
Copy link
Owner Author

Original comment by Tim Martin (Bitbucket: timboe, GitHub: timboe):


Hi, pushed to https://github.com/timboe/pi_lander
As mentioned above, no rotation yet in pygame so have included some entry-level trig in degrees and rendered exclusively with draw commands, but this works well for vector-style.
Cheers,
Tim.

@lordmauve
Copy link
Owner Author

Original comment by David Bern (Bitbucket: drobban, GitHub: drobban):


Found some time to get started.
Not near finished yet.
Look at it just as an progress report: https://bitbucket.org/drobban/tetra_puzzle/commits/branch/master

@lordmauve
Copy link
Owner Author

Original comment by Joseph Haig (Bitbucket: jrmhaig, GitHub: jrmhaig):


Still quite a few things to do but it is in a playable state:

https://github.com/jrmhaig/rpi_projects/tree/master/SpaceInvaders

Now it is at a point where it can actually be played I will probably not be adding to it so frequently. Pull requests are welcome. It needs barriers, mystery ships, better levels (rather than just speeding up), high scores, ... :-)

@lordmauve
Copy link
Owner Author

Original comment by Mini GirlGeek (Bitbucket: MiniGirlGeek, GitHub: MiniGirlGeek):


Minesweeper is now playable and has a setup screen, it should be completely finished soon :)

https://github.com/MiniGirlGeek/PyGame-Zero

run pgzrun setup_screen.py to play

@lordmauve
Copy link
Owner Author

Original comment by Daniel Pope (Bitbucket: lordmauve, GitHub: lordmauve):


I've merged some of these implementations into the repo just so they can be in for the 1.1 release, which I've just cut. These were

  • @MiniGirlGeek - this is great! I didn't want to include the menu and subprocess stuff, so I just dropped that and took the basic implementation
  • @timboe - merged with only a small deprecation fix
  • @holdenweb - merged, but I replaced your face with a playing card image I hastily drew

I did this in the most clumsy and hasty way possible, by snapshotting the Github repos. I linked to the original Github repos in the commit messages, but I forgot to ensure there were README files so that people can track the upstream development. I will try to do this for 1.1.1!

I haven't looked through all the other games yet. I wanted to get a release done today so I can get the results of the Europython sprint out to users, so I took a few things I could grab quickly.

@lordmauve
Copy link
Owner Author

Original comment by Mini GirlGeek (Bitbucket: MiniGirlGeek, GitHub: MiniGirlGeek):


I've added win and lose messages, and the grid reveals all mines when you lose and tells you if you mis-flagged a mine

@lordmauve
Copy link
Owner Author

Original comment by David Bern (Bitbucket: drobban, GitHub: drobban):


I believe that I have something that could be used as an example game.

@lordmauve - https://bitbucket.org/drobban/tetra_puzzle
Perhaps you want to take look before I try to push it to the project.

@lordmauve
Copy link
Owner Author

Original comment by David Bern (Bitbucket: drobban, GitHub: drobban):


Made a pull-request for my contribution.

@lucas-james
Copy link
Contributor

@lordmauve I'll pick up robotron 👍

@tartley
Copy link

tartley commented Nov 26, 2019

Wireframe mag has an implementation of Phoenix that is creative commons, that can probably be used: https://github.com/Wireframe-Magazine/Wireframe-26

@lordmauve
Copy link
Owner Author

Thanks @tartley. I think Raspberry Pi have whatever they need now. They've been producing Wireframe for a year with Pygame Zero code samples in each; also Eben's book has gone to print. I think we can close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants