Native Android export?

I don’t think the size would be a problem, if you look around, most development tools capable to export directly to APK all of them cost ‘only’ few GB’s to download and install, but I don’t think it would be a problem these days when the cheapest PC I can ever find got at least 16GB storage but if you are interested in games and game development probably you got few hundred GB of storage…
AGK2 actually takes only 800MB and I never had to install Android SDK and JDK to be able to export an apk from the tool :confused:

Anyway, I have Installed Android Studio and been able to write a simple app to render a HTML5 game made in GD using Android WebView :slight_smile: I got horrible performance, pretty useless :laughing: , but I like the fact I got the apk on my hard drive under 5 seconds, I didn’t had to upload anything and I didn’t had to wait so long for compilation, and I did come across a tutorial, how to replace Android WebView with Crosswalk in Android Studio, so I’m pretty optimistic on this one :slight_smile:

I’m less optimistic on this one :laughing:
If I can remember, 4ian would be more interested in using only Pixi.js and Three.js even on the desktop and turn GDevelop in to a HTML5 based tool more like Construct 2 is, but it was a long time ago when he was talk about this topic, maybe he’s changed his mind since.

:cry:
despite html5 have advanced much, it’s gonna take a while to have a great performance on Android devices.
It’s funny that GDevelop has a native compiler for PCs, and this is the device that don’t need a native compiler, since the NW.js performs well.
The good thing here is that GDevelop is open source, so we can adapt a native runtime for these platforms.

Which device doesn’t need to compiler ? :confused:

Computers :open_mouth:
I mean… you can create html5 games using GDevelop and use NW.js to run these games on PCs. There is loss of performance, but computers have sufficient processing power for this loss is not noticeable. That’s what I mean by “[…] this is the device that don’t need a native compiler…”
HTML5 games performs well on PCs, but sucks on mobile devices.So, would be nice if GDevelop native compiler compiles for Android too :wink:

My dream :mrgreen:

The native mode of Gdevelop is so far better from my point on view (performance analysis, extensions, stability). I keep reading stuff about tutorials on sfml to android export, and it seems really possible… Also the idea is the Trello roadmap.

But, even with SFML (which I successfully built for Android), we need the Android SDK and Android Studio to build the application.

Even with a hundred of MBs, the hability of generate android apps with good performance is a amazing plus for GDev, IMHO

It not a big dial, Unreal Engine 4 is a 4+GB download but it still requires on the top of that JDK and Android SDK to be downloaded, installed and configured manually in order to be able to export to Android. The option is there to export to Android, but it not gonna work until you get your hands dirty…
Even Android Studio requires to download, install and configure JDK (mess with the user variables) to get it working.
With a nice documentation I think it okay to put an Android export option that pops up a message about 3rd party software required and a link to the documentation to follow these steps…

I know, it not a nice and easy user experience in case you worry about that, but if I’m gonna get by end of the day what I need, which is native performance on Android using my favorite game development tool, it totally worth it to get my hands dirty. The only thing we need is an easy to follow documentation, a universal solution, step by step guide that works for everybody and everywhere. If you and 4ian able to release such a documentation along with an Android export option, in my opinion it worth it to include Android export option that way.

+1 ddabrahim, Victor, you were able to successfully compile to android a native project, i’m sure we are a lot interested into this,even if it’s technical/long and difficult !

Victor successfully compiled to Android a SFML sample, not a whole GDevelop native game. :slight_smile:
It’s another challenge to compile the game engine for Android. Also I’m not sure of the state of the Android port of SFML.

Yeah, this is the most worrying about it as I don’t follow the development of SFML and I don’t read the forums, but when I did a search on the forums about Android port, the only thing I’ve found was from the developers back from 2013 about the attempt to port SFML to Android is not as stable as they would like so they not gonna release it. Now, it was 2 years ago and I can’t find anything more up to date info on this. If it really that problematic even for the devs (community) of SFML, I don’t really expect anything in the near future :cry:

Instead, I try to be more optimistic on running HTML5 on Android really.
In my opinion, in the next two years even the cheapest smart phones and tablets going to be powerful enough to run HTML5 with no performance problems.
Actually, you can already buy pretty powerful devices from China for very low price, for example:
Lenovo A806 (golden warrior)
1.7GHz Octa Core CPU
2GB RAM
Mali-450MP4 700MHz GPU

On Ebay, you can buy this phone for about 120 Euro. For it price, this is pretty good in my opinion and Lenovo is a well known manufacturer in the PC industry, so it not even a ‘no name’ Chinese crap.
The only bad thing about it, most people in the world using less powerful devices of better known manufacturers such as HTC, Samsung and Sony.
But by looking at what the Chinese market has to offer today, I’m pretty sure in the next year or two it going to be no problem running HTML5 games even on the cheapest devices.

So, my current view on native Android export is that, I do want native export and support in GDevelop, but since it seems pretty complicated to add, it may would be better to focus on support for all the sensors you can find in a mobile device and other OS features, settings in HTML5. I know, Cordova can handle most of the things already, but at the moment, you need to use JavaScript to get it working.
It would be nice to have the events in GDevelop to get information from different sensors and Android OS itself, and be able to use that information (using expressions).
I don’t mean it as an out of the box experience, so I don’t want you to include Cordova plugins for example, but sort of prepare our HTML5 game to work out of the box inside IntelXDK with Cordova plugins enabled. So it may doesn’t work in preview, but if I import my project in to IntelXDK and activate the plugins, everything just works in my game without any further actions required… It would be great :slight_smile:

On my opinion the main problem of HTML5 is the lack of tons of effects(light and particules extension !). I just can’t imagine the amount of work for animations and optimizations to get the same visual aspect i have with native. Even, i also consider native mode is far better in GD actually : you can’t monitor performance on HTML game from what i know, and this is really really bad if you don’t have a clear vision of how does work events, wich ones need to launched one time or not.

The best way would be, if no native android/ios export are available, to support similar extension on HTML 5, particule system is really a must have.

It was actually a plan some time ago.
When 4ian was about to release GDevApp (gdevapp.com), he was all about HTML5, he was planning to bring HTML5 up to the level of the native platform regarding features and extensions, but later I haven’t seen any native features ported over to HTML5. The only features have been released since for HTML5 are export to IntelXDK, multi touch support, JS events, and AdMob object in the recent update. There are some more HTML5 features planned on the roadmap but for now even those features are only plans and nothing seems to be developed for HTML5 :frowning:

But fortunately, Pixi.js got some pretty cool features that we have access to in our games through JavaScript since the HTML5 platform in GDevelop is using Pixi.js.
pixijs.com/examples/

Some of them have been successfully used by the community inside GDevelop:
Filters

Particles

Video

I would really like to see those added to HTML5. And I’d personally like to see the multiplayer functions added too, because a lot of apps utilize that. (Clash of clans, angry birds 2, etc )

HTML5 platform has indeed still a lot of room for improvement. In my view, it’s already almost as good as the native platform and is my choice whenever I have to create a game with GD, because you can export your game to iOS/Android with it.
Of course you do not have particles/light system but this could be added later as soon as Pixi supports particles/light system that is proven to be robust and maintained. :slight_smile:

Native platform is still also maintained for now as it could be adapted for mobile if SFML is proven to be working on Android and iOS (for now, this state is a bit unclear). So the current goal is to make sure that HTML5 platform is as good as the Native platform (it’s even better on some point, like the support for ads). Then will see if there is a way to go full native on mobile, or if HTML5 performance are still growing on new devices :slight_smile:

Actually, Pixijs does support lighting, only experimental but in this demo by goodboy, it seems to work pretty good:
christmasexperiments.com/experiments/11/

Github
github.com/pixijs/pixi-lights

Anyway, Pixi.js got some pretty cool feature that would be great to be able to use in GDevelop without Javascript, such as: Filters, Normal mapping, Depth of field, Masking :wink:

That’s what 4ian said, “that is proven to be robust and maintained” means PIXI doesn’t support them in the master branch. It is not a good idea to write a new extension for GD based in a feature whose API is modified constantly, and you don’t know if they will decide to throw it all away the next day (probably no but is possible) :slight_smile:

Yes of course, I just wanted to point it out, lights are coming to Pixijs and already available as an experimental feature and there are some stable feature which is not offered in GDevelop but could be if it really just about to be a " robust and maintained" feature to be included in GD. :wink:
To me it very important to see something is in actual development (such as the lights in Pixijs), it helps me think positive :slight_smile:

Really, I believe GDevelop should have a beta or call it experimental version which would be a sort of playground for testing and sharing new experimental features which may or may not going to be available in the stable version.
The reason is, it more engaging to actually see something in action and be able to play with it (and see how it crash) then just talking about if it coming or not coming, when coming if ever coming if you see what I mean.
Just an idea…

And is a good idea, but with only two developers, they surely want to focus in things they know will stay in the software at least for a while :slight_smile:

forget about lights. Html5 games dont even support fuctions yet.