Feb 23 AT 11:44 PM Taylor Wimberly 43 Comments

Android Bounty: Fully working Quake 2 and 3 ported to Droid

Does anyone remember our Android Bounty promotion? I wanted an Android app that could scan UPCs and generate Torrent results so I devised a plan to make it happen. We offered a bounty of $90 and a developer Alec Holmes came through with the winning app about one month later. I purposely chose a controversial subject like Torrents to get some attention and it paid off with some buzz.

The Android Bounty idea was so popular we turned around the next month to see if we could bribe someone to port a fully working copy of Quake to Android. It was an ambitious project for sure, but several developers tried their hand at the challenge. This spawned a wave of Doom and Quake ports, but iD Software didn’t like people distributing their work on the Android Market and the pulled the apps down.

I was starting to think we would never see a fully working port, but two new developers have stepped up to the plate and are working on open sourced projects.

First we have developer Julien who is working on a port of Quake 2. His project is called Quake2Android and he just released the source code. He claims network games are working and he even implemented touch and accelerometer based controls. It will play on first gen phones like the G1, but a Motorola Droid is suggested for a playable frame rate (30-40). Unfortunately it does not work on the Nexus One yet, but the dev has invited those who can help to jump on board.

I loaded Quake2Android on a Droid and it ran quite well. The frame rate hovers around 30 fps and jumps to 50 in smaller parts of a map. Even when the action gets intense with multiple players, the Droid is able to keep it playable at over 30 fps.

Next we have developer Thunderbird2k who has ported Quake 3 to the Droid in a project he is calling kwaak3. It took him about a day to compile and to load the Quake3 main-function and then he spent the next few weeks adding support for touchscreen input, networking and sound.

I installed and setup kwaak3 on a Motorola Droid just to see if the game was playable. To my surprise it ran around 20-30 fps, but that was on a small map with only two players. On larger outdoor maps with four players, the frame rate dropped considerably. This project is also open source and I’m sure it can be improved with some contributions.

Conclusion of the bounty?

I really liked the Android Bounty concept, but the Quake game was such a bad idea because of the scope of the project. We never found a true winner and it faded away into darkness.

No action happened for a long time and I honestly forgot about it until the developer Julien emailed me with Quake2Android. After testing his app on a Motorola Droid I can see he met all the requirements of the original bounty.

Even though this entire project did not materialize as I envisioned it, I’m still a man of my word and I’m going to award the bounty to Julien for Quake2Android.

Now that both of these projects are open source, the community can take them and improve them as they see fit. I still don’t know if fast paced, first person shooters are going to be enjoyable on a smartphone, but maybe someone can produce a game that shines.

I’m really just happy to close this chapter in the Android Bounty saga. We still believe it is a great idea and it will be making a return in an overhauled fashion. I think we learned our lesson about picking app ideas that are too ambitious and we will try to focus on more specific apps in the future (and ideas that do not infringe on intellectual property).

This slideshow requires JavaScript.

Via: Phoronix

Source: Kwaak3

Taylor is the founder of Android and Me. He resides in Dallas and carries the Samsung Galaxy S 4 and HTC One as his daily devices. Ask him a question on Twitter or Google+ and he is likely to respond. | Ethics statement

    Most Tweeted This Week

  • http://www.typhon4android.org Mike Leahy

    Nice, good to see folks continuing the charge and getting things to work on newer devices… These are still C / native ports though which is cool, but mostly an effort of wrangling the NDK and getting things to run with an existing Q3 library and buffering input to it from the Java side. Nice to see the audio was handled at the Java level for kwaak3

    I’m ever getting closer to getting Typhon out the door (pretty firm April launch at this point) and Auriga3D my 3D engine that runs on top of Typhon can load Q3 assets is coming along. It is a pure Java engine and runs on the desktop (JOGL & LWJGL bindings) and Android from a shared codebase. On the Android side of things there are just 10 classes/files with minor changes needed for OpenGL ES and the rest including Typhon is cross platform. I’ll likely have that down to ~7 files for the Android side of Auriga3D by release. It also runs on all Android devices and has navigation overlays for devices without keyboards, etc.

    Typhon though has a bunch more functionality for 2D & 3D games and designing nice GUIs / animated GUIs and such.
    I should also have an Amazon S3 / cloud component to download and install data including level files to the SD card worked out by release. Auriga3D was also created without looking at a line of Q3 source back in ’04 for desktop Java and will be released under the MIT license for anyone to use for making original games.

    kwaak3 and others are essentially the entire Q3 engine with no possibility of using it to build another type of game.

    RPG / turn based strategy games and such can use FPS engines like this and no reason a 3rd person over the shoulder more top down shooter can’t be made. Something like Alien Shooter: http://www.sigma-team.net/games/action/alien-shooter-revisited.html

    It will be interesting to see how NDK / native apps fair regarding the ability to run across the Android ecosystem of all devices.

  • http://www.nexsoftware.net Justin Shapcott

    Score. Congrats Julien.

  • http://Website reddragon72

    What is the deal with the Nexus One and programs/games not supporting it? I am about to purchase one and this is really throwing me off. Is it and issue with the 2.1 OS or the unit itself? I am a long time WM user and every phone ran every program unless it is to under powered. Someone please let me know before I purchase the Nexus One. Thanks!!

    • http://Website James

      The reason a Nexus One can’t play isn’t a software thing. The game is currently only playable with a physical keyboard, because it uses the “wasd” layout for movement. It’s not that the n1 can’t handle it, it’s that it doesn’t have enough buttons.

      • http://Website reddragon72

        Basically an on screen controller is needed. I’m not really going crazy for a game like this since I played it to death in the past, but it is just a little bit of a bummer. Oh well maybe an onscreen controller can be created or even better accelerometer support :-)

        • http://Website Dylan

          Even with the keyboard, controls on it take a lot of getting use to. I wish somebody would make some kind of controller/cradle device. I would buy one in a heart beat if there were games worth playing. Q2 playable in the office would be great, especially if multiplayer was enhanced so I could play with other local android users.

  • http://www.androidui.net ExtremeT

    mmmm good to see some Quake goodness back in the light again. Congrats to Julien but awesome job to both devs.

  • http://joystiq.com Richard Mitchell

    Have you considered an option for flipping the screen upside down? This works for old video game console systems really well. It effectively puts the D-pad on the left side of the screen and still leaves keys within reach. That would make moving with the D-pad and aiming with the touchscreen much more natural.

  • http://joystiq.com Richard Mitchell

    Oops, thought this was the developer’s site. Please disregard :)

  • http://www.typhon4android.org Mike Leahy

    The CD key requirement for kwaak3 cracked me up.. It really does appear libquake3.so is the whole kit and caboodle.

    As far as movement goes one of the neat things about the Typhon game oriented components is that game mechanics are cleanly separated into components, so you can easily interchange just movement components or collision components, etc. Instead of storing/simulating momentum (accel/decel) at the entity level which is possible with Typhon one can do so just at the movement component filtering all inputs. A handy math function is Math.log1p for providing accel/decel feedback loop. This smooths out the rough input provided from certain trackballs most notably the G1 and N1′s cheap trackballs. (BTW that is the one thing that really nags me with the N1 is the cheap $1 or $2 trackball when the rest of the device screams. I guess the smaller touch sensitivity area for the nav buttons compared to the Droid also is a bummer, but that is about it)

    Here is a plot of the log1p function:

    Also if you guys haven’t checked out Wolfram Alpha yet it’s the one of the coolest things that appeared on the web last year; at least I think so!

    Anyway. I have found that with log1p input smoothing things are way more fluid and smooth and circle strafing becomes possible with even the G1 / N1 trackball. Also by providing a slightly different input sensitivity for rotation/look via the touch screen input compared to the trackball/D-pad or key input depending on device it is possible to vary the circle straff circumference with the touch screen and still hit the space bar or fire key at the same time. Now that is a little involved for a mobile device input (2 hands, 3 fingers).

    I’m thinking about implementing 2 extra keys that will strafe left/right and cut the input sensitivity of the trackball/navigation in half or to a reasonable level for circle strafing.

    The important thing is input smoothing. It really takes perception of device input to entity control to the next level as far as appearances and interaction with the various devices who give really discrete / blocky control.

    All of this could be implemented for Kwaak3 as input control occurs at the Java level.. Even more so Typhons input and device configuration facilities could be easily dropped in. Typhon has a comprehensive system for device configuration of controls (extra XML file) to set defaults by device family -> specific device and ready made 2D/3D nav overlays for devices that don’t have keyboards. I’d be glad to work with the Kwaak3 author to get that all working including the above input control in about a month once as I move towards release.

    I am curious though how audio is handled for kwaak3. If I am not mistaken I read that audio is handled at the Java/Android API level which seems interesting given the all inclusiveness of libquake3.so.

    • http://extremethemes.co.cc ExtremeT

      I swear you always post the longest comments but they are always interesting to read so I just thought I would say thank you.

    • http://Website reddragon72

      So with the G1/N1 we can use the accelerometer to move right/left/forward/backwards, and the track ball to turn right and left? If so then that sounds good to me. When I get my N1 I’ll be giving plenty of feedback. Like I said earlier I am coming from the windows mobile platform and just love the Android OS and more so the community. It seems to be, on a whole, mush larger and more active then WM. Hopefully I’ll have the N1 next Monday(knock on wood) and will start testing ASAP on Q2 and be waiting patiently for Q3.

      Thanks for doing all this an showing me that I am making the right decision in jumping platforms.

      • http://www.typhon4android.org Mike Leahy

        >I swear you always post the longest comments but they are always interesting to read so I just thought I would say thank you.

        Heh heh.. yeah.. I admit it’s part promo for Typhon, but I try to add a good bit of original info / perspective at least somewhere in there and keep it on topic.. :) I’ve been working on Android dev full time for over a year now and making advanced game 2D/3D tech accessible to any developer is my goal, so it’s fun to chat about it too. Typhon represents 7 years worth of Java game dev tech coming to bear / being launched soon for both desktop and Android.

        It also kind of spurs me into action. I think I am going to take a look at adding the Typhon control and movement functionality onto Kwaak and look into providing input overlays for devices without keyboards. Kwaak is directly compatible with Typhon as I am launching soon dual licensing it under the GPLv2 and a nominal commercial license for 3rd parties that would like to use it in commercial apps sold on the Android market and such.

        >So with the G1/N1 we can use the accelerometer to move right/left/forward/backwards, and the track ball to turn right and left?

        The G1 has a keyboard, but the Ion or MyTouch3G on T-Mobile in the US is like the N1 in that it’s just touch and accelerometer for the most part as far as FPS games go. And yeah I think two ways to go about doing things on the N1 are either using the accelerometer or a navigation overlay on the touch screen for movement (forward/back/strafe left/strafe right) and the trackball for rotation/look. The accelerometer may work “ok” but it may be nice to make sensitivity adjustable and even very fine so that barely tilting it will do the job. I’m partial to the touch screen nav overlay and should have that working with my own tech soon. I had an artist make custom graphics for this so I can release them royalty free w/ Typhon.

        With any luck this might be a quick win for Kwaak3 and Typhon. One of the cool features of Typhon control configuration is that I have a crowd source feature that allows users to submit their control configuration for a particular device to a database by web service. That way anyone can figure out proper defaults to set up for various devices and add that into the Typhon XML config file for their app. I’m sure I’ll have a master default config file for say FPS games, etc.

        >Like I said earlier I am coming from the windows mobile platform and just love the Android OS and more so the community. It seems to be, on a whole, mush larger and more active then WM.

        Awesome. Yeah, welcome! The open nature of Android fits my development methodology and I’m just super excited to be able to leverage Typhon on smartphones and other Android powered devices. My mid/long term goal is creating a custom Android powered DSP box for some advanced audio purposes. I’m extremely excited to be able to run Typhon on this box. Previously I was using an embedded Linux distro called uCLinux and C/C++ on a Blackfin processor for the 1st prototype device control software. Android trumps this 10 fold and lets me leverage Typhon running across the desktop and on the hardware I plan to produce. I also can release Typhon for everyone to use of Android in particular for any real time app or game dev. So yeah, Android is much bigger than just smartphone development, so you’ll find a lot of open source hackers doing cool stuff..

        >Hopefully I’ll have the N1 next Monday(knock on wood) and will start testing ASAP on Q2 and be waiting patiently for Q3.

        Right on! We’ll see how quick we can get Kwaak3 going on the N1! It’s basically there right now.

        >Thanks for doing all this an showing me that I am making the right decision in jumping platforms.

        Android & Me is a great community for Android enthusiasts and mainstream users alike. So welcome aboard and look forward to chatting more soon.

        • http://Website reddragon72

          You know I totally forgot that the G1 had a keyboard LOL.
          Also I’m just completely stoked that there is development on the Android that I have never seen on the WM platform, for instance there are NES and SNES EMU’s in the store and nothing in the WM store, there are EMU’s for it but not in the store.

          As for the controls, take you time, I have more then 50 apps to play with and check out on day one, not to mention how to get those apps to the SD card, cause I hear that they cannot be installed to the SD card by default. With all the hacking I had to so on my old Tilt on T-mo I am set for a little Linux hacking on the the Android platform, had I not liked tweaking at all then I would still be stuck on WinMo 6.1 on my Tilt.

          I love what you are doing and simply cannot wait to get Q3 running on my phone and in battle with people over the network. :-)

          the android world seems very promising!

          • http://www.typhon4android.org Mike Leahy

            The custom ROM scene of Android is great too with the likes of Cyanogen and other “ROM hackers”. There is an apps2SD extension for CyanogenMod and such.. http://wiki.cyanogenmod.com/index.php/Apps2SD

            It appears they have an N1 stable version out, so that is a great place to start and good community for the more adventurous Android power user.

            I’ve unfortunately steered clear of any custom ROMs to make sure my efforts run on stock Android releases publicly available to the mainstream. One day I’ll have a spare to play around with a custom ROM or two.

  • Pingback: Fully working Quake 2 and 3 ported to Droid | Android Smartphones()

  • http://www.typhon4android.org Mike Leahy

    Also.. I got to say I’m really excited to see Kwaak3 as the engine I’m releasing Auriga3D is not a port of Q3 the game nor is it intended to be. Auriga3D is intended for original / new games using user generated IP free Q3 assets and related level design tools. Most folks who want the full Q3 can check out Kwaak3. So yes it’s very exciting to see a fully featured Q3 GPLv2 offering out there for Android.

    • http://Website James

      You’re working on Auriga’s port! Awesome! I’d like to get developing with Auriga, but I don’t really know where to start. can you help me out? I wanna make some awesome Android games.

  • http://Website Edi

    Would you PLEASE consider Transport Tycoon / OpenTTD for the next bounty?

  • http://Website Jim

    Now offer a Bounty on Duke 3D.. they won’t come after you anytime soon with the closure :)

  • http://Website sConed

    Just played Quake 2. Fun, but the tilt and touch controls are absolutely terrible, and the fact that you cant change them or even enable or disable them just pisses me off even more. Being unable to move with wasd without moving some other direction due to the tilt controls utterly annoys me. I hope they add some settings to change these soon. The game, however, runs great on the motorola droid.

    • http://Website robojerk

      I thought I saw a setting to disable the tilt (accelerometer?)

  • Pingback: Android Bounty II: Mobile Quake – Android and Me()

  • http://Website lim

    im looking to purchase a motorola cliq.. will this run on that phone?! if not I am definitely considering switching to one i can play quake on!!!

  • http://Website BlueJayofEvil

    OpenArena could be a good project to use for content. It’s basically Quake 3 without id’s copyrighted assets.

  • http://Website Jeff

    Locks up on me about 20 seconds after I hit start: I have to pull the battery. I’ve tried many different things to fix, but no luck.
    Just me?

  • http://- loky

    how to download???

  • http://Website Android Guy

    Quake 3 is running very well on my Moto Droid after optimizing settings. Some online multiplayer is passable too.

    Can you setup your own games with other Droid friends or computer buddies? I haven’t had much success with this yet…

    • http://Website Android Guy

      Update: I’m able to join LAN and online games (that I create) using a seperate computer running Quake 3. Some mods works okay too.

      Overall, I’m very impressed at how well this runs on Droid. On Teir 3 now.


  • http://Website eryc

    I can’t get either to work, it won’t let me download the tools thing in quake2 and quake 3 just doesn’t work at all

  • Pingback: Quake3 For Android | Android Dudes()

  • Pingback: Quake 3 porté sur Android | Android-France()

  • Pingback: Kwaak3 spotted fragging on Nexus One – Android and Me()

  • Pingback: Zeemote controller demoed with Quake 3 – Android and Me()

  • Pingback: Zeemote JS1 controller demoed with Quake 3 : Game scope()

  • http://Website Galaxy s i9000

    I installed your quake 2. runs perfect. controls are horrible though. Unplayable.

    you came so far! All you have to do is fix them! look at how game loft uses their fps controls they are decent! improve on that, like 2 joysticks! for left and right thumb with a fire button – make em customizable!

    you are 95.678% percent awesome! put the icing on the cake!!

    • http://Website Galaxy s i9000

      it also seems multi touch is not enabled, for example aiming and shooting! and the crosshair goes back to center even with lookspring disabled in the menu. :(

      it’d probably take you 20 minutes to fix this!

  • Pingback: Quake 3 Ported to Android; Runs Impressively « Games Arena News()

  • http://Website Mah Boi Nukem

    would kwaak 3 run on sony ericsson xperia 8? I really want it to, cos i’m buying one within the next month

  • Pingback: up Quake 2 & 3 ported to Droid - Forum de telechargement et partage()

  • Pingback: quake 3 ported to motorola droid | Droid X2 Life: A Droid X2 Community Blog - All about Android and the DROID X2 lineup of phones, Rooting, Apps, Reviews and Videos.()

  • swefox

    Played through on a galaxy s2.
    Simply connected a bluetooth keyboard and mouse. Some hazzle with joycenter6, but worked out great. Recommended.

  • Pingback: QUAKE 3 para Android | UnPocoGeek.com()