When comparing pygame vs Blacksmith 2D, the Slant community recommends pygame for most people. In the question“What are the best 2D game engines?” pygame is ranked 16th while Blacksmith 2D is ranked 48th. The most important reason people chose pygame is:
Pygame uses Python as its scripting language. Python is widely considered one of the easiest languages to grasp even for beginners.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Easy Python syntax
Pygame uses Python as its scripting language. Python is widely considered one of the easiest languages to grasp even for beginners.
Pro Very easy to understand
The API is very straightforward.
Pro Good canvas system
Pygame has a drawing system that allows the user to create and draw on an unlimited number of canvases.
Pro Cache as bitmap
Automatically detects changes and updates bitmap cache. Allows to gain even more performance on heavy scenes and runs smoothly on old devices.
Pro Most valuable when size matters
All engine code is written in ES6, fully GCC typed, allowing to eliminate all dead code from your app.
Pro Advanced scene graph and rendering pipeline
Dirty flag tracks scene changes and avoids unnecessary calculations and context calls. If no changes were made to the scene since last frame, no rendering will be done. Battery efficient.
Pro Good performance
According to the tests on the Github page, the performance is better than in Phaser!
Pro Good and clear source code
The source code is well commented and easy to understand.
Pro Super small build size
Super small build size through dead code elimination. The best for playable ads and Facebook Instant Games.
Cons
Con Deathly slow
Con Nonexistent community
No good forums, wiki, or other ways to reach other Pygame developers.
Con Very basic
Pretty much just a wrapper for SDL.
Con Pygame is a multimedia framework, not a game engine
Physics, AI and networking are not supported.
Con Messy documentation
The docs are messy, and some basic functions are infuriating to work out. There's even some places in the documentation where it's clearly wrong about how a method is called/what the arguments really do.
Con Outdated
Pygame uses a really old version of SDL and is missing some of the features developed for SDL2.
Con Hasn't been updated in years
Hasn't been updated in years.
Con Small community
The project is young, so the community is extremely small.