Skip to content

Building a game with python and arcade library #1568

@whysixthreeseven

Description

@whysixthreeseven

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:

  1. Examples (with code base and extensive commentaries to explain the code): https://api.arcade.academy/en/stable/example_code/index.html;
  2. Dedicated tutorials: https://api.arcade.academy/en/stable/tutorials/index.html;
  3. Arcade book (quick overview of the library learning progression): https://api.arcade.academy/en/stable/get_started/arcade_book.html#installation;
  4. Documentation: https://api.arcade.academy/en/stable/api_docs/quick_index.html;
  5. API index: https://api.arcade.academy/en/stable/api_docs/arcade.html;
  6. Arcade on GitHub: https://github.com/pythonarcade/arcade/;
  7. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions