Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
First Person Shooters (Games) Cellphones Portables (Games) Games

Quake 3 For Android 137

An anonymous reader writes "Over the last two months I ported Quake 3 to Android as a hobby project. It only took a few days to get the game working. More time was spent on tweaking the game experience. Right now the game runs at 25fps on a Motorola Milestone/Droid. '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 Quake 3 runs at 22fps. Since Quake 3 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. Quake 3 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.''
This discussion has been archived. No new comments can be posted.

Quake 3 For Android

Comments Filter:
  • by TeamMCS ( 1398305 ) on Thursday February 25, 2010 @04:01AM (#31269582)
    I thought by the time we would have Quake 3 on a phone I'd be flying to work in my hover car. Imagine taking a trip back in time a few years and telling your younger self that Quake 3 would be [almost] playable on a cell phone - hopefully you wouldn't reply with a "whats a cell phone?"
  • Great job. (Score:2, Insightful)

    by ipquickly ( 1562169 ) on Thursday February 25, 2010 @04:01AM (#31269590) Homepage

    Q3 is still one of my favorite games. The first thought that came to my mind when I read this was

    "Do we have to hear about every case of someone porting something like this(doom,quake, etc)to a new device"

    But considering all the effort that you put into doing this, I must say that I admire your dedication and attention to detail.

    Great job.

  • Re:Not impressed (Score:5, Insightful)

    by Beelzebud ( 1361137 ) on Thursday February 25, 2010 @04:41AM (#31269758)
    Yeah and that is Epic Software doing that. They aren't exactly a hobbyist working without pay...
  • Re:Not impressed (Score:3, Insightful)

    by TrancePhreak ( 576593 ) on Thursday February 25, 2010 @06:58AM (#31270376)
    GPUs in these phones are more common with what was around during the Q3 times. They support OpenGL ES 1.0.
  • by Sir_Lewk ( 967686 ) <sirlewk@gmaRABBITil.com minus herbivore> on Thursday February 25, 2010 @08:22AM (#31270768)

    Those games (at least starcraft, I've never heard of the others) are not open source. The Quake 3 engine is. That is one of the benifits to open sourcing your old engines like iD does, your games will get ported to every platform in existance that can even remotely handle them.

  • Re:Not impressed (Score:2, Insightful)

    by tepples ( 727027 ) <tepples@gmail.BOHRcom minus physicist> on Thursday February 25, 2010 @08:31AM (#31270812) Homepage Journal

    If that is "Unreal 3", then it's a very, very stripped down version. It doesn't even look like it has pixel shaders, which removes all benefit to using it over the Quake III engine.

    Other than that you don't have to GPL your game, which you do if you use an ioquake3-based engine. And it's likely that Epic will make Mobile Unreal available at a lower price to current Unreal engine licensees.

  • by jgostling ( 1480343 ) on Thursday February 25, 2010 @11:10AM (#31272198)

    Unfortunately floating point numbers are required here.

    Not quite. When doing this stuff on a platform with limited or non existent floating point support you can always use fixed point arithmetic [wikipedia.org].


  • Re:Kudos! (Score:1, Insightful)

    by Anonymous Coward on Thursday February 25, 2010 @11:46AM (#31272624)

    I guess every platform has disadvantages. Android apps have to jump through hoops to use C libraries, and iPhone apps have to jump through hoops to get off the developer's box and onto actual hardware.

    I'm going to go wash my hands.

  • Re:Wow great job (Score:3, Insightful)

    by hazydave ( 96747 ) on Thursday February 25, 2010 @01:04PM (#31273736)

    Well, the iPhone 3GS sure outperforms the older PowerVR MBX-Lite use in all previous iPhones. The MBX-Lite used in the older iPhones does about 1Mpolys/second at the iPhone's 50-60MHz GPU clock speed.

    Some real benchmarks: Tap Tap (a big iPhone developer) found the 3GS about 4x faster in 3D applications:
    http://www.taptaptap.com/blog/iphone-3gs-blows-away-iphone-3g-in-3d/ [taptaptap.com]

    There is a THEORY that the GPU is an underclocked PowerVR SGX 535 (Intel calls this the GMA500), largely based on some #defines in the Apple SDK. And also because they include the VXD370 media accelerator, which has usually been coupled with higher-end SGXs. Of course, TI didn't need this, they have had their own media acceleration technology going back to before the DaVinci SOCs (what you find in most higher-end PMPs going back some years). This is a chip custom-made for Apple by Samsung, so in truth, unless Apple's talking, we may not know. The Anandtech article also postulates the SGX 520, but again, any number of core + clock speed combinations lead to the same answer.
    http://www.anandtech.com/gadgets/showdoc.aspx?i=3579 [anandtech.com]

    But a full SGX 535 runs at 200MHz and does 28 MPolys/s. Pretty good chance that's not what the iPhone 3GS is running -- there are no benchmarks showing even half of that performance. Most benchmarks show the 3GS running 3x to 7x faster at 3D, an assuming the faster CPU isn't part of that, you could get with an SGX 535 at 50MHz, an SGX 530 at 100MHz, or an SGX 520 at 200MHz. The real answer might be known to developers: the SGX 520 has a single Universal Scalable Shader Engine (USSE) pipeline, the others add multiple pipelines for additional performance. Not that you'd necessarily have this exposed in OpenGL.

    It is not debatable about the DROID/Milestone.. it contains OMAP 3430, which contains the PowerVR SGX 530 GPU core. TI quotes a peak of 10Mpolys/sec. which this chip at normal clock speeds; it's programmable, typically run in the 100-160MHz range (14Mpolys/sec is the peak you can expect with 200MHz clock). Of course, there are all sorts of folks boosting their DROID to much higher clock speeds, but this what you'd expect in stock performance. And it's quite possible there are still optimization issues in Android that no longer apply to the slightly more mature iPhoneOS.

  • Re:Kudos! (Score:3, Insightful)

    by Hurricane78 ( 562437 ) <deleted.slashdot@org> on Thursday February 25, 2010 @02:31PM (#31275292)

    Then again it’s completely useless, since >99% of the iPhone users could not install it anyway because of the lock-in. ^^

    The iPhone would be a cool phone... If it at least had half of the freedoms you have with any other smartphone on the market... (exchange the battery, install all software, run java (j2me+) apps, tons of small functions)

"If you lived today as if it were your last, you'd buy up a box of rockets and fire them all off, wouldn't you?" -- Garrison Keillor