The Python Arcade Library has the same target audience as the well-known Pygame library. So how do they differ?
Features that the Arcade Library:
- Draws stationary sprites much faster. See Drawing Stationary Sprites
- Supports Python 3 type hinting.
- Thick ellipses, arcs, and circles do not have a moiré pattern.
- Ellipses, arcs, and other shapes can be easily rotated.
- 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.
- 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
- 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 3+ and Pyglet, rather than the old SDL1 library. (Currently in the process of moving to SDL2.)
- 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.
Features that Pygame has that the Arcade Library does not:
- Has better performance for moving sprites
- Python 2 support
- Does not require OpenGL
- Has better support for pixel manipulation in a memory buffer that isn’t displayed on screen.
Things that are just different:
- Sound support: Pygame uses the old, unsupported Avbin library. Arcade uses ffmpeg. Both are a headache.