3 ms·
I'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
by philipov 9y ago
I'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.
- philipov 9y agoGenerally, studios don't do it because it costs too much to hire those skills. Having advanced libraries available would open up what people can do without needing to hire PhDs, since it is much more demanding to hire someone who can build this stuff from scratch than someone with enough working knowledge to apply it. I agree that 3D first person shooters aren't a good fit for complex simulations. Complex simulation games, however, are. The AI for those tends to be really bad, and this makes them nothing more than rote optimization tasks, and not that fun. There is a lot of room for these tools in the strategy market for these tools, and "the norm" is predicated on those things not being available. Recent advances in machine learning such as style transfer have huge applicability to procedural content generation in games, but you better have access to python. With 99% of the games on steam being some lame platformer or survival clone, I do think these tools are needed so that progress can be made, so that better games could become the norm.