Wondering about an android port


(General_Zod) #1

It would be cool to see this on android. Doom and quake already have android ports (hell, someone is even trying to port doom 3 to android). The source for this has been out a while. As android phones/tablets support mouse keyboard and some have hdmi out, it could be nice.

Just surprised no one has started this yet.


(Destroy666) #2

[QUOTE=General_Zod;405962]
Just surprised no one has started this yet.[/QUOTE]

Yea… there are just too few dead/almost dead projects/ideas so next ones should appear…
Not to mention Android port is the least important thing in a game with 2 version division, no fully working anticheat, halted in development closed source mods etc. So I really doubt someone will even start such project and I’m sure it wouldn’t get finished soon.


(Radegast) #3

Don’t know if you heard about Enemy Territory: Legacy project. In case you didn’t, we are trying to make an ET 2.60b compatible game with cleaned up codebase. The source code can be compiled on linux, Windows, AROS (separate project for now), OpenBSD and Mac OS X (experimental). It is based on the ioquake3 project which was also used as a base for the Android port you mentioned called kwaak3.

If you were able to follow what I just wrote :), then you can see that making a Wolfenstein: ET Android port is just a matter of copying changes from kwaak3 into ET:L. If anyone is interested in doing that, join us in our IRC channel #etlegacy @ Freenode.


(schnoog) #4

A port for ARM would be great (at least for all owners of Raspberry Pis)


(Indloon) #5

I wonder why you would even port it to Android.

The player controlling and shooting would be too hard.


(Dragonji) #6

ET on Android would be unplayable because of too low FPS…


(Mateos) #7

If they got Painkiller to run on it, why not ET… I agree with Indloon, but I don’t think FPS would be a problem, since you have a lower res etc


(Radegast) #8

I wouldn’t myself, but other people may do it simply for the fun of it if nothing else.

I think you both imagine Android runs only on some low-end mobile phones. Nowadays, there are double core or even quad core Tegra chips powering many Android devices, even laptops with keyboard and mouse and a gaming console called OUYA is in the making.


(Dragonji) #9

Following kwaak3:

Performance

Normally when you compile C/C++ code using the Android NDK, the compiler targets a generic ARMv5 CPU which uses software floating-point. Without any optimizations and audio Quake3 runs at 22fps. Since Quake3 uses a lot of floating-point calculations. I tried a better C-compiler (GCC 4.4.0 from Android GIT) which supports modern CPUs and Neon SIMD instructions. Quake3 optimized for Cortex-A8 with Neon is about 15% faster without audio and 35% with audio compared to the generic ARMv5 build. Most likely the performance improvement compared to the ARMv5 build is not that big because the system libraries of the Milestone have been compiled with FPU support, so sin/cos/log/… take advantage of the FPU.

One of my users also tested the game on his G1 but the device doesn’t have much RAM and the CPU runs is downclocked to a little more than 300MHz. In the timedemo it scores about 10fps without audio. In game (after some tweaking) it can reach upto 20fps in not so busy areas.

Another user managed to run Quake3 on his HTC Hero (see http://code.google.com/p/kwaak3/issues/detail?id=6).

Below are benchmark results of Quake3 with and without audio. All benchmarks are run using demo four at the default Quake3 settings: In case of the Milestone the resolution is 854x480 and the hero uses 480x320.

Performance can be improved quite a bit by tweaking Quake3 settings. Setting lighting to Vertex instead of Lightmap improves performs by 20% to more than 30fps in Neon mode without audio.

And as all of you know, ET provides much worse performance than Q3 :slight_smile:


(Mateos) #10

So, the question is: how many people would be interest by it, so it’s worth a try porting it?


(Indloon) #11

[QUOTE=Radegast;406128]
I think you both imagine Android runs only on some low-end mobile phones. Nowadays, there are double core or even quad core Tegra chips powering many Android devices, even laptops with keyboard and mouse and a gaming console called OUYA is in the making.[/QUOTE]

Yes,I do know about modern mobile CPUs and NVIDIA awesome chips!

Because I have kept my eye on rendering researches on OpenGL( mostly on Pixar, since their techniques for rendering are powerful and excellent, based on RenderMan, which is used in animation movies)! Some of them are for OpenGL ES, which is used for mobile platforms as iOS, Android. Unfortunately not for Windows Phone … bastard Microsoft.

[QUOTE=Dragonji;406142]
And as all of you know, ET provides much worse performance than Q3 :)[/QUOTE]

Yes, solution is: rewrite it. No idea why to stay on such old standards, if there are C++ programming language and lot of awesome object oriented APIs for best rendering such as Geomerics Enlighten, which is used for Frostbite 2 ( Battlefield 3 is based on that engine ) as lighting engine.

Just a video showing that Geomerics Enlighten lighting technique can be used in iPhone 4S, iPad and other modern Android devices.

//youtu.be/TkGc2GugeqM

( It was showed in SIGGRAPH 2012, who’s interested, Google :wink: )