Godot (game engine)
Developer(s) | OKAM Studio |
---|---|
Stable release | 2.0.2 / 8 April 2016 |
Preview release | 2.0 ALPHA / 30 October 2015 |
Written in | C, C++[1] |
Operating system | |
Available in | English |
Type | Game engine |
License | MIT License |
Website |
www |
Godot is a 2D and 3D cross-platform open source MIT licensed game engine developed by OKAM Studio.[2] The development environment runs on Windows, OS X and Linux (both 32 and 64 bit) and can create games targeting PC, console, mobile and web platforms.
Overview
Godot aims to offer a fully integrated game development environment. It allows developers to create a game from scratch needing no other tools beyond those used for content-creation (creating graphical assets, music etc.). The game-design architecture is built around a concept of a tree of nested "scenes". All game resources, from scripts to graphical assets, are saved on-disk as part of the computer's file system (rather than in, say, a database). This storage solution is intended to make it easier for game development teams to collaborate on script code using version control.[3]
Scripting
Godot games are created either in C++ or by using its own scripting language called GDScript, a high level, dynamically typed programming language very similar to Python. Contrary to Python, GDSCript features strict typing of variables and is optimized for Godot's scene-based architecture. Godot's developers have stated that many alternative third-party scripting languages were tested before deciding that using a custom language allowed for superior optimization and editor integration.[4]
Godot comes with a built-in script editor with auto indentation, syntax highlighting and code completion. It also features a debugger with the ability to set breakpoints and program stepping.
Godot also has its own built-in physics engine for both 2D and 3D aspects of the engine, supporting collision detection, rigid body, static body, characters, vehicles, raycasts and joints.
Rendering
The graphics engine uses OpenGL ES 2.0 for all supported platforms. The engine supports transparency, normal mapping, specularity, dynamic shadows using shadow maps and full-screen post-processing effects like FXAA, bloom, DOF, HDR, gamma correction and fog.
Godot uses a simplified shader language that resembles a near subset of GLSL. Shaders can be used for Materials, Post-processing as well as for 2D rendering. The shaders are divided in vertex and fragment sections. There is also the possibility to create shaders by manipulating nodes in a visual editor.
Godot has a 2D graphics engine that can operate independently from the 3D one. Examples of 2D engine features includes lights, shadows, shaders, GUIs, sprites, tile sets, parallax scrolling, polygons, animations, physics and particles. It's also possible to mix 2D with 3D or 3D with 2D using a so-called viewport node.
Godot contains an in-built animation system with a GUI for editing skeletal animation, blending, animation trees, morphing and realtime cutscenes. Due to a node-based design almost any variable defined or created on a game entity can be animated.[5]
Platforms
Godot supports deployment to multiple platforms. Within a project, developers have control over delivery to mobiles, web, desktops, and consoles. Godot also allows specification of texture compression and resolution settings for each platform the game supports.
Currently supported platforms include Windows, OS X, Linux, FreeBSD, Android, iOS, BlackBerry 10, HTML5, PlayStation 3, PlayStation Vita and Nintendo 3DS. There is also work-in-progress support for Windows Runtime.[6]
Other features
- Occlusion culling
- Level of detail
- Performance analysis graphs
- Light baking
- Multithreading
- Plugins system
- Render targets
- Video playback using the Theora codec
- Audio system supporting playback of Ogg Vorbis and WAV codecs
- Particle system
- Texture import/export/compress pipeline
- Navmesh support
- Graphical user interface
- Keyboard, Mouse, Gamepad and Touch support
History
Godot was in development and used in-house by OKAM Studio as early as 2001. In February 2014, the source code for Godot was released to the public on GitHub under the MIT License.[7]
On 15 December 2014, Godot reached 1.0, marking the first stable release and the addition of lightmapping, navmesh support and more shaders.[8]
On 21 May 2015, version 1.1 was released, adding a much improved auto-completion in the code-editor, visual shader editor, new API to the OS for managing the screens and window, with multi-monitor support, a rewritten 2D engine, new 2D navigation polygon support, much improved blender collada exporter and a new dark theme.[9] The new 2D engine includes shaders, materials, independent Z ordering per-node, lights, shadows with polygonal occluders, normal mapping, back-buffer compositing, improved isometric tilemap support and distance-field font support.
On 4 November 2015, Godot joined the Software Freedom Conservancy.[10]
List of games
Many of OKAM Studio's games were made in-house using Godot.
- El Asombroso Show Zamba
- Dog Mendonça & Pizza Boy
- Anthill
- Running Nose
- Project Carnival
There are also many community-made open-source games.[11]
About the name
Main developer Juan Linietsky stated in a presentation that the name Godot is related to Samuel Beckett's play Waiting for Godot, as it represents the never-ending wish of adding new features in the engine, which would get it closer to an exhaustive product, but never will.[12]
See also
References
- ↑ "The Godot Game Engine Open Source Project on Open Hub". Retrieved 30 July 2015.
- ↑ Bart (13 February 2014). "Godot Game Engine Goes Open Source". Blender Nation.
- ↑ "File Systems". Godot documentation. Godot. Retrieved 29 January 2016.
- ↑ "GDScript History". Godot documentation. Godot. Retrieved 29 January 2016.
- ↑ "Godot Animation tutorial". Godot Documentation. Retrieved 29 January 2016.
- ↑ "Compiling for Universal Windows Apps". Godot. Retrieved 1 February 2016.
- ↑ liamdawe (14 February 2014). "Godot Game Engine Is Now Open Source".
- ↑ "Godot Engine Reaches 1.0, Releases First Stable". 15 December 2014. Retrieved 16 December 2014.
- ↑ "Godot 1.1 Out!!". Retrieved 22 May 2015.
- ↑ "Godot Game Engine is Conservancy's Newest Member Project". Retrieved 13 November 2015.
- ↑ "Awesome Godot - a curated list of free/libre games, plugins, add-ons and scripts for Godot.". GitHub. Retrieved 25 July 2015.
- ↑ Rencontres Mondiales du Logiciel Libre 2015, Beauvais, France (7 July 2015). "Juan Linietsky presentation of Godot at RMLL 2015 in Beauvais, France".