Armagetron to mobile

What do you want to see in Armagetron soon? Any new feature ideas? Let's ponder these ground breaking ideas...
euro_ii
Posts: 2
Joined: Mon May 23, 2011 7:17 am

Armagetron to mobile

Post by euro_ii »

Hi all,
I wuld like to know if there is any porting of the project to mobile device running with the android os.

regards,
Matteo
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Re: Armagetron to mobile

Post by Tank Program »

I don't think any of the developers have an Android device, so nothing's been done.
Image
euro_ii
Posts: 2
Joined: Mon May 23, 2011 7:17 am

Re: Armagetron to mobile

Post by euro_ii »

I have it !!!!!
and I'm part of the qtambassador program .. so I'm looking for a program to port in the qt enviroment.

may I can have try to do something .. :-)

regards,
Matteo
syllabear
Shutout Match Winner
Posts: 1030
Joined: Fri Oct 13, 2006 1:37 pm
Location: UK/HK

Re: Armagetron to mobile

Post by syllabear »

euro_ii wrote:I have it !!!!!
may I can have try to do something .. :-)
I think what you mean is... well.. umm...

the what?
The Halley's comet of Armagetron.
ps I'm not tokoyami
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Re: Armagetron to mobile

Post by Tank Program »

Well, it would be cool seeing Armagetron on phones... And with respect to QT, well, our menu system is decidedly not designed for touch. A sort of wrapper/launcher might not be a bad idea. (And it's easy enough to get the master server list, so it could go straight into online play... armagetronad:// hooks in the UI, editing the config files... There's possibilities, but it probably would be a lot of work - starting with making sure it all works under OpenGL ES.)
Image
szopin
Average Program
Posts: 57
Joined: Tue Oct 21, 2008 7:12 pm

Re: Armagetron to mobile

Post by szopin »

Does anyone have voodoo's gles rewrite for 2.8? I would love arma in phone.
User avatar
voodoo
Core Dumper
Posts: 124
Joined: Wed Sep 27, 2006 11:51 am

Re: Armagetron to mobile

Post by voodoo »

What I've done was a quick and dirty conversion of gl immediate calls to vertex arrays calls. There were still issues with textures but FPS was far too low on a iPhone 3G anyway to expect anything correct even using vbo. You can find something in my junkyard but it's not even the last version with some vbo for static objects. IIRC, the main points were replacing glu (lookat or mipmap) functions calls, taking care of missing gl functions (as quad, polygon, etc) and missing colors/textures encoding. Other than that, it's still plenty of work to convert every rendering functions to gles compatible code.
And that was still incompatible with gl counterpart, except using vincent gles or anything similar.
That said, with current mobile device and compatibility between gles 2.0 and gl 4.1, that could be far more interesting now.
szopin
Average Program
Posts: 57
Joined: Tue Oct 21, 2008 7:12 pm

Re: Armagetron to mobile

Post by szopin »

I would like to try compiling it on maemo. GL seems the only problematic part. Maybe with OC to 1150 mhz this could be playable. Where can I find your junkyard?
User avatar
voodoo
Core Dumper
Posts: 124
Joined: Wed Sep 27, 2006 11:51 am

Re: Armagetron to mobile

Post by voodoo »

here
Good luck cause it's a bit of a mess...
szopin
Average Program
Posts: 57
Joined: Tue Oct 21, 2008 7:12 pm

Re: Armagetron to mobile

Post by szopin »

Managed to compile it (it was missing Makefile.in in main dir, though it seems to be not required for making from src).
Got a problem:

Couldn't set video mode: Couldn't find matching GLX visual
Couldn't set video mode: Couldn't find matching GLX visual
Error: Error in bool sr_InitDisplay() in render/rScreen.cpp:820 :

Sorry, played all my cards trying to initialize your video system.
Armagetron Advanced won't run on your computer. Reason:

Couldn't set video mode: Couldn't find matching GLX visual

I'll try again from the beginning, but the chances of success are minimal.

Any idea what is the reason?

EDIT: hell yeah. removed glmesa dev and mesa glx to install libgl1 7.1 RC (no dev for this one :/) and it starts. no keyboard focus but this should be fixable...

EDIT: fixed. got 6-8 fps on CTF map while spectating, on local 11-15. will have to OC and see.
is there any way of improving that by a person with no knowledge of open GL(ES)??? Or any GL->GLES tutorial? It is quite close to ~20 fps that should be playable to some extent (probably no CTWF, but still)

Thanks a lot voodoo btw, great job on this one
User avatar
voodoo
Core Dumper
Posts: 124
Joined: Wed Sep 27, 2006 11:51 am

Re: Armagetron to mobile

Post by voodoo »

Well, that's not such a great job otherwise you should be able to get more fps.
To improve things, you have to turn every vertex array to vbo and take advantage of all static part (rim walls, floor, ceiling, cycle model). You can also tweak textures as wrong textures parameters can have an important impact on rendering performance (at least on ios). The big work is probably on finite length cycle's walls to minimise vbo's stream...
szopin
Average Program
Posts: 57
Joined: Tue Oct 21, 2008 7:12 pm

Re: Armagetron to mobile

Post by szopin »

Sadly no luck on maemo forums. Not enough people know about GL->GLES it seems.
Idea: How about Arma version with totally up-down version for mobiles (SDL and many mobiles can work) with one pixel per bike/wall, like the minimap in 0.3.x so the gameplay is preserved. It's all about gameplay and challenge in walling someone off for me at least. No need for 3D views if you ask me. And should work on most mobiles. With so limited graphics it's all about tactics. Any thoughts?
szopin
Average Program
Posts: 57
Joined: Tue Oct 21, 2008 7:12 pm

Re: Armagetron to mobile

Post by szopin »

Sorry to revive this yet again, but while playing with tiles version of DCSS it turned out your GLES version was actually ported as GL (according to ldd), which considering software rendering is still impressive at ~10 fps. I tried to compile it once again using -lGLES_CM -lGLESv2 -lSDL_gles but sadly got:
libengine.a(libengine_a-eCamera.o): In function `eCamera::Render()':
eCamera.cpp:(.text+0x2b38): undefined reference to `gluLookAt'
librender.a(librender_a-rDisplayList.o): In function
`rDisplayListFiller::Stop()': rDisplayList.cpp:(.text+0xac): undefined
reference to `glEndList' librender.a(librender_a-rDisplayList.o): In
function `rDisplayListFiller::Start(bool)':
rDisplayList.cpp:(.text+0x18c): undefined reference to `glNewList'
rDisplayList.cpp:(.text+0x1dc): undefined reference to `glGenLists'
librender.a(librender_a-rDisplayList.o): In function
`rDisplayList::Clear(int)': rDisplayList.cpp:(.text+0x2a4): undefined
reference to `glDeleteLists' librender.a(librender_a-rDisplayList.o): In
function `rDisplayList::OnCall()': rDisplayList.cpp:(.text+0x388):
undefined reference to `glCallList'
librender.a(librender_a-rViewport.o): In function
`rViewport::Perspective(float, float, float)':
rViewport.cpp:(.text+0x4d4): undefined reference to `glFrustum'
collect2: ld returned 1 exit status make[1]: *** [armagetronad_main]
Error 1 make[1]: Leaving directory
`/media/mmc1/dev/arma/0.2.8-armagetronad-opengles/src' make: ***
[all-recursive] Error 1

Are these possibly convertible to GLES? With hardware acceleration this should easily get 30 fps and be fully playable.Hope I'm not boring you guys to death but arma in a traffic jam would simply rock.
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Armagetron to mobile

Post by Z-Man »

The glu functions and glFrustum are easy to replace, we're just using them because we're lazy. I bet sample implementations can be grabbed from the net.
Display lists are entirely optional, you can throw them out and just make sure they're not used (USE_DISPLAYLISTS=0 in settings, and sr_useDisplayLists=0 in rScreen.cpp in the code).
szopin
Average Program
Posts: 57
Joined: Tue Oct 21, 2008 7:12 pm

Re: Armagetron to mobile

Post by szopin »

So glad to see work is still done in the gles2 branch. Though when compiling it (protobuf has to be removed from configure, same with freetype, false negatives on maemo) I still get stuck at ftgl. Doubt iphone/pad port will comple on maemo, they are still in phase of 'planning' android port. Could possibly opengles branch become official GLES branch? Looks like fixing two calls can get this to all kinds of devices.
Post Reply