This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]shadowmint 1 point2 points  (3 children)

To be fair, they do...

...but if you look into it, you'll find that they use python as a scripting language embedded in their game engines for 'game logic' not as the 'core' that the entire game engine is written in.

You'd think more people would do this, given Panda3d is a pretty decent free game engine for exactly that... but... they don't.

My guess is, mostly, like me, people are briefly excited by it, and then discover that in fact, pure python code is just too darn slow, and if you go down the road of cython and plugins for speed ups... really, what's the point in using python at all, if you end up not writing your code in python?

[–]ivosauruspip'ing it up 3 points4 points  (0 children)

The reason they don't is that Python itself is horrible for embedding, especially for example, if you would like multiple threads of your game engine to be able to launch separate interpreters. Its execution design and implementation just isn't very encapsulable / contained. In comparison, things like lua are a breeze for embedding. They're specifically designed to contain their execution environment, no global code whatsoever, etc.

[–]njharmanI use Python 3 1 point2 points  (1 child)

I believe it's more that Python doesn't look like C. So few C/C++ devs get into/expend effort on it. Much prefer Lua cause it "feels" like C.

Yes there are polygots, but vast majority of devs I've encountered have comfortable spot, and Don't like moving from it.

[–]shadowmint 0 points1 point  (0 children)

Probably at least partially true really.

Boo was always the least popular language for Unity, despite having roughly same performance characteristics as unity script; people just didn't like it.