I use C++ as my language as choice. However, I generally use Python to write helper utilities and tools.
My worry is that as my game engine continues to grow it's getting tedious to reimplement some of its features in Python.
There has got to be a better way.
Here are the options as I seem them
- Keep on keeping on.
That is often the answer in a cooperate environment. Maybe it has some merit. - Build bindings for Python (yuck) and have it use pieces of the engine directly.
- Start building the tools using C++ instead.
I already use QT in the Python tools to provide a GUI when needed. It doesn't seem like it'd be that much harder to use QT in C++ instead. However I'm worried my tool productivity will go down. I generally strive to apply much less rigidity in tool code than I would in shipping code.
So what is common practice, use the same language for tools, or use a more RAD friendly one?
What if you use a language that differs from the language of the game which do you use?
How do tools interact with the game engine link to it directly or fake it?