Software:Godot (game engine)

From HandWiki
Revision as of 10:49, 14 February 2021 by imported>JMinHep (url)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Godot Engine
Godot logo.svg
Godot 3.1 screenshot.png
A screenshot of the editor in Godot 3.1
Original author(s)Juan Linietsky, Ariel Manzur
Initial release14 January 2014; 10 years ago (2014-01-14)[1]
Stable release
3.2.2 / 26 June 2020; 3 years ago (2020-06-26)[2]
Preview release
3.2.3 beta 1 / 15 July 2020; 3 years ago (2020-07-15)
Written inC, C++[3]
Operating systemWindows, macOS, Linux, FreeBSD, OpenBSD, Haiku[4]
PlatformLinux, macOS, Windows, BSD, Haiku, iOS, Android, HTML5, WebAssembly, Xbox One, Universal Windows Platform
Available inMultilingual
TypeGame engine
LicenseMIT License
Website{{{1}}}

Godot is a 2D and 3D, cross-platform, free and open-source game engine released under the MIT license. It was initially developed for several companies in Latin America prior to its public release.[6] The development environment runs on multiple operating systems including Linux, macOS, and Windows. Godot can create games targeting PC, 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 (art assets, music, etc). The engine's architecture is built around the concept of a tree of nested "scenes". 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.[7]

The engine supports deployment to multiple platforms and allows specification of texture compression and resolution settings for each platform. Currently, supported platforms include Linux, macOS, Windows, BSD[8], Android, iOS, BlackBerry 10, HTML5, and WebAssembly.[9] There is also Windows Runtime (WinRT) and Universal Windows Platform (UWP) support.[10]

Scripting

Games using Godot can be created with a variety of programming languages including C++, C#, and any other language with GDNative bindings such as Rust, Nim, and D.

Godot also has its own built-in scripting language, GDScript,[11] a high-level, dynamically typed programming language very similar to Python. Unlike 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 such as Lua, Python, and Squirrel were tested before deciding that using a custom language allowed for superior optimization and editor integration.[12] The engine also supports visual coding via its own built-in visual programming language VisualScript.[13]

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

Rendering

Godot's graphics engine uses OpenGL ES 3.0[14] for all supported platforms; otherwise, OpenGL ES 2.0 is used. Future support for Vulkan is being developed. The engine supports normal mapping, specularity, dynamic shadows using shadow maps, baked and dynamic Global Illumination, and full-screen post-processing effects like bloom, DOF, HDR, 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.[15] The engine uses Bullet for 3D physics simulation.[16]

Additional features include:


History

Godot's development was started by Juan 'reduz' Linietsky and Ariel 'punto' Manzur in 2007.[17][18] Linietsky stated in a presentation that 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.[19] In February 2014, the source code for Godot was released to the public on GitHub under the MIT License.[20]

On 15 December 2014, Godot reached version 1.0, marking the first stable release and the addition of lightmapping, navmesh support, and more shaders.[21] 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.[22] The then-new 2D engine included shaders, materials, independent Z ordering per node, lights, shadows with polygonal occluders, normal mapping, and distance-field font support. Godot joined the Software Freedom Conservancy on 4 November 2015.[23]

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

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.[9] Later, with Miguel de Icaza's support, Godot received a $24,000 donation from Microsoft to implement C# as a scripting language in Godot.[26]

Version 3.0 was released on 29 January 2018, adding a brand new PBR renderer implemented inOpenGL ES 3.0, virtual reality compatibility, and C# support (via Mono).[16] Version 3.0 also replaced the engine's built-in 3D physics back end with the Bullet physics engine and was the first version of Godot to be included in Debian.

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.[27]

Usage

Many games by OKAM Studio have been made using Godot, including Dog Mendonça & Pizza Boy, which uses the Escoria adventure game extension.[28] 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".[29]

See also

References

  1. Linietsky, Juan (2014-01-14). "Godot Engine - First public release!". https://godotengine.org/article/first-public-release. Retrieved 2019-07-01. 
  2. Verschelde, Rémi (26 June 2020). "Maintenance release: Godot 3.2.2". https://godotengine.org/article/maintenance-release-godot-3-2-2. Retrieved 27 June 2020. 
  3. "The Godot Game Engine Open Source Project on Open Hub". https://www.openhub.net/p/godotengine. Retrieved 30 July 2015. 
  4. Engine, Godot. "Godot Engine - Features" (in en). https://godotengine.org/features. 
  5. "godotengine.org Traffic, Demographics and Competitors". https://www.alexa.com/siteinfo/godotengine.org. 
  6. 6.0 6.1 Linietsky, Juan. "Godot 2.0: Talking with the Creator". http://80.lv/articles/godot2-interview/. Retrieved 18 June 2016. 
  7. "File system". https://docs.godotengine.org/en/latest/getting_started/step_by_step/filesystem.html. Retrieved 2019-07-20. 
  8. "FreshPorts – devel/godot". http://www.freshports.org/devel/godot/. Retrieved 29 December 2017. 
  9. 9.0 9.1 "Mozilla Awards $385,000 to Open Source Projects as part of MOSS "Mission Partners" Program". https://blog.mozilla.org/blog/2016/06/22/mozilla-awards-385000-to-open-source-projects-as-part-of-moss-mission-partners-program/. Retrieved 17 October 2016. 
  10. "Compiling for Universal Windows Apps". https://docs.godotengine.org/en/latest/development/compiling/compiling_for_uwp.html. Retrieved 2019-07-20. 
  11. GDScript
  12. "GDScript basics: History". https://docs.godotengine.org/en/latest/getting_started/scripting/gdscript/gdscript_basics.html#history. Retrieved 2019-07-20. 
  13. "VisualScript — Godot Engine latest documentation". https://docs.godotengine.org/en/latest/getting_started/scripting/visual_script/index.html. 
  14. Linietsky, Juan (26 February 2018). "Moving to Vulkan (and ES 2.0) instead of OpenGL ES 3.0". https://godotengine.org/article/abandoning-gles3-vulkan-and-gles2. Retrieved 28 July 2019. 
  15. "Animations". https://docs.godotengine.org/en/latest/getting_started/step_by_step/animations.html. Retrieved 2019-07-20. 
  16. 16.0 16.1 Larable, Michael (29 January 2018). "Godot 3.0 Open-Source Game Engine Released". https://www.phoronix.com/scan.php?page=news_item&px=Godot-3.0-Released. Retrieved 30 January 2018. 
  17. StraToN. "SteamLUG Cast". https://steamlug.org/cast/s04e05. Retrieved 18 June 2016. 
  18. reduz. "Godot history in images!". http://godotengine.org/article/godot-history-images. Retrieved 18 June 2016. 
  19. "Juan Linietsky presentation of Godot at RMLL 2015 in Beauvais, France". 7 July 2015. http://video.rmll.info/videos/introduction-au-moteur-godot/. 
  20. liamdawe (14 February 2014). "Godot Game Engine Is Now Open Source". http://www.gamingonlinux.com/articles/godot-game-engine-is-now-open-source.3096/. 
  21. Linietsky, Juan (2014-12-15). "Godot Engine Reaches 1.0, Releases First Stable". https://godotengine.org/article/godot-engine-reaches-1-0. Retrieved 2019-07-01. 
  22. Linietsky, Juan (2015-05-21). "Godot 1.1 Out!!". https://godotengine.org/article/godot-1-1-out. Retrieved 2019-07-01. 
  23. "Godot Game Engine is Conservancy's Newest Member Project". https://sfconservancy.org/news/2015/nov/04/godot-joins/. Retrieved 13 November 2015. 
  24. Linietsky, Juan (2016-02-23). "Godot Engine Reaches 2.0 Stable". https://godotengine.org/article/godot-engine-reaches-2-0-stable. Retrieved 2019-07-01. 
  25. Linietsky, Juan (2016-08-09). "Godot Reaches 2.1 Stable". https://godotengine.org/article/godot-reaches-2-1-stable. Retrieved 2019-07-01. 
  26. Engine, Godot. "Godot Engine - Introducing C# in Godot" (in en). https://godotengine.org/article/introducing-csharp-godot. 
  27. Linietsky, Juan (3 February 2020). "Godot Engine was awarded an Epic MegaGrant". https://godotengine.org/article/godot-engine-was-awarded-epic-megagrant. Retrieved 5 February 2020. 
  28. Suckley, Matt (15 August 2015). "OKAM Studio on empowering designers with Godot Engine's adventure game framework Escoria". http://www.pocketgamer.biz/news/63746/empowering-designers-with-adventure-framework-escoria/. Retrieved 29 December 2017. 
  29. Brasseur, Vicky (16 August 2016). "Godot open source game engine helps power the future in West Virginia". https://opensource.com/education/16/8/godot-open-source-game-engine. Retrieved 29 December 2017. 

External links