News | Forum | People | FAQ | Links | Search | Register | Log in
QuakeDroid - Quake For Android
QuakeDroid is Android Quake that should run on any Android phone made in the last 5-6 years, but has only been tested on 2 phones (one 32-bit, one 64-bit).

http://quakeone.com/quakedroid

Designed to have controls similar to popular mobile games (/cough Minecraft). Went deep on the documentation to try to empower the user.

Does not require Quake to install, it downloads Quake shareware on startup.

* How to put your TrenchBroom/J.A.C.K map on your phone
* Where is your Quake folder?
* Difference between shareware vs. registered Quake
* Put registered Quake pak1.pak from Steam/GOG on your phone
* How to set a startup command line.

The menu has 2 methods of navigation, you can touch items like "Single Player" or manually slide the volume slider bar or use the menu nav buttons.

* Tap-fire (double tap on an Ogre to shoot it)
* Drag-look (like Minecraft)
First | Previous | Next | Last
Re: Xbox Controller 
It's a wired USB controller connected to a "USB->USB C on the go" adapter. I actually don't have any other games to test it with so I need to do some more testing on my end, and I'll try compiling myself this week and see what's happening. I'm worried that the SDL "Joystick" api won't be compatible across different joysticks. As I understand it, they added the "Game Controller" api's to SDL2 as a layer on top of the Joystick API to give a consistent view of joysticks, so when the API says "left stick" or "A button" etc., it's actually that stick or button on the joystick.

Whoah - GL support! Nice! 
 
Runs well for me, but can the GL error pop-ups during startup be suppressed please? At least for second and subsequent runs? Having to click through 4 or 5 of them every time gets old real fast. 
@mh 
Whoa! I get zero GL errors during run, but I did the build in debug mode in the event someone had issues.

I'll suppress those in the next incremental and instead record them to log, but I want to know what they are. 
@ericw 
See the Butane qii4a post/link for an APK download for a different game with controller support.

Regarding the SDL2 joystick API ---

This is all new to me -- that being said, I looked at the SDL2 2.0.8 source code and it leverages native Android controller support which is extremely robust and standardized and mature.

So I am thinking the controller support is going to work almost universally.

Nonetheless, this is the thread where we find these things out ... 
@mh - Part 2 
I want to see more feedback, but the fact you have GL errors already annoys the hell out of me. I spent time studying the OpenGLES specs and was under the impression that it was pretty damn standardized.

/Pioneers, arrows in the back -- this is the whole purpose of exploring engine developing and killing these kinds of things, but damn ... 
GL Errors 
Here's what I get; it's an el-cheapo Nokia 5 btw.

First is "Alert: GL_EXT_texture_filter_anisotropic" but no other info.

Then a 1280 at line 221 in GL_Evaluate_Renderer_CheckExtensions.

Then another 1280 at line 222, same function.

Then a 1280 at line 223.

Finally one more 1280 at line 224.

Following which it loads and runs fine. LIT files work, and VIS files also seem to do so; I have a bunch of them in a pak2.pak so I'm assuming it's getting them (I've deliberately avoided reading the code for feedback purposes). 
@mh 
Alright, well -- gives me an action plan.

And I'll act on it and address in the next build. 
Still Trying To Get My Moga Hero Controller To Work 
which is unfortunate because i really want to have quake (and all the expansions) on the go.

the controller can controll the phone in the moga pivot app so its not a bluetooth thing, the controller works, but does nothering in qd.

please could you suggest a controller which you think is best to use for quakedroid. (im willing to pay for a new one just for this project).

I dont think my moga hero can work with quakedroid, i sure cant get it to work. I dont even know if it works outside of moga pivot games, confusing.

If anyone does mange to get this working with a moga controller please let me know so i can know if its worth persisting with this controller.

Might be worth considering moga support for quakedroid, seeing as i think it's a popular controller? Let me know what you think. 
@apm 
brassbite suggested a controller.

My controller, a ERO VR was $19.98 at Walmart. 
 
Make that EVO VR.

/Typo corrected 
@apm 
You might try to see if your controller works with https://www.apkmonk.com/app/com.n0n3m4.QII4A/

When I was setting up my controller, the greatest initial difficulty was correctly pairing it with the device. I had to hit a certain combination of buttons to cause it pair as Android vs. pair as iPhone and my initial pairing was wrong.

I had to unpair the device entirely and then pair it again to get it to work right.

While the device was paired improperly, it still showed as a bluetooth device, but didn't work in any game.

/Ideas 
GL QuakeDroid Slight Tweak (resolving Mh Startup) 
Download: GL QuakeDroid April 18 2018

@mh/GL_EXT_texture_filter_anisotropic glerrors and notification no longer happen. 
 
Cool.

Won't be able to test until 6+ hours time at the earliest (it's the warmest day of the year and I have seasides to walk along, beer to drink and pizza to eat!) 
 
warmest day of the year

It was literally like December at 7 am this morning in Ohio with light snow. I'm a "cold weather coder" so that actually is quite ok by me. 
Having Issues With PS4 Controller 
Both Bluetooth and wired connections are fucked. HOWEVER, it's not QuakeDroid. There are 3rd party options to solve it but I'm not rooting my phone to play Quake or any other game.

I tried the Steam controller had a little bit of luck but the right pad acts as a mouse cursor. Sadly the orientation is for portrait and the mouse doesn't work as an input device for the software anyway.

Any suggestions would be appreciated. I'd like to buy a Steel Series controller for this but a bit gunshy at this point. 
@dumptruck - PS4 Controller Android Article 
This article may help you:

There was a dark time, long, long ago (six years or so), when Android was still a platform in its nascent stage, and to really unlock its best features, you had to root your device. Well no more. One of the many things you can do now without rooting is connect your PS4 controller to your Android phone or tablet via Bluetooth.

https://www.maketecheasier.com/connect-ps4-controller-to-android/

This is also this article:

https://www.teamknowhow.com/discover/discover/how-to-connect-a-ps4-controller-to-android 
@apm - Mogo "hid Mode" 
Some reading/researching around ... you might look into trying to set HID mode.

HID refers to the gamepad protocol inherently supported in Android™ devices running 3.0 and higher.

Both my EVO VR gamepad and my external bluetooth keyboard use HID mode.


MOGA's Pivot app has yet to be updated for Android 5.0 compatibility

However, certain MOGA gamepads (not all) have a HID mode switch on them that let you use HID mode with games.

"How to connect moga pro controller thru hid mode"

https://www.youtube.com/watch?v=5NwT3Msoxzo 
@Baker 
Thanks for the links. I've been able to pair the devices as shown in the links above. I believe the PS4 is defaulting to HID mode already as I can navigate the phone's UI as the guy showed in the video.

What happens is that I can use the X button IIRC on the controller and the analog sticks do work - which is a great start - but as soon as I press the other buttons the whole thing blows up. The view pans up and the QuakeDroid menu behaves as if the up button is held down.

I think re-configuring the buttons is probably the fix I need but the app you linked is out of date and unstable per the developer. I am going to keep searching and will report back.

There are other apk's that are out there that require rooting my phone to fix all this that I won't even bother with. I'll probably just get a different controller eventually. But I'm tantalizingly close on the Ps4 Dualshock. 
@dumptruck - Made For Android 
The SDL2 library controller support is for the gamepads that were designed to support Android out-of-the-box.

I guess it is natural that some users with existing PS4/XBox/Steam Controllers are going to try to use those with their phone/tablet, but those aren't the "Works With Android" controllers that the SDL2 library supports.

They may work or not, may require Google Play button remapping apps or what not. The mileage on that is going to vary.

The best I can probably do with that if someone like yourself gets it to work with, say, a PS4 controller, is to make note of your post and perhaps eventually throw a link on QuakeDroid page. 
 
Obviously, I do hope you get it to work. 
 
And if you do, I'll accomodate the info on a "using PC/console info" page or similar on the QuakeDroid page. 
@apm - "B Mode" 
“B” mode works with Android devices running Android OS 3.1 (Honeycomb) or higher.

According to this link, you may need to switch your MOGO to "B" mode.

https://support.mogaanywhere.com/hc/en-us/articles/201290560-Which-Android-devices-does-the-MOGA-HERO-POWER-work-with- 
@Baker 
2 things. I was really only attempting it because I read that you can use PS4 controllers on Android and thought "what the heck." But as with everything it's a rabbit hole, time-suck thing to get working.

Even Sony's Android specific streaming solution is limited to specific phones OR you need to root the phone (and *then* you sign into your PSN account --- fuck that noise.)

The other reason I'm trying this is to just add to the knowledge base here on the thread. So, please don't research too much on my account!! I asked earlier as I was hoping against hope there was somethin I was missing.

After work I'll hit Fry's and see what they have for Android controllers. I had a Steel Series for iPad and I do think their products are excellent overall.

Thx! 
Anisotropic Filtering/GL Error Pop-ups 
Confirming that everything starts up clean now.

An interesting observation is that the texture filtering options don't work either. My guess is that there's a bug with glTexParameter calls on this device, and that your code is otherwise fine. 
 
When I was trying to get it to run, if I recall correctly OpenGLES 1.1 doesn't support the texture filtering options docs.

In head, I was planning OpenGLES 1.1 first and then convert to OpenGLES 2.0 using RMQ engine GLSL as a guide.

But getting OpenGLES 1.1 to work was more time consuming than anticipated. Also I was met with challenges like non-supported draws like GL_POLYGON (easy --> GL_TRIANGLE_FAN) but more complex ones (GL_QUAD_STRIP) slowed me down a bit.

Plus limitations like the typical mobile NPOT extension GL_APPLE_texture_2D_limited_npot (despite the name Android uses this commonly) can't be used with clamp to edge textures (if I recall).

So more can definitely be done on the rendering side of things over time. 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.