home home

downloads files

forum forum

docs docs

wiki wiki

faq faq

Cube & Cube 2 FORUM


Porting Sauerbraten to Android

by ProtoThad on 08/11/2012 05:42, 16 messages, last message: 04/25/2016 17:07, 9193 views, last view: 03/28/2024 23:44

I posted this in the general thread but did not get any response, so lets try in its own thread. I am planning to port Sauerbraten to run under Android. Mostly this will be a straight port of the C code using the Android NDK with only interface stuff moving to Java. Does anyone know if any work has already been done in this area? I don't want to reinvent the wheel or step on anyone's toes, but lacking any response from anyone else, I will be creating my own git repository and project web page shortly. I would be interested in contracting dot3labs to help in the effort, but so far my email in that regards has gone unanswered. I'll post here again when I get a little farther along on the effort.

   Board Index   

#1: ..

by kripkenstein on 08/11/2012 06:06

You would also need to port the GL code from the desktop GL that sauer uses to the OpenGL ES that is on Android. This is probably the trickiest part of the port.

We faced something similar with the WebGL port (WebGL is close to OpenGL ES 2.0). I'm happy to give advice based on our experience if that's helpful.

reply to this message

#2: Re: ..

by ProtoThad on 08/12/2012 00:46, refers to #1

Yes, I figured much of the work would be in porting low level graphics stuff. I\'ve got quite a bit of experience porting embedded linux and android code and even worked on the embedded Mesa3D port, so it won\'t be completely new territory, but I welcome any help I can get.

reply to this message

#3: ..

by kripkenstein on 08/12/2012 03:54

Ok, cool.

The main issue we had with the web port was deciding how to port the rendering code. We considered modifying the engine code or writing a translation layer. Modifying the engine code would give a faster result, but probably it would make the port a one-time thing, since getting further updates from upstream sauerbraten would be harder the more you diverge from it. In particular it means porting the new and super-cool Tesseract would be a new effort and not "for free".

We ended up writing a translation layer instead, and performance seems fairly good. (Ours is in JS but it would be possible to do something similar in C++ or just port ours.)

But I guess the question is, is this just a one-time thing or do you care about later updates, tesseract, etc.

reply to this message

#4: Re: ..

by ProtoThad on 08/14/2012 11:49, refers to #3

This is definitely not a one-time port, so it is sounding like a compatibility or abstraction layer of some kind is definitely in order. I'll give your project a look for ideas. Thanks for the suggestion.

reply to this message

#5: Re: ..

by baby~rabbit on 09/12/2012 07:34, refers to #4

You may want to investigate regal - an opensource OpenGL compatibility layer which targets iOS and Android platforms, and a bunch of others...

https://github.com/p3/regal/

reply to this message

#6: Re: ..

by Razgriz on 09/12/2012 19:29, refers to #5

holy shit, it's baby-rabbit! everyone has been looking all over for you!

Plus, people complain about some mac issues and such, you might wanna stick on irc for a while to help out :)

reply to this message

#7: ..

by Zamwa on 09/13/2012 02:33

It can work on tablets with honeycomb 3.0 and higher?

reply to this message

#8: Re: ..

by ProtoThad on 10/18/2012 22:17, refers to #7

I realize I sort of orphaned this thread for a while... but to answer the question of which versions I would support, I\'m thinking 2.3 and higher. That plan might change if I get into it and see a lot of advantage with doing 3.0+ only and see most devices manufactures moving that way.

reply to this message

#9: ..

by ultrasemen on 11/22/2012 08:51

I don't think Sauerbraten will be playable with touchscreen-controls. Are you making this port primarly for Android phones with real buttons?

reply to this message

#10: WebGL

by JayDoran on 11/27/2012 03:14, refers to #9

Didn\'t Kripken already successfully port the Cube 2 Engine to WebGL? It\'s my understanding that WebGL and OGLES 2.0 have very similar shader and renderer semantics.

According to the slight differences shown here:

http://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences

it shouldn\'t be that much extra trouble to port the WebGL compatible version of Saur to the Android NDK correct?

reply to this message

#11: Re: ..

by suicizer01 on 11/27/2012 09:51, refers to #9

You could always make the editor somewhat playable, as it only needs about 20 fps to actual edit. However, I doubt shaders would be supported properly on most phones.

reply to this message

#12: Re: WebGL

by suicizer01 on 11/27/2012 10:00, refers to #10

Is Cube Engine 2 using any shaders which specifies 3D textures? If so, then its not supportedfor OpenGL ES and may be needs a work around (as being stated).

reply to this message

#13: Port

by Catalin Stan on 04/20/2016 09:26

Hey,
I modified the engine code directly and most of the shaders work out of the box.

Works on Windows 10 too using Angle project

reply to this message

#14: Cube on Android 4.2

by Catalin Stan on 04/23/2016 03:03

http://catalinux.eu/img/

reply to this message

#15: ..

by chasester on 04/25/2016 17:03

Im interested on this too, is there any git or svn or src repository?

reply to this message

#16: ..

by Catalin Stan on 04/25/2016 17:07

look here:
http://cubeengine.com/forum.php?action=display_thread&thread_id=2709

reply to this message

   Board Index   


Unvalidated accounts can only reply to the 'Permanent Threads' section!


content by Aardappel & eihrul © 2001-2024
website by SleepwalkR © 2001-2024
53420220 visitors requested 71180153 pages
page created in 0.012 seconds using 10 queries
hosted by Boost Digital