Rene Dudfield

LD 41

pypy jit with pygame

I've been working on making pygame on pypy work better. PyPy is a JIT for python that allows you to write python code that runs almost as fast as C (or sometimes faster).

Now it's mostly working(only a few test cases are still failing), but every game I've tried is now working.

Seeing some very nice speeds in pure python code. A 3D raytracer is running 30x faster. Looking forward to using it in LD to do stuff that's usually impossible to do at speed in python. Brute force algorithms all the way!

More details in the blog post.

LD 42

pygame 1.9.4 released

logo_lofi.png

pygame 1.9.4 has been released into the wilds!

TLDR; Some highlights.

  • python 3.7 support.
  • beta pypy support. See Are we pypy yet?.
  • pygame.draw fixes
  • pygame.math is not experimental anymore. Speedups and bugfixes.
  • Debian, Mac homebrew, mac virtualenv, manylinux and other platform fixes.
  • documentation fixes, jedi support for type ahead in editors like VSCode and VIM.
  • Surface.blits for blitting many surfaces at once more quickly.

Thanks

A very special thanks to the people who have volunteered commits to pygame since the last release. In alphabetical order...

Adam Di Carlo | Christian Bender | Don Kirkby | endolith | hjpotter92 | Ian Mallett | Lenard Lindstrom | Mathias Weber | Matti Picus | Nicholas Tollervey | orangudan | Raymon Skjørten Hansen | René Dudfield | Stefan Bethge | Stuart Axon | Thomas Kluyver | Tobias Persson

I'm probably missing some people, and also missing some people who contributed in other ways. For example, in discussions, issue reports, helping out on the wiki, the website, and for helping others in the community, and providing good vibes. So whilst the commits are easy to use to make a list of people to thank, it's not inclusive of everyone who deserves thanks.

A few more details...

See 1.9.4 Release notes for all the details.

```

451 #460 #467 #468 #469 #470

444 link to help pages when compile fails.

443 In seterror geterror tests ignore first error. Could be anything.

442 Freetype requires pkg-config instead of freetype-config now.

439 Surface.blits

435 Adding pypy builds for Mac on travis.

432 Appveyor pypy and pypy3 windows 32bit.

431 Implement object alloc caching for rect.c to improve on pypy.

427 PixelArray.close(), with PixelArray(surf) as px, context manager.

426 Skip tests that rely on arrinter and pythonapi on pypy.

420 pypy didn't like tp_dictoffset hack in events. Make our own setter, getter.

418 draw.aaline should work with ARGB surfaces (like on mac).

416 Vector cleanup

415 So virtualenv gets a focused window on Mac too.

414 Mac Travis homebrew fix

413 Jedi confused by pygame imports. Make it happy.

408 pygame.transform.threshold tests, keyword arguments, docs.

403 pygame.math.Vector2/3 not experimental

398 Clean up cameravidcapture.py unused code, and document a bit.

394 Add pitch bend to MIDI library

392 Add pypy builder to travis ci, and allow it to fail.

391 ppc64le and other Debian fixes

389 pygame.draw.circle with a thickness had a weird moiré pattern.

387 test python 3.7 on travis CI.

386 python 3.7 fixes.

384 pygame.display doc fixes.

381 import rect.inflate docs.

363 Fix several typos, and improve grammar in the introduction.

361 Add unit test for some key functions.

360 update math.c for pypy.

357 add UYVY support for better linux camera support.

356 Fix aaellipse artifacts

703350f68182641fe72ef1f41d81998fb6d4b385 Update Rect slicing for Python 3 6d0e97a38b5d2d549f1fee8b912a072731ea33bb bug fix for freetype.Font.render_to()

78 Add environment PYGAMEEXTRABASE to add an extra base directory to the start of the search path.

77 Build alsa libs ourselves for manylinux builds.

76 Docs fixup.

```

LD 43

pygame 2 status

There's been quite a lot of work on pygame lately.

TLDR; it builds from source on Win, Linux, Mac, and it mostly works. Multi touch, hardware acceleration, and other SDL2 goodness. Plus plenty of bug fixes and code cleanups.

pygamelogo.png

More details on the pygame 2 status news post.

‍ stuntcat early release. What's next?

🐱‍🏍 stuntcat is a pygame community game, and was done as part of Ludum Dare 43.

gameplay.gif

We are using the game as a way to drive pygame 2 development. For more info on how it went and what is next see the stuncat news post on the pygame website.

LD 44

pygame 1.9.5 released into the wilds

pygame 1.9.5 has been released.

Every single source file has been heavily modified and moved in this release. Initial (source code only) support for SDL2 has been merged in. We also support compiling with SDL1 in the same code base, so the migration to pygame 2 is easier. pygame 2 will be released with SDL2 being the default backend when some remaining issues are ironed out. The 1.9.x releases will continue with SDL1 until then. Also, the C API of pygame is undergoing a transformation with lots of cleanups. Then there have been plenty of other cleanups all throughout the python code as well. There's still lots to clean up, but things should be significantly easier for people to contribute (👋 hello and thanks new contributors!). The documentation has been improved with better examples links, search functionality, and improved navigation. Support for older Macs, and newer Macs has been improved. The mask, midi, draw, and math modules have gotten lots of polish with rough edges removed.

Ludum Dare 51

I'm in.

(unless I get tired and need a nap)