Godot is a free and open source game engine that allows you to create 2D and 3D games for a number of different platforms including game consoles, personal computers and mobile devices. It comes with a liberal license that allows you to monetize your game in numerous ways without much restrictions. It is one of the fastest growing open source game engines available out there today, with good documentation and ever growing community. Some people also term it as the best open source alternative for the proprietary Unity game engine.
Godot comes with a visual game editor having a built-in scene, code and script editor. Other main features of Godot include predefined and user defined nodes, live editing, pipelines, custom tools, shader editor, post-processing effects, advanced lighting, tile based map editor, predefined and user made animations, advanced debugging tools, built-in profiler, multiple scripting languages and so on.
Pygame is a free and open source game engine written in Python programming language. Based on the SDL library, it allows you to create 2D games and export them to numerous desktop and mobile operating systems, though it lacks native support for exporting games to modern mobile operating systems like iOS and Android. You can create builds for these mobile operating systems using some third party tools. Pygame doesn’t have a visual game editor and everything has to be written using a code editor only. Other main features of Pygame include support for multi-core PCs, basic support for 3D games, controllable main loop, custom inputs, sound management and so on.
Love2D is a free and open source game engine written in Lua programming language. You can use it to develop 2D games for desktop and mobile operating systems, including Android and iOS. The Love2D game engine uses modules for processing and managing audio, events, fonts, graphics, images, joystick input, keyboard and mouse input, physics, touch input and the game window.
Ren’Py is a free and open source game engine that allows you to create visual novels for desktop and mobile operating systems, including Android and iOS. Even though it is primarily meant for creating visual novels, many developers have built simulation and RPG games using its main API, Python scripting and its own custom scripting language used for creating dialogues and scenes. Ren’Py comes with a graphical application to manage your game project, though the code itself needs to be written using a text / code editor. Main features of Ren’Py include support for keyboard, gamepad and mouse inputs, periodic auto-saving, controls for rewinding, forwarding and skipping scenes, auto-play, jukebox style controllable music, built-in effects and transitions and so on.
jMonkeyEngine is a free and open source game engine that allows you to create 3D games in the Java programming language. Main features of jMonkeyEngine include an OpenGL renderer for 3D games, built-in physics engine, geometric shaders, networking engine, advanced lighting effects, GUI libraries for creating interfaces, post-processing tools, 3D sound effects, particle effects, official and third party add-ons, built-in voxel engine and so on.
libGDX is a free and open source game engine that allows you to develop 2D and 3D games for desktop and mobile operating systems, including Android and iOS. Based on the Java programming language, libGDX is really popular among developers who create mobile games, especially for the Android platform. libGDX is designed in such a way that you can write code once to deploy the game on multiple platforms. It requires negligible, or no amount of platform specific code, thus reducing overall development time and resources. It includes numerous built-in methods for processing and managing audio, graphics, physics, networking and so on.
Panda3D is a free and open source 3D applications and game development framework, that allows developers to create games in Python and C++ programming languages. Supported by Disney, Panda3D features advanced API and beginners may not find it easy to use compared to other game engines mentioned in this article. However, it is an extremely powerful tool used in many commercial projects. Panda3D currently supports creating builds for desktop operating systems, with experimental support for creating “apk” files for Android platform. Other main features of Panda3D include an asset manager, integration with third party libraries, official and third party extensions, built-in profiler and so on.
Amethyst is a free and open source game engine that allows you to develop 2D and 3D games for desktop operating systems. It doesn’t currently seem to support mobile operating systems, though a bug report is open for the same. Developed in Rust programming language, Amethyst describes itself as a “data-driven and data-oriented game engine”. It uses Entity Component System (ECS) to create and manage game logic and structure, allowing better control for multi-threaded projects. Amethyst encourages developers to write reusable code, facilitating faster prototyping and reduced development time.
Many free and open source engines support Linux platforms these days. This article has mainly listed only those game engines that are active in development and feature relatively liberal licensing schemes for creating both free and commercial games.