The Python Arcade Library

The Python Arcade Library Overview and Comparison with Pygame

http://arcade.academy
The Python Arcade Library has the same target audience as the well-known Pygame library.

Features that the Arcade Library has that Pygame does not:

* Supports Python 3 [type hinting](https://docs.python.org/3/library/typing.html).
* Thick ellipses, arcs, and circles do not have a [moiré pattern](http://stackoverflow.com/questions/10148479/artifacts-when-drawing-primitives-with-pygame).
* Ellipses, arcs, and other shapes can be easily rotated.
* Supports installation via standard Python package manager, using ‘pip install’
* Uses standard coordinate system you learned about in math. (0, 0) is in the lower left, and not upper left. Y-coordinates are not reversed.
* Has built-in physics engine for platformers.
* Supports animated sprites.
* API documentation for the commands is better. Many commands include unit tests right in the documentation.
* Command names are consistent. For example, to add to a sprite list you use the  `append()` method, like any other list in Python. Pygame uses  `add()` .
* Parameter and command names are clearer. For example, open_window instead of set_mode.
* Less boiler-plate code than Pygame.
* Basic drawing does not require knowledge on how to define functions or classes or how to do loops.
* Encourages separation of logic and display code. Pygame tends to put both into the same game loop.
* Runs on top of OpenGL and Pyglet, rather than the old SDL1 library.
* With the use of sprite lists, uses the acceleration of the graphics card to improve performance.
* Easily scale and rotate sprites and graphics.
* Images with transparency are transparent by default. No extra code needed.
* Lots of [Example Code](http://arcade.academy/examples/index.html#example-code).

Features that Pygame has that the Arcade Library does not:

* Python 2 support
* Does not require OpenGL
* Supports hardware like cameras, cdroms, MIDI
* Has better support for pixel manipulation in a memory buffer that isn’t displayed on screen.
2 Likes

it needs debian buster to run

This is great. So theoretically I (or my students) would be able to use this library to code games in python that would be compatible with the gameshell?

yeah,just set the right resulotion of screen (320x240)
and apt-get upgrade to debian buster
then install it
and it’s done

The author of this wonderful Python Arcade Library provided us a GameShell template, which will serve as a great starting point for you and your students to develop games.

2 Likes

why it needs a reboot after install

The instructions are very outdated. They were written before the Reload UI utility. Restarting at the time was the easiest way to refresh the Launcher. The instructions also try to install the menu items in the wrong places unless you’re running ClockworkOS v1.0…