Godot (game engine)

Godot /ˈɡɒd/[lower-alpha 1] is a cross-platform, free and open-source game engine released under the MIT license. It was initially developed by Argentine software developers Juan Linietsky and Ariel Manzur[7] for several companies in Latin America prior to its public release.[8] The development environment runs on multiple operating systems including Linux, FreeBSD, NetBSD, OpenBSD, macOS, Microsoft Windows, Android, and web, e. It is designed to create both 2D and 3D games targeting PC, mobile, and web platforms and can also be used to develop non-game software, including editors.

Godot Engine
Original author(s)
  • Juan Linietsky
  • Ariel Manzur
Initial release14 January 2014 (2014-01-14)[1]
Stable release
4.0.2[2] Edit this on Wikidata / 4 April 2023 (4 April 2023)
Preview release
4.0.2 RC 1[3] Edit this on Wikidata / 31 March 2023 (31 March 2023)
Repository
Written inC++[4]
Operating systemMicrosoft Windows, macOS, Linux, Android, Web, FreeBSD, NetBSD, OpenBSD[5]
PlatformSee § Supported platforms
Size28–189.3 Megabytes (varies by operating system)[6]
Available in36 languages
List of languages
Arabic, Argentine Spanish, Brazilian Portuguese, Bulgarian, Catalan, Czech, Dutch, English, Esperanto, Finnish, French, Galician, German, Greek, Hebrew, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Malay, Norwegian Bokmål, Polish, Portuguese, Romanian, Russian, Slovak, Simplifield Chinese, Spanish, Swedish, Thai, Traditional Chinese, Turkish, Ukrainian, Vietnamese
TypeGame engine
LicenseMIT License
Websitegodotengine.org

Features

Godot allows videogame developers to create 3D and 2D games using multiple programming languages, such as C++, C# and GDscript.[9] It makes use of nodes, sometimes called called APIs, to facilitate the development experience.[10] Nodes are organized inside of "scenes", which are reusable, instanceable, inheritable, and nestable groups of nodes. All game resources, including scripts and graphical assets, are saved as part of the computer's file system (rather than in a database). This storage solution is intended to facilitate collaboration between game development teams using software version control systems.[11]

Supported platforms

The engine supports deployment to multiple platforms and allows specification of texture compression and resolution settings for each platform. The website provides binaries only for the editor platforms, and exporting projects to other platforms is done within the Godot editor.

The Godot editor, used for creating Godot games, supports the following platforms:

The engine supports exporting projects to many more platforms, including all of the editor platforms. Currently supported platforms as of Godot 4.0 are:[17]

While the Godot engine can be run on consoles, most popular consoles are not officially supported since they do not allow their platform-specific code to be published under an open-source license. However, it is still possible to port games to consoles thanks to services provided by third-party companies.[19][20]

For CPU architectures, Godot officially supports x86 on all desktop platforms (both 32-bit and 64-bit where available) and has official ARM support on macOS, mobile platforms, and standalone Oculus platforms (both 32-bit and 64-bit where available). The web platform uses 32-bit WebAssembly. Support for ARM, RISC-V, and PowerPC Linux is unofficial and experimental.[21][22]

Scripting

Visual script.

Godot supports a variety of programming languages for making games, including the integrated language GDScript, C++[23] and C#. Additionally, the engine includes GDNative, a facility for creating bindings with other languages. Officially-supported GDNative languages include C and C++.[24] Community-supported languages include Rust, Nim, Haskell, Clojure, Swift, and D.[25] Visual coding is also supported, via the built-in language VisualScript, designed to be a visual equivalent to GDScript.[26] Visual Scripting was removed from the core engine in Godot 4.0.[27] Godot games running in the Browser can interface with the browser's JavaScript code.

The Godot editor includes a text editor with auto indentation, syntax highlighting and code completion. It also features a debugger with the ability to set breakpoints and program stepping.[28]

GDScript

GDScript
ParadigmObject-oriented
DeveloperGodot Community
Typing disciplineDynamic, Duck
OSCross-platform (multi-platform)
Filename extensions.gd
Websitedocs.godotengine.org
Influenced by
C, C++, Python
Screenshot of editing a GDScript file using the built-in script editor of Godot 3.4

Godot has its own built-in scripting language, GDScript,[28] a high-level, dynamically typed programming language which is syntactically similar to Python. Unlike Python, GDScript is optimized for Godot's scene-based architecture and can specify strict typing of variables. Godot's developers have stated that many alternative third-party scripting languages such as Lua, Python, and Squirrel were tested before deciding that using a custom language allowed for superior optimization and editor integration. In version 4.0, a new feature called Typed array[29] was implemented on GDScript. This allows users to easily change a regular array to typed and vice-versa without changing much code.[28]

A simple "Hello world" program can be written like so:

func _ready():
	print("Hello World")

More complex programs, such as this one generating a Fibonacci sequence, are also possible:

func _ready():
	var nterms = 5
	print("Fibonacci sequence:")
	for i in range(nterms):
		print(fibonacci(i))

func fibonacci(n):
	if n <= 1:
		return n
	else:
		return fibonacci(n - 1) + fibonacci(n - 2)

Rendering

Godot's graphics engine uses OpenGL ES 3.0 for all supported platforms; otherwise, OpenGL ES 2.0 is used. Vulkan is supported starting version 4.0 and also includes the possibility of support for Metal using MoltenVK.[30] The engine supports normal mapping, specularity, dynamic shadows using shadow maps, baked and dynamic global illumination, and full-screen post-processing effects like bloom, depth of field, high-dynamic-range rendering, and gamma correction. A simplified shader language, similar to GLSL, is also incorporated. Shaders can be used for materials and post-processing. Alternatively, they can be created by manipulating nodes in a visual editor.

Godot also includes a separate 2D graphics engine that can operate independently of the 3D engine. The 2D engine supports features such as lights, shadows, shaders, tile sets, parallax scrolling, polygons, animations, physics, and particles. It is also possible to mix 2D and 3D using a 'viewport node'.

Other features

Godot contains an animation system with a GUI for skeletal animation, blending, animation trees, morphing, and real-time cutscenes. Almost any variable defined or created on a game entity can be animated.[31] The engine uses Bullet for 3D physics simulation.[32]

Additional features include:

History

2D Panel in Godot 3.2
Screenshot of development build of Godot 4.0 running using Vulkan (dev build, May 10, 2021)

Godot is a game engine that was started by Juan 'reduz' Linietsky and Ariel 'punto' Manzur in 2007.[33][34] The name "Godot" was chosen due to its relation 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.[35]

In February 2014, the source code for Godot was released to the public on GitHub under the MIT License.[36] Godot reached version 1.0 on 15 December 2014, marking the first stable release and the addition of lightmapping, navmesh support, and more shaders.[37]

Version 1.1 was released on 21 May 2015, adding improved auto-completion in the code editor, a visual shader editor, a new API to the operating system for managing screens and windows, a rewritten 2D engine, new 2D navigation polygon support, a much-improved Blender Collada exporter, and a new dark theme.[38]

Godot joined the Software Freedom Conservancy on 4 November 2015.[39]

Godot 2.0 was released on 23 February 2016, adding better scene instancing and inheritance, a new file system browser, multiple scene editing, and an enhanced debugger.[40][8] This was followed by version 2.1 in August 2016, which introduced an asset database, profiler, and plugin API.[41]

Godot 3

Version 3.0 was released on 29 January 2018, adding a brand new PBR renderer implemented in OpenGL ES 3.0, virtual reality compatibility, and C# support (via Mono)[32] thanks to a $24,000 donation from Microsoft.[42] Version 3.0 also added the Bullet physics engine in addition to the engine's built-in 3D physics back end and was the first version of Godot to be included in Debian.

Godot 3.1 was released on 13 March 2019, with the most notable features being the addition of statically typed § GDScript, a script class system for GDScript, and an OpenGL ES 2.0 renderer for older devices and mobile devices.[43] Godot 3.2 was released on 29 January 2020, with the most notable features being massive documentation improvements, greatly improved C# support, and support for glTF 2.0 files.[44]

The lead developer, Juan Linietsky, spent most of his time working on a separate Vulkan branch that would later be merged into master for 4.0,[45] so work on 3.2 was mostly done by other contributors. Work on 3.2 continued as a long-term support release for a year,[44] including Godot 3.2.2 on 26 June 2020, a large patch release that added features such as OpenGL ES 2.0 batching, and C# support for iOS.[46] On 17 March 2021, the versioning strategy was changed to better reflect semantic versioning, with a 3.3 stable branch and a 3.x branch for backporting features to a future 3.4 release.[47]

Godot 3.3 was released on 21 April 2021, with features such as ARM support on macOS, Android App Bundles support, MP3 support, Autodesk FBX support, WebXR support, and a web editor.[48]

Godot 3.4 was released on 6 November 2021 after 6 months of development, implementing missing features or bug fixes that are critical for publishing 2D and 3D games with Godot 3 and making existing features more optimized and reliable.[49]

Godot is in the process of leaving Software Freedom Conservancy (SFC) starting 1 November 2021.[50][51][52]

Godot 4

Godot 4 is a version of the Godot game engine that was released on 1 March 2023. It is a major update that overhauls the rendering system, adds support for Vulkan graphics API, improves GDScript performance and usability, enhances physics and animation systems, and introduces many other features and bug fixes.

  • The development of Godot 4 started in 2019 with a rewrite of the renderer to use Vulkan by Juan Linietsky (reduz), the lead developer of Godot.
  • In 2020, several contributors joined the development team and worked on various aspects of Godot 4, such as GDScript improvements, physics engine overhaul, animation system rewrite, editor usability enhancements and more.
  • In January 2022, the first alpha version of Godot 4 was released for testing by early adopters.[53] It showcased some of the new features such as SDF-based global illumination, GPU-based particles, dynamic soft shadows and more.
  • In September 2022, Godot 4 reached beta stage with improved stability and performance.[54] It also added support for WebXR (VR on the web), C# support for Android and iOS, new audio features and more.
  • On 1 March 2023,[17] Godot 4 was officially released as a stable version after several beta builds and bug fixes. It marked a new era for Godot with enhanced graphics quality, rendering optimization techniques, accessibility features and more.

Release history

Legend:
Old version
Older version, still maintained
Current stable version
Latest preview version
Future release
Godot Engine release history
Version Release date[55] Notes Latest patch release
Old version, no longer maintained: 1.0 December 2014 First stable release 1.0
Old version, no longer maintained: 1.1 May 2015 Added improved auto-completion in the code editor, a visual shader editor, a rewritten 2D engine, and new 2D navigation polygon support. 1.1
Old version, no longer maintained: 2.0 February 2016 Updated UI and added an enhanced debugger. 2.0.4.1
Old version, no longer maintained: 2.1 July 2016 Introduced an asset database, profiler, and plugin API. 2.1.6
Old version, no longer maintained: 3.0 January 2018 Added a brand new PBR renderer and Mono (C#) support. Added Bullet as the default physics engine. 3.0.6
Old version, no longer maintained: 3.1 March 2019 Added statically typed GDScript, a script class system for GDScript, and an OpenGL ES 2.0 renderer. 3.1.2
Old version, no longer maintained: 3.2 January 2020 Added support for glTF 2.0 files, OpenGL ES 2.0 batching, C# support for iOS, and massive documentation improvements. 3.2.3
Old version, no longer maintained: 3.3 April 2021 Added ARM support on macOS, Android AAB support, MP3 support, FBX support, WebXR support, and a web editor. 3.3.4
Old version, no longer maintained: 3.4 November 2021 Added a new theme editor, ACES Fitted tonemapper, PWA support, physical input support, and glTF 2.0 export support. 3.4.5
Current stable version: 3.5 August 2022 Added editor support on Android, asynchronous shader compilation, physics interpolation, material overlay, and improved the navigation system. 3.5.2
Future release: 3.6 Q2-Q3 2023 The next minor release for Godot 3.x. Feature set still a work in progress. Adds transparent object sorting in 3D. Will be released after 4.0 with LTS.
Current stable version: 4.0 March 2023 Adds support for the Vulkan graphics API. Switches from Mono to .NET 6 CoreCLR. Introduces SDF-based global illumination, along with several editor changes and performance optimizations. 4.0.2
Future release: 4.1 June 2023 (expected)[56] 4.1 dev 1[57]
Future release: 4.2 October 2023 (expected)[56]

For the most current information, refer to the Godot release policy documentation article.

Grants and awards

On 22 June 2016, Godot received a $20,000 Mozilla Open Source Support (MOSS) “Mission Partners” award to be used to add WebSockets, WebAssembly and WebGL 2.0 support.[18] Later, with Miguel de Icaza's support in 2017, Godot received a $24,000 donation from Microsoft to implement C# as a scripting language in Godot.[58]

On 3 February 2020, Godot received a $250,000 Epic Games award to improve graphics rendering and the engine's built-in game development language, GDScript.[59] On July 8, 2020, Juan Linietsky mentioned that the Epic Games award will be used to permanently hire himself and George (Marques) for 2 years in order to free donation funds for new purposes.[60] In December 2020, Godot received a grant from Facebook Reality Labs.[61] Later, in December 2021, Godot received another grant from Meta's Reality Labs for XR work.[62][63]

On 10 February 2021, Godot received a $120,000 grant from Russian game studio Kefir.[64][65] On 11 November 2021, Godot received a $100,000 grant from California-based OPGames.[66]

Usage

Many games by OKAM Studio have been made using Godot, including Dog Mendonça & Pizza Boy, which uses the Escoria adventure game extension.[67] Additionally, it has been used in West Virginia's high school curriculum, due to its ease-of-use for non-programmers and what is described as a "wealth of learning materials that already exist for the software".[68]

Community

Godot as an international project has an active community around the world. Some community members are an admin of local Godot groups.

The lead developer of Godot, Juan Linietsky, expressed a concern that Godot is allegedly being called a cult by users of commercial software.[69]

Since the Russian invasion of Ukraine, the "Godot Engine Russia" Discord server has been renamed to "Godot Engine Ru" and replaced the icon with an image of a "Godot kitten".[70]

Video games with Godot Engine

Year of release Title Developer Notes
2015/2016 Deponia Daedalic Entertainment iOS and PlayStation 4 ports
2016 The Interactive Adventures of Dog Mendonça & Pizzaboy OKAM Studio
2018 Hardcoded Ghosthug Games
2019 Commander Keen in Keen Dreams Id Software/Lone Wolf Technologies Nintendo Switch port only
2021 Cruelty Squad Consumer Softproducts
Sonic Colors: Ultimate[71] Sonic Team/Blind Squirrel Games
2021  2022 Carol Reed Mysteries series[72] MDNA Games
2022 Dome Keeper Bippinbits
The Case of the Golden Idol Color Gray Games
2023 Cassette Beasts[73] Bytten Studio
TBA Kingdoms of the Dump Roach Games

See also

Notes

  1. The engine's name is derived from the play Waiting for Godot. For native English speakers, the engine maintainers recommend GOD-oh, with the "t" being silent like in the French original, but they also acknowledge that a variety of pronunciations exist.[lower-alpha 2]

References

  1. Linietsky, Juan (14 January 2014). "Godot Engine - First public release!". Godot Engine. Retrieved 2019-07-01.
  2. Error: Unable to display the reference properly. See the documentation for details.
  3. Error: Unable to display the reference properly. See the documentation for details.
  4. "The Godot Game Engine Open Source Project on Open Hub". Retrieved 30 July 2015.
  5. "Godot Features". Godot Features. Retrieved 10 May 2021.
  6. "Releases · godotengine/Godot". GitHub.
  7. "Historia de Godot". Headsem. 15 September 2017.
  8. Linietsky, Juan (4 March 2016). "Godot 2.0: Talking with the Creator". 80.lv. Retrieved 18 June 2016.
  9. Hill, Paul (19 May 2023). "Godot Engine arrives on Epic Games Store making it easier to download". Neowin. Retrieved 19 May 2023.
  10. "The 5 Best Game Engines for Beginners in Video Game Development". MUO. 5 February 2022. Retrieved 19 May 2023.
  11. "File system". Getting started. Godot Docs. Retrieved 20 July 2019.
  12. Dealessandri, Marie (15 April 2020). "What is the best game engine: is Godot right for you?". GamesIndustry.biz. Retrieved 19 May 2023.
  13. "Godot Engine by Godot Engine". Itch. Retrieved 16 April 2022.
  14. "Compiling for Linux, *BSD - Godot Engine (latest) documentation in English". Godot Engine. Retrieved 16 April 2022.
  15. "Godot Online Editor". Godot Engine. Retrieved 9 May 2021.
  16. Verschelde, Rémi (5 August 2022). "Godot Engine - Godot 3.5: Can't stop won't stop". Godot Engine. Retrieved 14 September 2022.
  17. Engine, Godot. "Godot 4.0 sets sail: All aboard for new horizons". Godot Engine. Retrieved 1 March 2023.
  18. "Mozilla Awards $385,000 to Open Source Projects as part of MOSS "Mission Partners" Program". The Mozilla Blog. Retrieved 17 October 2016.
  19. "Console Support". Godot Documentation. Retrieved 9 May 2021.
  20. Linietsky, Juan (15 July 2022). "Godot Engine - Godot and consoles, all you need to know". Godot Engine. Retrieved 4 October 2022.
  21. "Add support for the RISC-V architecture". GitHub. Retrieved 17 April 2022.
  22. "Add support for PowerPC family". GitHub. Retrieved 17 April 2022.
  23. "Godot with C++". 7 July 2020. Retrieved 17 June 2021.
  24. "GDNative C++ example". Retrieved 17 June 2021.
  25. "Godot languages support". GitHub. Retrieved 17 June 2021.
  26. "VisualScript — Godot Engine (3.5) documentation in English". docs.godotengine.org. Retrieved 8 September 2022.
  27. "Godot 4.0 will discontinue VisualScript". godotengine.org. Retrieved 8 September 2022.
  28. "GDScript basics: History". Getting started. Godot Docs. Retrieved 20 July 2019.
  29. "TypedArrays". Retrieved 4 June 2021.
  30. Linietsky, Juan (26 February 2018). "Moving to Vulkan (and ES 2.0) instead of OpenGL ES 3.0". Retrieved 28 July 2019.
  31. "Animations". Getting started. Godot Docs. Retrieved 20 July 2019.
  32. Larable, Michael (29 January 2018). "Godot 3.0 Open-Source Game Engine Released". Phoronix. Retrieved 30 January 2018.
  33. StraToN. "SteamLUG Cast". Retrieved 18 June 2016.
  34. reduz. "Godot history in images!". Retrieved 18 June 2016.
  35. "Juan Linietsky presentation of Godot at RMLL 2015 in Beauvais, France". 7 July 2015. 46 minutes in.
  36. liamdawe (14 February 2014). "Godot Game Engine Is Now Open Source".
  37. Linietsky, Juan (15 December 2014). "Godot Engine Reaches 1.0, Releases First Stable". Godot Engine. Retrieved 2019-07-01.
  38. Linietsky, Juan (21 May 2015). "Godot 1.1 Out!!". Godot Engine. Retrieved 2019-07-01.
  39. "Godot Game Engine is Conservancy's Newest Member Project". Retrieved 13 November 2015.
  40. Linietsky, Juan (23 February 2016). "Godot Engine Reaches 2.0 Stable". Godot Engine. Retrieved 2019-07-01.
  41. Linietsky, Juan (9 August 2016). "Godot Reaches 2.1 Stable". Godot Engine. Retrieved 2019-07-01.
  42. Engine, Godot. "Introducing C# in Godot". Godot Engine. Retrieved 15 February 2023.
  43. "Godot 3.1 is out, improving usability and features". Retrieved 10 September 2020.
  44. "Here comes Godot 3.2, with quality as priority". Retrieved 10 September 2020.
  45. "Godot 4 One Step Closer -- Vulkan Branch Now Master". YouTube. Retrieved 10 September 2020.
  46. "Maintenance release: Godot 3.2.2". Retrieved 10 September 2020.
  47. "Versioning change for Godot 3.x". Retrieved 18 July 2021.
  48. "Godot 3.3 has arrived, with a focus on optimization and reliability". Retrieved 10 May 2021.
  49. "Godot 3.4 is released with major features and UX polish". Retrieved 6 November 2021.
  50. "Announcing Godot's Graduation from SFC!". Software Freedom Conservancy. 1 November 2022.
  51. "Godot's Graduation: Godot moves to a new Foundation". Godot Engine. 1 November 2022.
  52. "Current Projects - Software Freedom Conservancy". sfconservancy.org. Retrieved 12 February 2023.
  53. Engine, Godot. "Major milestone ready for testing: Godot 4.0 alpha 1 is out!". Godot Engine. Retrieved 6 March 2023.
  54. Engine, Godot. "The next big step: Godot 4.0 reaches Beta". Godot Engine. Retrieved 6 March 2023.
  55. "Godot Release Versions". Godot Release Versions. Retrieved 10 May 2021.
  56. Clay, John (20 April 2023). "Release Management Post Godot 4.0". Godot Engine. Retrieved 20 April 2023.
  57. "Dev snapshot: Godot 4.1 dev 1". Godot Engine. Retrieved 8 May 2023.
  58. Engine, Godot. "Godot Engine - Introducing C# in Godot". godotengine.org. Retrieved 7 March 2020.
  59. Linietsky, Juan (3 February 2020). "Godot Engine was awarded an Epic MegaGrant". Retrieved 5 February 2020.
  60. Linietsky, Juan (8 June 2020). "Godot Engine - Donation changes". godotengine.org. Retrieved 25 September 2020.
  61. "Godot Engine - Godot Engine receiving support funded by Facebook Reality Labs". Godot Engine. 11 December 2020.
  62. "Godot Engine - Godot Engine receiving a new grant from Meta's Reality Labs". Godot Engine. 22 December 2021.
  63. "Godot Engine received a fresh grant from Facebook / Meta for XR work". GamingOnLinux. Retrieved 15 July 2022.
  64. "Godot Engine gains a $120K grant from game developer Kefir".
  65. Verschelde, Rémi (10 February 2021). "Godot Engine - Godot Engine receives $120,000 grant from game development studio Kefir". Godot Engine.
  66. "OPGames donates $300k to open source including Godot Engine and Blender". GamingOnLinux. Retrieved 15 July 2022.
  67. Suckley, Matt (15 August 2015). "OKAM Studio on empowering designers with Godot Engine's adventure game framework Escoria". PocketGamer.biz. Retrieved 29 December 2017.
  68. Brasseur, Vicky (16 August 2016). "Godot open source game engine helps power the future in West Virginia". Opensource.com. Retrieved 29 December 2017.
  69. Linietsky, Juan. "I find surprising that many users of commercial software feel annoyed and threatened by FOSS to the point of despectively calling it a "cult" or a "circlejerk"". Twitter. Retrieved 9 August 2022.
  70. Engine, Godot. "Godot Engine - Community". Godot Engine. Retrieved 28 April 2021.
  71. Yin-Poole, Wesly (4 September 2021). "Sonic Colours: Ultimate players report graphics glitches and bugs". Eurogamer. Archived from the original on 5 September 2021. Retrieved 6 September 2021.
  72. Ploeger, Dennis (27 March 2021). "Announcing EgoVenture". DEV Community. Archived from the original on 28 March 2021. Retrieved 28 March 2021.
  73. Emi (26 April 2023). "Godot Showcase - Cassette Beasts". Godot Engine. Retrieved 27 April 2023.
  74. "Godot Name". Godot Press Kit. Retrieved 9 May 2021.
  75. "Godot Engine - Download". Godot Engine. Retrieved 16 April 2022.
  76. "Godot Engine on Steam". Steam. Retrieved 16 April 2022.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.