First, honest: I haven’t used the BGE in a long time. I got bummed out by the deployment method and the whole “must use Blender stuff” problem. I tinker in C++ directly, instead. What struck me, though, is how realistic it would be to integrate an open source compiler (GCC is, isn’t it??) and have BGE translate GUI designed games into C++ code for compilation. Blender would effectively make fully executable files. Right? It would let Blender create entirely stand-alone games with fairly(!) optimized code… right? Has this ever been tried? It seems like doing a barebones version should be within the realm of possibility… right?
Well, first you can export the game with the engine as an executable, as all you should need to run your game is the
blenderplayer binary. Second, you cannot get away from distributing at least some part of the engine, just as a Unity game packs Unity code, same for all engines really.
Not blender per say, but once you run
gcc and compile and link everything yes, I guess.
But in this case, I think the executable wasn’t linked whatsoever to the BGE, but was a pure C application that Python interacted with using ctypes and co.
Ah, something I noticed last time I tried to make Python native extensions: The Python header files are generally missing from the builds I downloaded (be it Blender or UPBGE), which means that despite
pip being able to build sources on the client machine (avoiding you the trouble of distributing binaries for each platform), without the headers that doesn’t work. But that’s only an issue regarding Python native exts.
Can’t wait to see what you come up with.
I think you are talking about a code generator.
This is nothing new, even Python does that by translating your python code into byte code which gets translated to machine code of the individual processor.
Some BGE users wrote such generators to generate Python Code for game. They even generated logic bricks.
So yes, it is possible.
Fairly common idea is to use the node editor to model your game’s business (typically a state graph). This can generate any output you like. But it is up to you to write the generator.
If you want to generate C code and start a C compiler is surely not the big deal. You can even write a generator that generate files for other game engines. The generators can coexist.
Well, I just saw that the BGE is being euthanised. I guess it was coming, it would be a heavy investment to completely revise. I’ll be keeping my eyes on Armory 3D for Blender, it looks like it does all these things!