The Complete Magazine on Open Source

Eight Top-of-the-Line Open Source Game Development Tools

3.54K 0

The open source game development tools presented in this article give developers numerous options to explore and choose from, as per their requirements.

Open source game development is generally looked upon as a tech enthusiast’s hobby. Rapid advancements in technology, combined with the various innovations being launched every day, have put tech experts and gamers in a win-win situation. Open source provides interoperability, high quality and good security in game devlopment. Little wonder then that open source platforms are already being used for quite a few successful and complex games.

The following points highlight some of the advantages of the open source gaming platforms.

  • Better quality and more customised software: With the source code being available on open source gaming platforms, professional developers can customise features and add varied plugins as per their own requirements, which is beneficial for game development companies.
  • Say good bye to licensing: With completely open source platforms, there is no requirement for any sort of licensing. So apart from no licence costs, other issues like tracking and monitoring are also avoided.
  • Lower cost of hardware: Open source gaming platforms in Linux involve lower hardware costs compared to Windows. With the advantages of easy portability and high compression, Linux requires low hardware configurations. So, game development costs are lower and even legacy hardware systems can be used for game development.

Let’s take a look at the top open source gaming development platforms, which give developers numerous options to explore and choose from, as per their requirements.

GDevelop

GDevelop is an open source, cross-platform game creator platform designed for novices. There is no requirement for any sort of programming skills. GDevelop is a great platform to develop all sorts of 2D and 3D games. It consists of several editors on which games can be created. The list is as follows.

  • Project manager: This displays the open games in the editor, allowing developers to set and organise the scenes. Users can select the scene to be edited and modify the parameters like the title, background colour, text, etc. It also gives access to the image bank editor of the games, and allows the user to select the extensions to be utilised by the game.
  • Image bank editor: This allows the user to manage all sorts of images via objects. It supports transparency integrated in the image.
  • Scene editor: This allows users to organise the scene at the start, positioning the object in the scene.
  • Object editor: This allows the creation of objects to be displayed on the stage, like text and 3D box objects. It also has the ‘Particle Transmitter’ object, which allows developers to use particles in the game with ease.
  • Layer editor: This allows users to manage the interface that remains motionless, while allowing the camera of the rest of the game to move or zoom.
  • Event editor: This allows users to animate the scene, depending on the conditions and actions that will be performed on the objects of the scene.

The events are compiled by GDevelop in machine code — the mechanism is simple and similar to writing C++ code.


Features

  • It comprises various objects which can be used readily — text objects, 3D boxes, own customised shapes via Shape Painter, the particle engine, dynamic lights and shadows, custom collision masks, etc.
  • Adds behaviours to the objects through the physics engine, pathfinding, top-down movement, platformer engine, draggable objects and the automation of tasks.
  • Offers advanced design features and interfaces through the scene editor, multiple layers, the debugger and performance profilers.
  • Other features include HTML 5 support, sound and music effects, and integration with the joystick and keyboard.

Latest version: 4.0.94

Official website: http://compilgames.net/

Figure 1: GDevelop user interface

Godot Engine

The Godot Engine is a highly powerful cross-platform game development engine that supports 2D and 3D game development from a unified interface. The platform supports Windows, OS X, Linux and BSD for developing games for the PC, console and even mobile-cum-Web platforms. It is integrated with a wide variety of tools, providing developers with tons of options, and avoiding the need for even a single third party tool. The engine is built on the concept of a tree of nested scenes.

The games created with Godot are either written in C++ or a customised scripting language called GDScript, which is a high level, dynamically typed language with many similarities to Python. GDScript is greatly customised and optimised for the Godot engine. Godot has a power text editor, which provides developers various features like auto indentation, highlighting syntax and even code completion. It also has a debugger to provide breakpoints and program stepping.

Godot makes use of the OpenGL ES 2.0 graphics engine, which has many features like transparency, normal mapping, dynamic shadows using shadow maps, and various post-processing effects like FXAA, bloom, DOF, HDR, gamma correction and fog.

Features

  • Nice and clean interface: Has a visual editor, a dynamic scene system, a user friendly content creation interface, a visual shader editing tool and live editing on mobile devices.
  • Efficient in 2D game design because of a dedicated 2D engine, custom 2D physics engine, and a flexible kinematic controller.
  • High-end 3D game development by importing animation models from 3DS Max, Maya and Blender; has skeleton deforms and blend shapes, lighting and shadow mapping, HDR rendering, anti-aliasing, etc.
  • Flexible animation engine for games, enabled by the visual animation editor, frame-based or cut-out animation, custom transition curves and tweens, and animation tree support.
  • Other features include a Python-like scripting language, a powerful debugger and an easy C++ API.

Latest version: 2.1.3

Official website: https://godotengine.org

Figure 2: Godot Engine interface

Cocos2d-x

Cocos2d-x is an open source game development platform available under the MIT License. It allows developers to build games, apps and various interactive programs. It enables developers to make use of C++, Lua and JavaScript for cross-platform deployment on iOS, Android, Windows Phone, OS X, Windows and Linux devices.

The cocos2d-x renderer engine is highly optimised for 2D graphics with OpenGL support. It is packed with tons of features like skeletal animation, sprite sheet animation, coordinate systems, visual effects, textures, tile maps, multi-resolution devices, etc.

It is maintained by developers at Chukong Technologies, which is also developing Cocostudio, a WYSIWYG editor.

Features

  • Animation: It provides numerous animation options that work on sprites using a set of actions and timers. It supports animation of particle effects, image filtering effects through shaders, etc.
  • Easy GUI: It includes an easy GUI interface with text boxes, labels, menus, buttons and common elements.
  • Physics engine: It supports 2D physics engines like BOX2D and Chipmunk.
  • Audio: It supports sound effects and background music.
  • Network support: HTTP with SSL, WebSocket API, XMLHttpRequest API, etc.

Latest version: 3.15.1

Official website: http://www.cocos2d-x.org

Figure 3: Cocos2d-x user interface

Delta Engine

Delta Engine is an open source 2D and 3D app and game development engine maintained by Delta Engine company. The applications and games can be developed in an easy manner through Visual Studio.net or the Delta engine editor. Delta Engine supports various languages and frameworks like C# OpenGL, C# OpenTK, C# GLFW, C# XNA, C# SharpDX, C# SlimDX, C# MonoGame, LinuxOpenGL, MacOpenGL and WebGL.

It supports various platforms like Windows OS, OS X, Linux, Android, Android TV and Linux.

Features

  • It supports 3D features like 3D model importing, a particle effect editor, etc.
  • Content like images, sounds, music and 3D models is saved directly using the Delta engine.
  • Supports physical simulation; most code is interchangeable for both 2D and 3D simulation.
  • Supports integration of external libraries and frameworks like the 2D Sprite animation library, Spine.
  • App Builder tool integrated in the editor supports building, deployment and launching of apps on a mobile device.

Latest version: 0.9.11

Official website: https://deltaengine.net

Starling

Starling is an open source 2D game development framework that supports both mobile and desktop platforms. It is a pure ActionScript 3 library that is very similar to the traditional Flash architecture. It recreates the Flash display list architecture on top of the accelerated graphics hardware.

It is a very compact framework but comprises various packages and classes. The following are the sets of tools that are integrated with Starling for application development:

  • Display programming: Every object is a display object.
  • Images and textures
  • Dynamic text
  • Event handling
  • Animation
  • Asset management
  • Special effects
  • Utilities

Features

  • It is based on Stage3D and supports multiple platforms like Android, iOS, Web browsers, OS X, etc.
  • It has low configuration requirements in terms of CPU, memory and GPU.
  • It has lower battery consumption.
  • Has effective object organisation via hierarchical trees, i.e., parent-child relationship.
  • Highly powerful and efficient event system using ActionScript.
  • Supports texture atlases, filters, stencil masks, blend modes, Tweens, multi-touch, bitmap fonts and 3D effects.

Latest version: 2.2

Official website: https://gamua.com/starling

Panda 3D

Panda 3D is an open source framework for rendering and developing 3D games using C++ and Python programs. The entire gaming engine is written in C++ and makes use of automatic wrapper generators to expose the complete functionality of the engine in the Python interface. It supports OpenGL and DirectX.

Panda 3D includes various tools like scene graph browsing, performance monitoring, animation optimisers and many more.

Features

  • Hassle-free installation and supports Windows, OS X and Linux. No need for any sort of compilation.
  • Full Python integration and highly optimised via C++.
  • Comes with various OpenGL and DirectX features like GLSL, a powerful interface between shaders and engine, and supports render-to-texture and multiple render targets.
  • Other features include shader generation, 3D pipeline, support for OpenAL Audio Engine, FMOD Audio Engine and Miles Audio Engine.
  • Has support for the Bullet physics engine, ODE physical engine and PhysX physics engine.

Latest version: 1.9.4

Official website: www.panda3d.org

Superpowers

Superpowers is a powerful, open source and free development platform enabling developers to create fully customised 2D and 3D games that are highly flexible. It is a cross-platform development tool and supports Windows, Linux and OS X operating systems. It makes use of Typescript to write gaming logic and to highlight the syntax, which simplifies development.

Features

  • Easy and well laid GUI interface helps even newbies to quickly learn game development.
  • Has a powerful Typescript editor fully packed with features like syntax highlighting, auto completion of code and live error reporting.
  • Comes with hundreds of inbuilt licence-free sprites, 3D models, sound effects, fonts and music.
  • Built-in library of games and examples acts as a strong platform for beginners.

Latest version: 4.0

Official website: http://superpowers-html5.com

Figure 4: Superpowers’ GUI interface

MonoGame

MonoGame is powerful free software that Windows based developers and Windows Phone gamers use to run on other systems. It is a cross-platform game development tool and supports Linux, OS X, Android, PlayStation Mobile, Nintendo Switch, etc.

It is basically an open source implementation of the Microsoft XNA 4 framework. The basic objective of MonoGame is to ‘write once, play everywhere’.

The following are the technologies that power the MonoGame API’s cross-platform capabilities:

  • OpenTK: A low level C# library that combines OpenGL, OpenCL and OpenAL for 3D graphics.\
  • SharpDX: An open source implementation of DirectX API for .NET, which supports high performance of 2D and 3D games and real-time sound.
  • Lidgren.Network: This is a network library for the .NET framework, which makes use of the UDP socket to provide APIs for connecting to the client and server as well as sending and reading messages.

Figure 5: MonoGame user interface

Features

  • Via C# and .NET languages, MonoGame enables developers to write reliable and high-performance game code.
  • Open source code enables changes and even porting to new platforms.
  • Bundled with more than 1000 games, MonoGame can be used for high-end games development.

Latest version: 3.6

Official website: www.monogame.net