Page 1 of 1

Materialize Labs Mobile app development & FreeOrion

Posted: Fri Jan 10, 2020 4:36 am
by DonCheetah
Hi, I'm interested in porting FreeOrion to mobile devices. Is there any documentaiton on this? Do you guy's plan on releasing a mobile version? (So that I won't have to spend time trying to port it).

Re: Materialize Labs Mobile app development & FreeOrion

Posted: Fri Jan 10, 2020 9:07 am
by o01eg
There were old thread https://freeorion.org/forum/viewtopic.php?f=24&t=5593

As I know no one working on it, so feel free to try.

Re: Materialize Labs Mobile app development & FreeOrion

Posted: Fri Jan 10, 2020 7:55 pm
by defaultuser
I'm not involved in the development, but I think it would be a substantial task. I don't think it's that easy to port C++ programs to mobile platforms.

Re: Materialize Labs Mobile app development & FreeOrion

Posted: Fri Jan 10, 2020 10:10 pm
by Ophiuchus
The most interesting part to port or reimplement is the client i guess.
Else you could try to crosscompile to wasm

Re: Materialize Labs Mobile app development & FreeOrion

Posted: Sat Jan 11, 2020 9:53 am
by Geoff the Medio
A major problem for porting the FreeOrion client to a mobile platform is that the client-server communication uses the C++ library Boost serialization. If you can't compile and use C++ libraries on another platform, then you'd need to find or implement a compatible serialization library. Then you could in theory connect a mobile client to a server and play a game.

Re: Materialize Labs Mobile app development & FreeOrion

Posted: Sat Jan 11, 2020 10:17 am
by o01eg
Geoff the Medio wrote: Sat Jan 11, 2020 9:53 am A major problem for porting the FreeOrion client to a mobile platform is that the client-server communication uses the C++ library Boost serialization. If you can't compile and use C++ libraries on another platform, then you'd need to find or implement a compatible serialization library. Then you could in theory connect a mobile client to a server and play a game.
There is a project https://github.com/moritz-wundke/Boost-for-Android which builds Boost serialization (I've tried it).

As we are going to replace FOCS syntax to python3 syntax we should try to build python libraries and enable boost-python in a build scripts above.

And most complex is to get Android compatible UI.

If we are going to have full game on the phone I think we will get more issues with the game state. I suppose on Android we have to load client, server and AIs into the same java process, and directly exchange messages without network (or even serialization), and because of high usage of global static variables it can lead to incorrect data exchange.

Re: Materialize Labs Mobile app development & FreeOrion

Posted: Sat Jan 25, 2020 7:37 am
by o01eg
I've managed to build python and boost with python support for Android: https://github.com/python-cmake-buildsy ... m/pull/262 and https://github.com/moritz-wundke/Boost- ... d/pull/190