Open In App

Difference between Pygame VS Arcade Library in Python

Improve
Improve
Like Article
Like
Save
Share
Report

Game programming is very rewarding nowadays and it can also be used in advertising or as a teaching tool. Game development encompasses mathematics, logic, physics, AI, and much more and it can be amazingly fun. In Python, up until now, Pygame library was employed for the same, but there is a new module: Arcade Library. Here we will discuss how they differ from each other, but first, let’s understand what exactly they are.

Pygame:  It is a Python module used for designing video games, by allowing computer graphics and sound libraries in order to develop high-quality and user interactive games. Pygame was developed by Pete Shinners. Till 2000, it was a community project, later on, it was released under open source free software General Public License. Pygame is portable and its code is compatible with all operating systems. It is also possible to create open-source, free, freeware, shareware, and commercial games with it. Pygame code is written in C language and the module comes with installers for Windows, Linux and macOS. It can be easily used on handheld devices too.

Arcade: It is a Python module but works for Python 3.6 and above only. It tries to cover most of the functionalities that were not supported by Pygame. This also uses computer graphics and sound libraries in order to develop high-quality and user interactive games.  Arcade was developed by Paul Vincent Craven. Arcade needs support for OpenGL 3.3+. It is built on top of OpenGL and Pyglet and is compatible with Windows, Linux, and macOS X. It is also possible to create open-source, free, freeware, shareware, and commercial games with it.

Table of Differences between Arcade and PyGame

Arcade

PyGame

 Arcade is based on Open GL PyGame is using the newest and older versions of SDL 2
It has new features of Python 3, like decorators and type-hinting Supports python 2 and python 3
Supports animated sprites Doesn’t support animated sprites

API documentation for the commands is good

Command names are consistent i.e to add to a sprite list append() is used Commands are consistent i.e to add to a sprite set add() is used
Less boiler-plate code than Pygame and also much easier to write and to understand. No such facility
Encourages separation of logic and display code Tends to put both into the same game loop.
 Runs on top of OpenGL 3+ and Pyglet Runs on SDL2 library.
Arcade uses SoLoud. Pygame uses Avbin library.
Less flexibility about, what can be done with the library that author didn’t think of. More flexibility about, what can be done i.e 3d games (even when the library is normally for just 2d)
Can’t be deployed on android Can be deployed on android
Runs on GPU Runs on CPU
Has smaller community. Has bigger community.
Has many things build-in, like ray-casting shadows or physics engine.  Has many extension-libraries made by community, that fill gaps in possibly needed features. 

Last Updated : 19 Feb, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads