GSoC 2012 Android Blenderplayer Port with OpenGL ES (2.0)

I’m not sure the final goal of this project.
Will this project allow a Blender game to be packed into an APK for Android Market distribution?
Will this be equivalent to Unity 3D or Shiva?
Maybe, someone can open source their final game, as a proof of concept.
Very excited.:eyebrowlift:

Finished writing documentation how to compile Blender for Android. Still, a little complicated and rough. I think I mention everything which is needed, but I could miss something. It is targeted for people who already built blender on linux.
http://wiki.blender.org/index.php/User:AlexK/Gsoc2012/Building_Blender_for_Android
For now it is just Blender Render. (you have to enable float points flag to get a good performance)
I’m available at #blendercoders for help.

Also, I started working on OpenGL code
http://www.pasteall.org/pic/show.php?id=32563
There is no lighting, no color/textures, and no global position/perspective.

ndee, CG_Tiger,
I didn’t yet decided on final distribution model. Probably we will have both. Blenderplayer on Android reads regular .blend file. So
a) We can have file/game selector
b) It can be package as APK
But blender player is about 16MB
Also, you have to compile Blenderplayer yourself
To change unique app name

Hi,
Excellent GSoC topic !
I was working last month on testing Blender/Python installation on Aakash Tablet (india), using a modified version of Android…
And i had the same questions at the beginning (as my fellows had): what part of blender we should look at ?

Of course, modeling 3D object on small screen + the touch are not really … just a non-sens for a 3d artist !
but the BGE and the use of the Api can bring a lot of interests !

Not only for games, but for educational purposes, …e.g. for creating sciences animation based on Py codes !!!

Well, for information, the Aakash Tablet is a project of Indian Governement to promote computing over the country, the price is around 1.500Roupies (22Euros). Thousands of these small devices will be distributed to school childrens…
http://www.theaakashtablet.com/wp-content/uploads/2012/04/Aakash-Tablet-2-Price.jpg

anyway, Blender is just the good tool even without the UI, maybe a minimal one should be fine ! and the portable devices is just at its beginning, no ? let’s see !

hope the best for your dev ! It will be awesome to communicate with blender on touch tablet !!!
bye

If this project is successful it will be a godsend. I think its the most important GSOC projects for blender out of all of them. I’m curious about game logic though. Is the plan to somehow use SL4A or PY4A remote procedure calls to talk back through JSON for game logic or can python run without the need for the PY4A project to go through rpc’s (ultimately java).

Maybe a better way to ask it is if python code is written in BGE, then compiled into and APK, does it rely on rpcs through java or no? It almost seems the Kivy version of python for android would be better for this with respect to being able to write python code for BGE/android/Player.

Thoughts?

Oh yeah, that’s the way to go. Great progress. Any further info you can give us Alex?

First Android Release

You need to have ARMv7 CPU (due to optimization in this release.)
You phone should support OpenGL ES 2.0

  1. Make sure that you are on WiFi or have unlimited cellular internet

  2. Install Python 3 on your phone Python3ForAndroid

  3. Open Python3ForAndroid and click Install. It will download needed files.

  4. Download blender.bla to the root of SD card (/sdcard/blender.bla)

  5. Download test.blend to the root of SD card (/sdcard/test.blend)

  6. Download Blenderplayer-release.apk and Install

  7. Run BlenderPlayer

P.S.
You can try your simple files, but it is tricky. Save them to the phone as /sdcard/test.blend
Android’s Blender player doesn’t choose mode automatically, so you have manually select GLSL when saving the file. Also disable shadings notes except for “Lights” and “Shaders”.

does not work on my Transformer Prime. Probably due to CPU being Tegra 3. Next time I guess!

Edit: Got it working - did not read step 2 closely enough.

It works for me in a Google Nexus phone =)

I posted a screen capturing and my sample file in my blog:
http://www.dalaifelinto.com/?p=507

So far the only problem is the lack of double-sided faces support, and the animation not playing all the times (I think it has to with the Logic Bricks I’m using).

Thanks Alex!

Wow… I mean… WOW, what a nice work and will make Blender digging into new areas to expand the business, great opportunity!!

Hello AlexKu
Amazing! is really great to see this important project going so well. ^^

You need to have ARMv7 CPU (due to optimization in this release.)
You phone should support OpenGL ES 2.0

And about ARMv6 ? Maybe w/ VFP, Some word about?
Many ARMv6 CPUs have OpenGL2.0 support and it’s a large android market share.

Anyway it’s great so far ^^

vitorbalbio, I planning to support ARMv6, but I need to recompile all libraries first. Probably I will do it in a few weeks when port becomes more mature.

looks great!! I will later test it on my acer iconia a510. It also has a tegra 3 chip. Will it be possible to bundle those in one installation file later?

Thumbs up for the tablet version. Android 4.0 ICS :smiley:

GREAT! I got a ics tablet, i need to test it!

GREAT! Its running here on HTC Desire S, Android 2.3.5.

impressive! i will test it as soon as possible!!!

All working fine on my Galaxy Tab 8.9 :slight_smile: Alex you rock!
(I also missed the very dark button ‘install’ in the Python app)

Even bullet works!
http://www.venomslab.org/test.blend

Pleased to report that it works wonderfully on my Kindle Fire.

Yeah… Works on my tablet. Unfortunately the animation does not work in dalais demo.
I use a acer iconia tab a510

Works here. ICS tablet!