-
Notifications
You must be signed in to change notification settings - Fork 40.3k
Description
Good day, everyone,
I’d like to suggest considering the Arcade library (https://api.arcade.academy/en/stable/about/intro.html) as a valuable option for learning how to build your own games with Python. Arcade is not only a strong alternative to PyGame, but in many ways a superior one. It offers a well-structured knowledge base, clear manuals, and accessible tutorials that are easy to follow.
Like PyGame, it provides all the essential tools to create, manage, and manipulate objects within a game loop. However, it benefits from ongoing updates and active community contributions, making it both modern and well-optimized.
The Python Arcade Library was created by Paul Vincent Craven. Paul was a professor of Computer Science at Simpson College in Iowa. He created the library to teach his students how to program games in Python. The first public pre-release was in March 2016.
There is no question the focus of the library is on education. It’s designed to be easy to use and to teach programming concepts.
The library has grown since then and is now used by people all over the world. The library is mostly used in schools and by hobbyists, but have also been used in various other settings such as visualization, simulation and prototyping. As the library grows it’s starting to be used in more professional settings as well.
Quick links for overview:
- Examples (with code base and extensive commentaries to explain the code): https://api.arcade.academy/en/stable/example_code/index.html;
- Dedicated tutorials: https://api.arcade.academy/en/stable/tutorials/index.html;
- Arcade book (quick overview of the library learning progression): https://api.arcade.academy/en/stable/get_started/arcade_book.html#installation;
- Documentation: https://api.arcade.academy/en/stable/api_docs/quick_index.html;
- API index: https://api.arcade.academy/en/stable/api_docs/arcade.html;
- Arcade on GitHub: https://github.com/pythonarcade/arcade/;
- Arcade community gateways: https://api.arcade.academy/en/stable/community/community_locations.html.
And, of course, it is being well-maintained and updated:
Notable Releases
- First public pre-release in March 2016
- First stable release 1.x in May November 2016
- 2.0 release in 2019
- 2.4 release in 2020
- 2.6 release in 2021 through 2022
- 3.0 release in 2024
Previous version pages may contain examples of the games created with the library, e.g.: https://api.arcade.academy/en/2.6.17/sample_games.html (version 2.6.17, current version 3.3.2).
Personally, I am a huge advocate for arcade library, as it just feels right and makes sense. Its core gives developers full control over logic, input, and event handling, while remaining well-optimized to run smoothly even on older hardware (including integrated graphics) without major FPS drops or noticeable delays. Like PyGame, it provides all the essential tools to create, manage, and manipulate objects within a game loop. However, thanks to ongoing updates and an active community, Arcade remains modern, lightweight, and efficient. As an example, take a look at a piece of documentation that covers arcade.Text type object: https://api.arcade.academy/en/stable/api_docs/api/text.html#arcade.Text.
Hope you have a great day, and keep up the great work.
Sincerely,
Andrey Vostokov
~ EDIT: Minor grammar errors and styling edits.