These days lots of people are developing their own video games as a hobby that doesn’t require too much monetary investment. This trend has prompted the proliferation of many assisted development environments, distinguished either by their accessibility, as in the case of the drag-and-drop system used by programs like Game Maker, or versatility, as with Unity. It’s in the latter category in which we can include Godot Engine, an interesting engine to create games in either 2- or 3-D and which has just been released in its first stable version. It can export projects for a host of platforms, and best of all: it’s free and open source.
When first dealing with its interface at the outset, you might think this tool a bit rough, as it doesn’t have wizards or integrated guides, but if you check out any of the many tutorials available on its official website you’ll realize that the program doesn’t need frills to offer enormous depth and flexibility thanks to how it organizes it various elements, with a clear, coherent layout of context options on the screen. In other words, Godot Engine is straightforward, clear, and functional.
Its structure for scenes, nodes, and preset attributes greatly speeds up a lot of tasks. For example: Below we’ve created an object (available in the aforementioned tutorials) that we want to assign certain qualities of collision and physical behavior. The RigidBody2D element is a property we can assign to any of the object’s nodes, and it comes with a series of custom variables in terms of weight, size, collision properties, and a handful of other configurable settings that never require you to directly touch any code. If we place the object in our scenario and also add a solid surface such as a floor, we’ll have in a bit less than three minutes a rather random but still illustrative test setup.
To define behaviors and interactions, the program has its own high-level language called GDScript, which shares certain similarities with Python. With some scant notions of algorithms and some light flirtation with programming languages, you won’t have any problem whatsoever. Plus, the editor includes some integrated help for autocomplete and syntax support to differentiate between elements, a debugger, a class browser, and even an API for inserting code in C++. Its official webpage puts special emphasis on the efficient use of memory when compiling the games, an endemic problem in software for assisted video game development.
With regard to its capabilities, unlike other engines like Unity, the 2-D game development environment is not a poor counterfeit of the 3-D one, and has its own editing system aimed at flat elements where you can manipulate and resize objects with direct visual interaction, just like in an image-editing suite that employs layers and coordinate locations.
The 3-D editor is another story. Running on OpenGL ES 2, it allows you to import 3-D models from popular sources like 3DStudioMax, Maya, or Blender. At the visual level it allows the application of all sorts of lighting and shadow effects as well as post-processing filters, with specific tools like the one for character movement based on mobile skeletons for creating animations.
The program has been developed and endorsed by members of the OKAM Studio, who have worked for more than a decade on this product and have used it to develop many of their commercially released titles. What we now have in our hands is the first stable version (1.0) of the engine, and many future plans to expand the engine’s already enormous possibilities, which let you export your projects to Windows, Mac, Linux, iOS, and Android, among many other platforms.
Wow! Looks really promising! So many features for free… Almost too good to be true? I’m mainly interested in creating android apps.