About blender export to android appropriately maybe in 2.80 campaign?

This is an initial discussion more in my view as needed for blender to definitely work better with export to android since eclipse add on has become more complicated with many bugs because of the python (blender) X eclipse language conflict (android ) lua.Contribute suggestions even to the developers of the blender is already in the time of the blender to be bigger than it already is in the games category.


This looks to be a frequent subject of interest so it might be worth to explain that “it doesn’t work like that” :D.

Android is an operating system, like windows or linux (it is in fact a flavour of linux).
There is no such a thing as “exporting” a game - or the product of any application for that matter - to android.
What might be is what is commonly referred to as “porting”, which is nothing else than re-writing the same application for a different operating system.

In our case, the object of this re-writing will (probably) be the portion of blender that allows blender files to be played as games.

So the initial topic “about blender export to android” really is “about rewriting blender so that it works on android”.

There is an alternative, which is to pick an existing game engine that works on android and write an exporter for the game data defined in a blender file.

This is the same as asking “I want Unreal to read a blender file and play its content as it was a game”.

Even though blender has the worst file format one could think of (a memory dump), writing an importer would likely take less time than re-writing the entire game runtime for android.

There is a catch though, Python: if you write a blender game, sooner or later you end up needing a Python script. Because Python 3.X only runs on a python runtime, you also need to have that entire runtime on android, unless you want to write a dedicated python interpreter, something no one in his sane mind would even do, since Python doesn’t even have a specification to start with.

what about your jit compiler?

can you compile and run the py bindings using java?

(one for one remake each py function in java?)

[let me know if I have anything mixed up*]

There was a jit compiler but it was not mine, it’s a feature of some virtual machines. A jit is responsible for translating blocks of virtual machine code in architecture dependent sets of instructions, with the aim of speeding up the execution of the most frequently executed portions of some interpreted program.
While it might be a desirable feature to have, the presence of a jit has no impact on the ease of porting an application between platforms.
In the old experiment we’re (off topic) talking about, Python existed only at the game maker/user level, the generated scripts where translated into “bytecode”, which is the nick name for the set of instructions understood by the java virtual machine. The same would be if one were to use the .NET virtual machine or really anything in the world but the standard python interpreter.

I was thinking that python was not natively supported but I was just reading about -kivy

so it’s not python, or C specifically that is not supported, but the other libs?

Among the constants of the universe there is the fact that if a software advertises itself as being able to do X it certainly does “almost” X, and the part you really need is not the “almost” one.


could we 1for1 make Cpython commands in java?
call em with Jython?

(just trying to wrap my head around cross platform apps using py)

Jython is a Python 2.7 implementation, blender uses 3.X. It means that there is stuff you can write in a script for blender that jython won’t recognize as valid code.
There’s no problem writing cross platform code in python, as a matter of fact all general purpose programming languages are cross platform, unless one tries to take a shortcut through the api, the problem is the state of the implementation of the runtime in the destination platform.
Anyway I think we are going off topic here.

I’ve heard that Android app development was not limited to Java, its just that there is a very solid framework made for it (Java), and it just gets the job done for 99% of the apps one would want to make for mobiles.

But recently I heard about C/C++ programs for android, CPython can be compiled in C++ I think, so there would be no problems other than porting the BGE code for the Android C/C++ API, which is not as easy as it may sound.

As always, the problem is about who would be willing to spend a year or so making the port…

To be fair I don’t think trying to port the BGE in its current state to android would be a good idea.