BlitzX - Now on Android!


Tweet 3d android blitz3d mobile blitzx
(Posted 3 months ago) RonTek

It's alive! (yet again) now on Android and mobile!

It might take a while to first load on most devices (10 - 15 seconds), succeeding launch will be an instant unless reinstalled. It's funny how it just took a couple of seconds to initially load on my old Mali gpu powered phone.

Image

Here's an interactive demo where it showcases basic touch controls.

BlitzX - Android Demo Download

http://s000.tinyupload.com/index.php?file_id=06437564939164487325

Instructions: Press or Touch anywhere on your device screen to random change the zombie's EntityColor!

Image

(Posted 3 months ago) markcwm commented:

Great job Rontek!

I like your BlitzX icon, a nice touch. I tested in 5.1 and while installing got a message "Blocked by Play Protect - This app was built for an older version of Android and doesn't include the latest privacy protections - Install Anyway/OK" it's not a problem but do you get that? What minimum version will it run on? The touch works with a small grey circle appearing and the zombie animates but is too fast. I also tested uninstall and reinstall which worked.

(Posted 3 months ago) RonTek commented:

Thanks Mark!

Yes, it is quite normal that you would get the Play Protect block since it is from an external source. I am getting the same as expected. The minimum version is 4.4.x but can be lower than that with at least OpenGL ES 2 support. I will post more details regarding this on my worklog soon.

I do get the grey circle if I turn on the developer option "Show taps", but it is turn off by default. Did you turn it on? I have 4 tested devices (4.4, 5.0 and 8.0 plus another 4.4 emulator)

As for the animation, I did speed it up a little but not sure how fast you are seeing. I could perhaps post a short clip and compare if you are getting the same speed. I have also not implemented a flip or vsync function yet so this could also help with that.

Thanks for trying this out. The icon should be good to go but needs a few final touches. btw, did you experience any loading delay (blank screen) on the first run?

(Posted 3 months ago) markcwm commented:

Okay, looking at the docs it says GLES 2.0 support on Android 2.2 (API 8) and GLES 3.0 on Android 4.3 (API 18).

Angelo made Openb3d work with Emscripten, which it says here is a WebGL-friendly subset of OpenGL ES 2.0/3.0 (and that WebGL 1 is equivalent to ES 2 and WebGL 2 to ES 3). So it's possible to support ES 2 but is it worth it? As far as I can see, anything not powerful enough to run Android 4 is not going to be in use today.

Yes, I have "Show touches" enabled on that phone. I have another phone I just tested it, it's Android 7.0 and it works fine but when installing I get this message "Send app for scanning? Play Protect hasn't seen this app before. To protect yourself and others, send it for a security scan".

On Android 7.0 the app takes about 10 sec to load on first run (blank screen) and the zombie animation plays through all animations in about 7 sec. On Android 5.1 it loaded about the same on first run and now takes about 1 sec even if I reboot, the zombie animation plays all frames in about 7 sec again. In Blitzmax I always used CreateTimer() but since you probably don't have that you could use Delta timing, KippyKip gave me some code for that but I haven't added it to Openb3dmax yet. I'll have to do that.

(Posted 3 months ago) markcwm commented:

Are you using SDL for handling graphics and system? If so here's a tutorial on timers and also for timer callbacks. Blitzmax NG has an SDL timer module which keeps it like desktop Blitzmax timer.

(Posted 3 months ago) RonTek commented:

Ah great, I got the same speed around 7 secs so yes this is normal. Yes, adding a built-in Delta timer function would be nice as well.

I actually managed to use only Android's C/C++ native app glue and activity functions to get it up and running. I thought of keeping it this way as planned to make it simple and steer away from making the code base complex.

I am also looking into sdl2 or preferrably glfw3 when eventually it is needed for extending or getting more features.

(Posted 3 months ago) markcwm commented:

Well, I added KippyKip's Delta time example to the Openb3dmax docs but it may not be much help as it also uses the BRL-style timer system, basically UpdateSpeedFactor is called every loop then everything moving/rotating is multiplied by the Delta time speed factor, it's also then passed to UpdateWorld for animations.

(Posted 3 months ago) hardcoal commented:

what is blitzx and where can i download it

(Posted 3 months ago) RonTek commented:

Well, I added KippyKip's Delta time example to the Openb3dmax docs but it may not be much help as it also uses the BRL-style timer system, basically UpdateSpeedFactor is called every loop then everything moving/rotating is multiplied by the Delta time speed factor, it's also then passed to UpdateWorld for animations.

that is awesome Mark will check it out! I have done some sort of delta timer before and this was a FPS game that I have worked on. I think the mechanics are somehow similar in adjusting movement and animation speed depending on system frame rate.

what is blitzx and where can i download it

hey I thought for someone who's active here you are missing out on my worklogs:

https://www.blitzcoder.org/forum/topic.php?id=442

https://www.blitzcoder.org/forum/topic.php?id=127

it is still in development though

(Posted 3 months ago) hardcoal commented:

lol .. yea , im only concentrating on what i need in general.
so im not that active
but now im so glad i so that

(Posted 3 months ago) Grindalf commented:

Hi everybody I think this is my first post here(Im a lurker) so quick question. Will this run unaltered(or at least small alterations) Blitz3D code?

(Posted 3 months ago) RonTek commented:

Hey Grindalf, Welcome to forums and great to hear from you! Awesome work btw on your Grimoire of Worlds game!

Yes, the syntax will almost be like Blitz3D since that is the main objective from the start with small to very small modifications. The ultimate goal is really 1:1, even if it takes to replicate outdated DX7 and other functions and perhaps replace them with shader counterparts. There is of course C/C++ support like userlibs (and more) and eventually other language bindings like C#. 2D features are currently basic and rely mostly on 3D sprite functions but could eventually have it as separate and support them all.

cheers.

(Posted 3 months ago) Grindalf commented:

Thanks for the welcome. Im going to be watching this, it will give me hope for the future :D

Reply To Topic (minimum 10 characters)

Please log in to reply