4 ms·
I can't say enough good things about this project. In particular I love GDScript. It's a lot like Python and it makes the cost of learning the engine negligible
by fartcannon 9y ago
I can't say enough good things about this project. In particular I love GDScript. It's a lot like Python and it makes the cost of learning the engine negligible.
You can also use C++, C# and a visual scripting language to make stuff. There's also community support for python and some other languages.
It's hard to believe that it's a 20mb when Unity is 1.5gb.
- zerr 9y agoHow is C++ support? Is it really first-class? AFAIK Atomic Game Engine supports C++ as a first-class citizen.
- mraler 9y agoIt's first-class. They don't exactly encourage scripting in it (which makes sense I think) but you can do what you want really. The engine itself is written in C++, and you can extend/modify it if you want since it's open source and all.
- earenndil 9y ago> There's also community support for python and some other languages There appears to be semi-official support for D[1] and Rust[2]. I also found some bindings for Nim[3]. However, since c# is supported, you can probably (?) also just use any language that runs on .net[4]. 1: https://github.com/GodotNativeTools/godot-d https://github.com/GodotNativeTools/godot-d 2: https://github.com/GodotNativeTools/godot-rust https://github.com/GodotNativeTools/godot-rust 3: https://pragmagic.github.io/godot-nim/v0.5.2/ https://pragmagic.github.io/godot-nim/v0.5.2/ 4: https://en.wikipedia.org/wiki/List_of_CLI_languages https://en.wikipedia.org/wiki/List_of_CLI_languages
- giancarlostoro 9y agoNot just Rust and D but through GDNative you can load any native code from any language that compiles natively and run it as a "plugin" hence D and Rust were added in by community members.
- philipov 9y agoI'm a python programmer, and I've tried GDScript, and the extent to which it's like python was disappointing and superficial. It's missing most of the features which make python worth using, such as decorators, generators/coroutines, comprehensions, context managers. Especially the lack of generator-based context managers was a big deal. But the real dealbreaker was not being able to use the pydata stack, as much of the power of python is its rich library support. If I can't use SciPy to do the heavy graph algorithms and voronoi calculations and statistical models, what's the point? That said, the introduction of GDNative and touilleMan's godot-python extension is a game-changer (pun intended), and I'm looking forward to diving in now. [0]: https://github.com/touilleMan/godot-python https://github.com/touilleMan/godot-python
- fsloth 9y ago"If I can't use SciPy to do the heavy graph algorithms and voronoi calculations and statistical models, what's the point?" Some could claim that that is not really what 3D engines are for. Large systems are better built from distinct parts. A large statistical calculation would not be a graphics computational job (unless you load it to the GPU).
- philipov 9y agoGDScript has nothing to do with graphics. It is for building game logic, and having access to powerful math libraries is important for things like map representation and pathfinding (voronoi and graphs), or running the game simulation without having to naively step through every actor (statistical models). And then there's stuff like PyTorch or scikit-learn for building higher-power AI, or even just basic clustering and classification. Being able to use the full depth of libraries in the python ecosystem is the reason I've been looking for a game engine that supports python. The ones where the entire engine is written in python just don't cut it and lack documentation/features, and now that Godot finally has python support, it's a winner.
- fsloth 9y agoSure, you have your use cases, but generalizing those over the needs of game makers is a bit of a stretch. Games don't need advanced statistical models to be entertaining. Rather, simple-and-tweakable-for-entertainment is generally the norm. This is what I mean: https://www.polygon.com/2017/9/2/16247112/video-game-developer-secrets https://www.polygon.com/2017/9/2/16247112/video-game-develop... https://www.rockpapershotgun.com/2017/04/03/why-fears-ai-is-still-the-best-in-first-person-shooters/ https://www.rockpapershotgun.com/2017/04/03/why-fears-ai-is-... I'm not saying you couldn't use advanced scientific and engineering tools to do games but that generally people don't.
- nrjames 9y agoMy understanding was that they were going to have full support for Python 3 in the 3.0 release. Not sure if that survived the last 6 months. https://godotengine.org/article/beta-release-python-support https://godotengine.org/article/beta-release-python-support
- baldfat 9y agoI think the best thing for people to do is to program a simple game or two and see that the need for full python support is really not needed. In Godot you are scripting elements.
- DisownedWheat 9y agoFrom what I recall they decided against full Python support in favour of a C "API" that people can bind their favourite languages to. There's already Python, Nim, and D as well as some early support for Rust.