Android Bounty

Was trying to polish some more before a release and stopped for some time. =/.
Feels like a lot of duplicated effort like we’re talking…
Dunno if rdb thought I had nothing but the interest in collect the bounty, or didn’t see the post etc. Sounded like a bit of irony but I’m not a native speaker, so no judgement.

The good news is that we’re closer to android support. :wink:

EDIT: The image is big and disconfigures the forum.

I’m not interested in collecting any bounty, and I wasn’t aware that you were still working on it. I did announce last April that I was interested in doing a port later that year.

What you have looks great. My build is still extremely minimal, hacky and involves no Java, inputs, or shared libraries at all yet - would you be willing to share your code so that I could merge it with my own?

Yep. I know. I remember that. :wink: I was interested in the bounty as a way to be able to put time on it. Otherwise it would be slow development (as it turned to be, since no one seemed to get interested and I got some other priorities =/).

Thanks, how does it involves no shared libraries? o_O
Of course I can share the code, but, as I warned, it’s now a mess.

Hi again!
rdb, I’m sharing what I have so far:
I cleaned the project and put it there

Any doubts, please ask. :wink:

Sorry for the flood.
I uploaded a video of a little test running on a phone:

Wow, that looks great already. So what is implemented and what’s still missing?

A little update with user input (very very basic):
If anyone wants to test the apk: … anda3d.apk

Well, the androiddisplay I made is pretty messy, just to get something rendering. I guess rdb did a pretty competent job there, handling even user input (he showed some code and I decided to test (video above)).

I guess time is a issue for both of us…
Nemesis#13, We (rdb and I) talked a little and I think when he have the time he’ll try to commit his project. I guess the next steps is to try to integrate some of my code, play with the asset loading, improve the input handling and keep polishing to make it easy to integrate with games and so…

Maybe rdb is more recommended to tell about the next steps than me.

I’ll try to help as/if/when time allows =)

Xperia Arc running Android 2.3.
Doesn’t always start up (hangs), but when does it works and runs at around 30 fps. Well it’s a start. :slight_smile:

BTW, can we port our Python games or is Python still not supported in Android?

Won’t start on a cheap tablet I happen to own…but the same goes for Firefox for Android on this hardware.

There are (unofficial) Python ports for Android. Currently, I’ve only been looking at getting the core rendering stuff working, but of course Panda is not Panda without Python.

The end goal for me is not to have a full-fledged SDK for the Android platform, but to allow people to run .p3d packaged games on an Android device. This means that you’ll be able to convert a .p3d file into an .apk file to put on Google Play.

I integrated the asset loader yesterday, so now you can directly load assets packaged in the .apk file through the virtual file system.

After I polish off my rendering module, I suppose the next steps will be to add support for Android’s image loader and video loader, adding support for audio output through OpenSL ES or OpenMAX, getting it to work with a Python port, and porting the runtime. Minor goals are support for webcam and microphone input, and a mechanism for handling multi-touch events and accelerometer events. (It would be cool to see a Ball in Maze sample that actually uses the accelerometer!).

It’s something I worked on during my vacation, though, so I won’t have all that much time to spend on it; but I’ll try to clean it up and commit it so that others can have a stab at it.

HTC One, running Android 4, starts up and runs at around 20FPS

Would be nice to also be able to access files outside of the apk. Larger games do that.

preusser, I guess there’s no problem to read files outside of the apk too on rdb’s code. The difference from mine is that I could only read from outside the apk (since I didn’t want or had the knowledge to make the reading from apk in a quick way). So I “extracted” on the first run all the content from the apk to the external storage.

I guess large games did that because of the 50MB apk limit. Maybe it’s not an issue anymore since there are two apk extensions now (4GB).

About the performance, when I don’t put the text on the the card every frame, the performance increase and cap 60 here (so I didn’t know much). Maybe I made it wrong. And that’s a no optimized version of the library because I was developing and want to be possible to debug (although the debug symbols is stripped from the last apk).

But as I said, I have little time and rdb’s code is more complete than mine in several aspects. So I’ll wait until he commit and a first integration can be possible and see what I can help =)

Well… I compiled with Opt4 and I put 100 Pandas in scene:
Got 45fps on emulator =)

Please, can you guys test again? … anda3d.apk

100 Pandas = 30FPS

You’re awesome.
But it doesn’t seem to work on my Samsung Galaxy Ace.
The screen gets black and the bar on top flickers once a while.
now it works!!
i don’t know how many pandas there are, but gets like 18fps, when i move it drops to 11

recent apk file, 19-30fps avg: 20fps

droid x2 running cyanogen mod 9 (unofficial due to my phones locked boot loader)

Just a question, is there supposed to be only one panda that rotates?

Yes. Just made a quick “for” to test and left the other rotating panda there… =)

Wow, so including myself that’s at least three people working on the exact same thing then.
Damn that’s incredibly frustrating.


why dont you all join forces?
sounds like a good idea to me.