Pygame is a popular python programming language library that is widely used for making games along with other multimedia applications. It has a number of limitations, however, and so if you’re looking for an alternative to work with, you have a number of options with varying features.
Platform: Windows, Linux, OS X
License: BSD open-source license
- Can use multiple windows and multi-monitor desktop setups
- 3D support
- Written in pure Python
- No external dependencies or installation requirements – simple distribution and installation for most application and game requirements.
- Under constant development – regularly released updates and bugfixes.
– Small community and limited popularity – while the community is supportive, it is limited compared to other engines.
BYOND (Build Your Own Net Dream)
License: Proprietary. Free to use and publish.
- Large and helpful community – good-sized player base, and many members of the community are enthusiastic about helping others to learn.
- Easy to use – relatively simple for beginners to learn and use.
- Inactive development – regularly released updates.
- Large Community – fairly large player base and multiple games to play.
- Inbuilt multiplayer support – can also deploy single-player games, but has a multiplayer focus.
- Exclusive programming language – The language is known as DM, and is modified using Dream Maker. It is an object-oriented, interpreted language, which closely resembles C++, Java, and PHP. More information available in the DM Guide.
- Limited platform support – BYOND is only natively supported on Windows and requires an emulator to use on other platforms. No support for other platforms is planned.
Platform: Windows, Linux, OS X, iOS, Android, BlackBerry, HTML5
License: MIT license
- Can be installed on Steam – you can easily install Godot via the Steam store.
- Lightweight – the executable is portable and less than 40 MB in size.
- User-friendly UI – understandable for people without coding experience.
- Simple codebase – the engine’s source code is easy to read and understand with a self-documenting approach to code design.
- Integrated animation editor
- Unified game editor interface – all the game development and scripting is done inside the engine editor
- Fully dedicated 2D engine – supports many features used in modern 2D games.
- 3D support
- Built-in physics engine – add physics to 2D and 3D scenes, through rigid and static bodies, characters, raycasts, vehicles and more.
- Under constant development – while the engine is relatively new, it is constantly being refined and updated.
- Helpful community
- Built-in documentation linked to the internal ScriptEditor – easily access the documentation for any class by Ctrl-clicking its name in the in-engine text editor.
- Easily expanded scripting system – along with inbuilt support for C++, GDScript, VisualScript, and C#, the community has added support for D, Nim, and Python.
- No built-in way to import atlases – relies on plugins to import atlases from other engines
- Difficult to optimize – OOP architecture. Data is spread among many classes, which means it’s not very cache-friendly and is difficult to vectorize and parallelize.
- Occasionally confusing terminology – almost everything is referred to as a scene, which can confuse people coming from another engine
- No AdNetwork support – no native support for in-game ads.
GameMaker Studio 2
Platform: Windows, OS X, Linux, HTML5, Windows Phone, Android, iOS, Amazon Fire, PS3/4/Vita, Xbox One
Price: $39 – $1500
License: Varies depending on the package purchased. The $1500 Ultimate license grants access to all the platforms, as well as the ability to release your game on platforms such as Steam, App Store, and the PlayStation Store.
Download: GameMaker Studio 2
- Easy to learn – requires little programming knowledge which means that those without technical experience, such as designers or artists, can create their projects without the help of a programmer.
- Large community with wide range of tutorials
- Easy cross-platform shader support – write your own shaders in one shader language and GMS2 will automatically port it to all platforms.
- IDE for loading all assets – easy to manage your resources.
- Cross-platform multiplayer support
- Official marketplace for buying and selling assets – great if you need some more assets or have created your own and want to make a bit of extra cash.
- Supports 3D
- Expensive – the expensive price point can be too much for many small-scale indie developers.
- Owned by a gambling software company – not open source or free to distribute, GameMaker is developed by YoYoGames, which is owned by Playtech, which mainly makes gambling software.
- Proprietary language – uses a custom language called GML, so you do not learn a transferrable language you can use in other engines.
- Limited scripting language – language does not support actual objects, structs, real data types, functions, overloading, or argument naming.
- No GUI editor – GUI must be hard-coded, making it difficult to accommodate different devices and displays
- No built-in refactoring tools – you can rename a resource, but it will not automatically change the mentions of the resource throughout the code to the new name.
- Future development will be mainly cosmetic – the engine and language remained unchanged between GMS 1 and GMS 2. Future development will also be cosmetic, including updating the sprite editor and adding an audio editor
The Right Engine Makes All the Difference
These are our picks for some of the best alternative options to using Pygame to develop your game. If you have a favorite that isn’t on this list, share it with us in the comments below, and let us know why you think it’s great.