2.0.0.dev6 released, itchy book.
Firstly, pygame 2.0.0.dev6 was pushed out the door this week. So far no regressions from the last release a month ago, which was nice. It was also good to release much sooner than last time. The last releases were a few months apart. Automating lots of it is finally starting to pay off. Adding support for python 3.8 was a bit of trouble, but went pretty well thanks to people working on other packages sharing how they did it. A further motivation to work on pygame 2 is that pushing a python 3.8 release out the door for pygame 1.9.6 would be a lot of hassle.
Then yesterday, I decided to put the "pygame 4000" book up on itch. Release early, release often they say! So I did. Well, I massaged some build scripts to generate the 4000.zip file, and started filling in the form with the description.
This morning I got up, and someone had downloaded the book! I wanted to shout out, thank you! But I did it quietly inside my head, as people were sleeping.
So I set about fixing a few things on the pygame website. There were a few issues people were having when editing their games. Then there was a long standing issue with the 'delete releases' button not working. Turned out there was a "raise NotImplementedError" in there... so no wonder! And finally some de-spamming of the website.
In the book I started a new section called "Awesome goodies for pygame". Awesome things to use with pygame. Also started organizing the headers better in some of the docs. So that they match the rest, and so the table of contents looks a bit better. I'll do a new release on itch each time I add something useful.
Uploading the new 4000.zip now.
Here's the contents...
. ├── README.rst ├── code │ ├── sdl2_basics_tutorial_fundamentals │ │ └── hey.c │ └── sound_generation_and_drawing │ ├── metronome.py │ └── sound_samples.py ├── docs │ ├── _static │ ├── arduino_pygame.rst │ ├── awesome_goodies_for_pygame.html │ ├── awesome_goodies_for_pygame.rst │ ├── images │ │ ├── fundamentals │ │ │ ├── skull_ascii.jpg │ │ │ ├── skull_done.jpg │ │ │ ├── skull_early.jpg │ │ │ └── surface_color.jpg │ │ ├── pixel_perfect │ │ │ ├── screenshot_did_not_hit_wall.png │ │ │ └── screenshot_hit_wall.png │ │ └── what-is-a-pygame-4000-for.png │ ├── index.rst │ ├── interpreter │ │ ├── 01_interpreter.rst │ │ ├── 02_interpreter.rst │ │ ├── 03_interpreter.rst │ │ └── lets-make-a-shit-javascript-interpreter.png │ ├── interpreter.rst │ ├── pixel_perfect_collision_detection.rst │ ├── port_and_market.rst │ ├── python_best_practices.rst │ ├── python_game_programming │ │ ├── 01_introduction.rst │ │ ├── 02_python_intro.rst │ │ ├── 03_pygame_introduction.rst │ │ ├── 04_pygame_more.rst │ │ ├── 05_parts_of_a_game.rst │ │ ├── 06_abstraction.rst │ │ └── 07_minimal_game.rst │ ├── python_game_programming.rst │ ├── sdl2_basics_tutorial_fundamentals.rst │ ├── sound_generation_and_drawing.rst │ └── unit_test.rst ├── examples │ ├── README.rst │ ├── __init__.py │ ├── aacircle.py │ ├── aliens.py │ ├── arraydemo.py │ ├── audiocapture.py │ ├── blend_fill.py │ ├── blit_blends.py │ ├── camera.py │ ├── chimp.py │ ├── cursors.py │ ├── data │ │ ├── alien1.gif │ │ ├── alien1.jpg │ │ ├── alien1.png │ │ ├── alien2.gif │ │ ├── alien2.png │ │ ├── alien3.gif │ │ ├── alien3.png │ │ ├── arraydemo.bmp │ │ ├── asprite.bmp │ │ ├── background.gif │ │ ├── blue.mpg │ │ ├── bomb.gif │ │ ├── boom.wav │ │ ├── brick.png │ │ ├── car_door.wav │ │ ├── chimp.bmp │ │ ├── city.png │ │ ├── danger.gif │ │ ├── explosion1.gif │ │ ├── fist.bmp │ │ ├── house_lo.mp3 │ │ ├── house_lo.ogg │ │ ├── house_lo.wav │ │ ├── liquid.bmp │ │ ├── midikeys.png │ │ ├── oldplayer.gif │ │ ├── player1.gif │ │ ├── punch.wav │ │ ├── sans.ttf │ │ ├── secosmic_lo.wav │ │ ├── shot.gif │ │ ├── static.png │ │ ├── whiff.wav │ │ └── yuv_1.pgm │ ├── dropevent.py │ ├── eventlist.py │ ├── fastevents.py │ ├── font_viewer.py │ ├── fonty.py │ ├── freetype_misc.py │ ├── glcube.py │ ├── headless_no_windows_needed.py │ ├── liquid.py │ ├── mask.py │ ├── midi.py │ ├── moveit.py │ ├── music_drop_fade.py │ ├── overlay.py │ ├── pixelarray.py │ ├── playmus.py │ ├── prevent_display_stretching.py │ ├── scaletest.py │ ├── scrap_clipboard.py │ ├── scroll.py │ ├── setmodescale.py │ ├── sound.py │ ├── sound_array_demos.py │ ├── sprite_texture.py │ ├── stars.py │ ├── testsprite.py │ ├── textinput.py │ ├── vgrade.py │ └── video.py ├── pygame4000.pdf ├── pygamedocs.epub ├── pygamedocs.pdf └── pygamedocs_html ├── _images │ ├── camera_average.jpg │ ├── camera_background.jpg │ ├── camera_green.jpg │ ├── camera_hsv.jpg │ ├── camera_mask.jpg │ ├── camera_rgb.jpg │ ├── camera_thresh.jpg │ ├── camera_thresholded.jpg │ ├── camera_yuv.jpg │ ├── chimpshot.gif │ ├── draw_module_example.png │ ├── intro_ball.gif │ ├── intro_blade.jpg │ ├── intro_freedom.jpg │ ├── joystick_calls.png │ ├── surfarray_allblack.png │ ├── surfarray_flipped.png │ ├── surfarray_redimg.png │ ├── surfarray_rgbarray.png │ ├── surfarray_scaledown.png │ ├── surfarray_scaleup.png │ ├── surfarray_soften.png │ ├── surfarray_striped.png │ ├── surfarray_xfade.png │ ├── tom_basic.png │ ├── tom_event-flowchart.png │ ├── tom_formulae.png │ └── tom_radians.png ├── _sources │ ├── c_api │ │ ├── base.rst.txt │ │ ├── bufferproxy.rst.txt │ │ ├── cdrom.rst.txt │ │ ├── color.rst.txt │ │ ├── display.rst.txt │ │ ├── event.rst.txt │ │ ├── freetype.rst.txt │ │ ├── mixer.rst.txt │ │ ├── rect.rst.txt │ │ ├── rwobject.rst.txt │ │ ├── slots.rst.txt │ │ ├── surface.rst.txt │ │ ├── surflock.rst.txt │ │ └── version.rst.txt │ ├── c_api.rst.txt │ ├── filepaths.rst.txt │ ├── index.rst.txt │ ├── ref │ │ ├── bufferproxy.rst.txt │ │ ├── camera.rst.txt │ │ ├── cdrom.rst.txt │ │ ├── color.rst.txt │ │ ├── cursors.rst.txt │ │ ├── display.rst.txt │ │ ├── draw.rst.txt │ │ ├── event.rst.txt │ │ ├── examples.rst.txt │ │ ├── font.rst.txt │ │ ├── freetype.rst.txt │ │ ├── gfxdraw.rst.txt │ │ ├── image.rst.txt │ │ ├── joystick.rst.txt │ │ ├── key.rst.txt │ │ ├── locals.rst.txt │ │ ├── mask.rst.txt │ │ ├── math.rst.txt │ │ ├── midi.rst.txt │ │ ├── mixer.rst.txt │ │ ├── mouse.rst.txt │ │ ├── music.rst.txt │ │ ├── overlay.rst.txt │ │ ├── pixelarray.rst.txt │ │ ├── pixelcopy.rst.txt │ │ ├── pygame.rst.txt │ │ ├── rect.rst.txt │ │ ├── scrap.rst.txt │ │ ├── sndarray.rst.txt │ │ ├── sprite.rst.txt │ │ ├── surface.rst.txt │ │ ├── surfarray.rst.txt │ │ ├── tests.rst.txt │ │ ├── time.rst.txt │ │ ├── touch.rst.txt │ │ └── transform.rst.txt │ └── tut │ ├── CameraIntro.rst.txt │ ├── ChimpLineByLine.rst.txt │ ├── DisplayModes.rst.txt │ ├── ImportInit.rst.txt │ ├── MakeGames.rst.txt │ ├── MoveIt.rst.txt │ ├── PygameIntro.rst.txt │ ├── SpriteIntro.rst.txt │ ├── SurfarrayIntro.rst.txt │ ├── chimp.py.rst.txt │ ├── newbieguide.rst.txt │ ├── tom_games2.rst.txt │ ├── tom_games3.rst.txt │ ├── tom_games4.rst.txt │ ├── tom_games5.rst.txt │ └── tom_games6.rst.txt ├── _static │ ├── basic.css │ ├── doctools.js │ ├── documentation_options.js │ ├── file.png │ ├── jquery-3.4.1.js │ ├── jquery.js │ ├── language_data.js │ ├── minus.png │ ├── plus.png │ ├── pygame.css │ ├── pygame.ico │ ├── pygame_tiny.png │ ├── pygments.css │ ├── reset.css │ ├── searchtools.js │ ├── tooltip.css │ ├── underscore-1.3.1.js │ └── underscore.js ├── c_api │ ├── base.html │ ├── bufferproxy.html │ ├── cdrom.html │ ├── color.html │ ├── display.html │ ├── event.html │ ├── freetype.html │ ├── mixer.html │ ├── rect.html │ ├── rwobject.html │ ├── slots.html │ ├── surface.html │ ├── surflock.html │ └── version.html ├── c_api.html ├── filepaths.html ├── genindex.html ├── html │ ├── _images │ │ ├── camera_average.jpg │ │ ├── camera_background.jpg │ │ ├── camera_green.jpg │ │ ├── camera_hsv.jpg │ │ ├── camera_mask.jpg │ │ ├── camera_rgb.jpg │ │ ├── camera_thresh.jpg │ │ ├── camera_thresholded.jpg │ │ ├── camera_yuv.jpg │ │ ├── chimpshot.gif │ │ ├── draw_module_example.png │ │ ├── intro_ball.gif │ │ ├── intro_blade.jpg │ │ ├── intro_freedom.jpg │ │ ├── joystick_calls.png │ │ ├── surfarray_allblack.png │ │ ├── surfarray_flipped.png │ │ ├── surfarray_redimg.png │ │ ├── surfarray_rgbarray.png │ │ ├── surfarray_scaledown.png │ │ ├── surfarray_scaleup.png │ │ ├── surfarray_soften.png │ │ ├── surfarray_striped.png │ │ ├── surfarray_xfade.png │ │ ├── tom_basic.png │ │ ├── tom_event-flowchart.png │ │ ├── tom_formulae.png │ │ └── tom_radians.png │ ├── _sources │ │ ├── c_api │ │ │ ├── base.rst.txt │ │ │ ├── bufferproxy.rst.txt │ │ │ ├── cdrom.rst.txt │ │ │ ├── color.rst.txt │ │ │ ├── display.rst.txt │ │ │ ├── event.rst.txt │ │ │ ├── freetype.rst.txt │ │ │ ├── mixer.rst.txt │ │ │ ├── rect.rst.txt │ │ │ ├── rwobject.rst.txt │ │ │ ├── slots.rst.txt │ │ │ ├── surface.rst.txt │ │ │ ├── surflock.rst.txt │ │ │ └── version.rst.txt │ │ ├── c_api.rst.txt │ │ ├── filepaths.rst.txt │ │ ├── index.rst.txt │ │ ├── ref │ │ │ ├── bufferproxy.rst.txt │ │ │ ├── camera.rst.txt │ │ │ ├── cdrom.rst.txt │ │ │ ├── color.rst.txt │ │ │ ├── cursors.rst.txt │ │ │ ├── display.rst.txt │ │ │ ├── draw.rst.txt │ │ │ ├── event.rst.txt │ │ │ ├── examples.rst.txt │ │ │ ├── font.rst.txt │ │ │ ├── freetype.rst.txt │ │ │ ├── gfxdraw.rst.txt │ │ │ ├── image.rst.txt │ │ │ ├── joystick.rst.txt │ │ │ ├── key.rst.txt │ │ │ ├── locals.rst.txt │ │ │ ├── mask.rst.txt │ │ │ ├── math.rst.txt │ │ │ ├── midi.rst.txt │ │ │ ├── mixer.rst.txt │ │ │ ├── mouse.rst.txt │ │ │ ├── music.rst.txt │ │ │ ├── overlay.rst.txt │ │ │ ├── pixelarray.rst.txt │ │ │ ├── pixelcopy.rst.txt │ │ │ ├── pygame.rst.txt │ │ │ ├── rect.rst.txt │ │ │ ├── scrap.rst.txt │ │ │ ├── sndarray.rst.txt │ │ │ ├── sprite.rst.txt │ │ │ ├── surface.rst.txt │ │ │ ├── surfarray.rst.txt │ │ │ ├── tests.rst.txt │ │ │ ├── time.rst.txt │ │ │ ├── touch.rst.txt │ │ │ └── transform.rst.txt │ │ └── tut │ │ ├── CameraIntro.rst.txt │ │ ├── ChimpLineByLine.rst.txt │ │ ├── DisplayModes.rst.txt │ │ ├── ImportInit.rst.txt │ │ ├── MakeGames.rst.txt │ │ ├── MoveIt.rst.txt │ │ ├── PygameIntro.rst.txt │ │ ├── SpriteIntro.rst.txt │ │ ├── SurfarrayIntro.rst.txt │ │ ├── chimp.py.rst.txt │ │ ├── newbieguide.rst.txt │ │ ├── tom_games2.rst.txt │ │ ├── tom_games3.rst.txt │ │ ├── tom_games4.rst.txt │ │ ├── tom_games5.rst.txt │ │ └── tom_games6.rst.txt │ ├── _static │ │ ├── basic.css │ │ ├── doctools.js │ │ ├── documentation_options.js │ │ ├── file.png │ │ ├── jquery-3.4.1.js │ │ ├── jquery.js │ │ ├── language_data.js │ │ ├── minus.png │ │ ├── plus.png │ │ ├── pygame.css │ │ ├── pygame.ico │ │ ├── pygame_tiny.png │ │ ├── pygments.css │ │ ├── reset.css │ │ ├── searchtools.js │ │ ├── tooltip.css │ │ ├── underscore-1.3.1.js │ │ └── underscore.js │ ├── c_api │ │ ├── base.html │ │ ├── bufferproxy.html │ │ ├── cdrom.html │ │ ├── color.html │ │ ├── display.html │ │ ├── event.html │ │ ├── freetype.html │ │ ├── mixer.html │ │ ├── rect.html │ │ ├── rwobject.html │ │ ├── slots.html │ │ ├── surface.html │ │ ├── surflock.html │ │ └── version.html │ ├── c_api.html │ ├── filepaths.html │ ├── genindex.html │ ├── index.html │ ├── objects.inv │ ├── py-modindex.html │ ├── ref │ │ ├── bufferproxy.html │ │ ├── camera.html │ │ ├── cdrom.html │ │ ├── color.html │ │ ├── cursors.html │ │ ├── display.html │ │ ├── draw.html │ │ ├── event.html │ │ ├── examples.html │ │ ├── font.html │ │ ├── freetype.html │ │ ├── gfxdraw.html │ │ ├── image.html │ │ ├── joystick.html │ │ ├── key.html │ │ ├── locals.html │ │ ├── mask.html │ │ ├── math.html │ │ ├── midi.html │ │ ├── mixer.html │ │ ├── mouse.html │ │ ├── music.html │ │ ├── overlay.html │ │ ├── pixelarray.html │ │ ├── pixelcopy.html │ │ ├── pygame.html │ │ ├── rect.html │ │ ├── scrap.html │ │ ├── sndarray.html │ │ ├── sprite.html │ │ ├── surface.html │ │ ├── surfarray.html │ │ ├── tests.html │ │ ├── time.html │ │ ├── touch.html │ │ └── transform.html │ ├── search.html │ ├── searchindex.js │ └── tut │ ├── CameraIntro.html │ ├── ChimpLineByLine.html │ ├── DisplayModes.html │ ├── ImportInit.html │ ├── MakeGames.html │ ├── MoveIt.html │ ├── PygameIntro.html │ ├── SpriteIntro.html │ ├── SurfarrayIntro.html │ ├── chimp.py.html │ ├── newbieguide.html │ ├── tom_games2.html │ ├── tom_games3.html │ ├── tom_games4.html │ ├── tom_games5.html │ └── tom_games6.html ├── index.html ├── objects.inv ├── py-modindex.html ├── ref │ ├── bufferproxy.html │ ├── camera.html │ ├── cdrom.html │ ├── color.html │ ├── cursors.html │ ├── display.html │ ├── draw.html │ ├── event.html │ ├── examples.html │ ├── font.html │ ├── freetype.html │ ├── gfxdraw.html │ ├── image.html │ ├── joystick.html │ ├── key.html │ ├── locals.html │ ├── mask.html │ ├── math.html │ ├── midi.html │ ├── mixer.html │ ├── mouse.html │ ├── music.html │ ├── overlay.html │ ├── pixelarray.html │ ├── pixelcopy.html │ ├── pygame.html │ ├── rect.html │ ├── scrap.html │ ├── sndarray.html │ ├── sprite.html │ ├── surface.html │ ├── surfarray.html │ ├── tests.html │ ├── time.html │ ├── touch.html │ └── transform.html ├── search.html ├── searchindex.js └── tut ├── CameraIntro.html ├── ChimpLineByLine.html ├── DisplayModes.html ├── ImportInit.html ├── MakeGames.html ├── MoveIt.html ├── PygameIntro.html ├── SpriteIntro.html ├── SurfarrayIntro.html ├── chimp.py.html ├── newbieguide.html ├── tom_games2.html ├── tom_games3.html ├── tom_games4.html ├── tom_games5.html └── tom_games6.html
Get pygame 4000 book
pygame 4000 book
pygame programming book. Support pygame, and learn you some python, C and pygame.
Status | In development |
Category | Book |
Author | pygame |
Tags | book, Game Design, pygame, python, Tutorial |
More posts
- New sections added to pygame bookDec 14, 2020
- Some fixes for Python Game Programming sectionNov 17, 2019
- python 3.8 for pygame 1.9.6 on windows availableNov 17, 2019
- Let's write a unit test! and "Post modern C tooling" updates.Nov 07, 2019
- epub version of book. How to structure your files? Python best practices. Fixed...Nov 02, 2019