A talented programmer known as thunderbird2k has successfully ported Quake 3 to the Android OS.
“When I received a Motorola Milestone phone, I wanted to get into Android development. I had seen ports of Quake3 to the iPhone and the N900 which have similar specifications (all use a similar CPU and the PowerVR GPU), so I thought why not bring Quake3 to Android,” explained thunderbird2k in an official project post.
“As a start point I used the N900 version of ioquake3. It only took me a day to get the game to compile and to load the Quake3 main-function. After that it took me a few more days to get OpenGL and some input working. In the weeks following the initial port I added touchscreen support, networking and sound.”
According to thunderbird2k, Quake3 is optimized for the Cortex-A8 with Neon – and runs approximately 15 percent faster without audio (35 percent with) 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,” he noted.
“[However], performance can be improved quite a bit by tweaking Quake3 settings. Setting lighting to Vertex instead of Lightmap improves performs by 20 percent to more than 30fps in Neon mode without audio.”