..Any suggestions for a Android Quake engine?

Discuss anything not covered by any of the other categories.
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: ..Any suggestions for a Android Quake engine?

Post by mankrip »

mankrip wrote:scaling up the GUI/HUD/console (I haven't found an option for that yet).
I've found it now, it's just that at the default resolution the menu is really hard to read on the YDPG18 screen.

I'm probably going to try and fix the sound and the input lag issues, since in about a month I should have time to code again.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: ..Any suggestions for a Android Quake engine?

Post by Spike »

tbh just disabling sound (in the java code) seems to fix the input issues (with virtualbox and android-x86 at least, didn't notice any input issues with the official arm emulator).
I'm not sure sound ever worked properly anyway.
I'm going to rewrite the input code dispite this, to try to get multitouch style inputs, so you can look and move at the same time.
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: ..Any suggestions for a Android Quake engine?

Post by mankrip »

No problem for me, as the YDPG18 has enough physical buttons for it:
Image

Most people would need it though, and maybe some motion controls for tilting the camera.

The FTEQW wiki mentions that FTEQW has MD3 support, but I'd really need some kind of skeletal model format. I'm probably going to try implementing IQM support into it.

Vibration would also be nice, but the YDPG18 doesn't have it. My phone does, but it's a low-end Samsung Galaxy 5 i5500, so I'm not sure whether it could run this engine. I'm gonna try it anyway after updating the OS with CyanogenMod, though.

Also, does FTEQW need any external libraries for playing MP3 or OGG music? I haven't tried copying the Quake soundtrack to the ID1 folder in the YDPG18 yet.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: ..Any suggestions for a Android Quake engine?

Post by Spike »

fte is meant to have iqm support already (though I'm not 100% sure that it works properly in gles1, but should be fixable).

fte doesn't have mp3 support (playing background music through the android apis *should* be easy enough, but the current code expects to play it through fte's snd_mix.c routines, so that would be nearly a from-scratch implementation). fte does have ogg support, but it needs specific libraries which I don't have for arm. theoretically if you can find a compatible one and stick it in the right directory then it would work... no way would I bet on that though - need to fix the mixer first anyway.
regarding audio, it looks like the sound mixer needs to run on a separate thread, which means that I need to find all the potential thread race conditions within the audio code. should be able to test that properly in windows too, been wanting to have a reason to move the sound mixer to a separate thread for a while.

I had a look at the android dev pages earlier in the day and noticed vibration stuff, the api has millisecond precision, but that doesn't mean the hardware does, and its just on/off, so it should be possible to tie that into the damage cshift to some extent.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: ..Any suggestions for a Android Quake engine?

Post by Spike »

its updated.
input and sound should be less laggy/borked now... audio mixing is now fully on a separate thread.
xaGe
Posts: 465
Joined: Wed Mar 01, 2006 8:29 am
Location: Upstate, New York
Contact:

Re: ..Any suggestions for a Android Quake engine?

Post by xaGe »

Ok, cool! I have a few minutes now I will grab it and try it.

10mins later!

OMFG!! AH Spike you, are, AWESOME!! 1st impressions, sound lag is minimal compared to how bad it was before and I don't feel any lag between using physical buttons or touch screen either as far as I can tell. Granted this is just standing in the start.bsp and runnig, gunning and jumping, but it is truly awesome! I can now tell anyone without a doubt this is the best Quake engine on the Android platform.

..The only and I mean ONLY thing I could see making it more Android friendly would be either a key bind or shortcut overlay for enabling the Android keyboard as a lot of apps do. One examples being Adosbox. Without a keyboard its not mod friendly I'm finding. You can't easily play custom maps single or multiplayer if it was working because fte requires you to type the name of the map.. It then requires one to edit pak files, rename custom maps to start.bsp to play them, and editing things like name & server name outside of the game using a text editor like I've been doing.

Few more minutes later...

I am able to duplicate the only error I've found so far easily. It has only crashed FTE once so far after abusing the error a few times in a row. Basically when I go to change my device's physical orientation from vertical to horizontal or vice versa the sound shudders briefly(which isn't the problem) then I see 2 console messages displayed:
OpenGL renderer initialized
GL error before drawing scene
I would guess you need to re-initialize the renderer when the screen is being physically rotated and that's why I'm seeing that message, but the 2nd part referring to some error is vague. I don't see people (me) wanting to keep rotating the screen orientation during play. It is usually one or the other. I know on my device the G-sensor is VERY touchy and even tilting my device a little one way or another will cause the screen to change orientation. My advice to anyone using this is to disable the sensor before playing. This error will crash your FTE only if you keep flipping your screen around in succession multiple times. 4 did it for me a few times.
spike: I do have photos of my console I took with my dslr in case you need to ever look at them.


FYI: Multiplayer
I've barely touched this yet but the game browser seems to work great, but upon trying to join a game from it, it crashes to my home screen quietly & quickly. I tried several times and that's all it would do. I would try manually from the console to connect to a game server but my device has no keyboard to do so.

I will probably try a few mods next and see what happens..

mankrip I was wondering if you are running a custom rom and or over clocking your Yinlips?
Last edited by xaGe on Tue Feb 28, 2012 6:53 am, edited 1 time in total.
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: ..Any suggestions for a Android Quake engine?

Post by mankrip »

xaGe wrote:mankrip I was wondering if you are running a custom rom and or over clocking your Yinlips?
I'm using Bitrider's firmware with the kernel version 1075, and it's said to allow up to 850 MHz.

I've got the same results as you, except on multiplayer, which I haven't tried.

Skies aren't rendered, they're fully black. I haven't tried skyboxes yet, but they should work.

I haven't tried water translucency (and many other features) yet, as I'm using it with the stock Quake 1.06 PAK0.PAK and PAK1.PAK.

This engine gets astoundingly high framerates on my YDPG18. On the entrance of start.bsp it gets from 45 to 58 fps, but in most places it's always running between 55 and 60 fps. And this at 800*480.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
xaGe
Posts: 465
Joined: Wed Mar 01, 2006 8:29 am
Location: Upstate, New York
Contact:

Re: ..Any suggestions for a Android Quake engine?

Post by xaGe »

Ok, same rom here as well and same 850mhz. The sky on e1m1 was rendered blue and not moving as normal, but don't remember the others. I too having the same device and rom am getting the same fps numbers. I was quite surprised how nice the fps are.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: ..Any suggestions for a Android Quake engine?

Post by Spike »

multiplayer - you're not the only one to complain. I've not managed to reproduce it myself, and there's not really anything different from desktop ports of it, so I've no idea what would be causing those.

what's happening with screen rotations is that the java/system frontend is destroying my gl context 'for me' before creating a new one, which means that the system basically wipes all textures, hence why the vid_restart when it happens.
I suspect that the the rotation crash is due to a memory leak, and just running out of memory. fte does use more memory than I'd like, and I'm not entirely sure it fully cleans up everything. This would explain why it happens after 4 or so rotates. Try it without starting a map, see if it takes more rotates to kill it.
the sound will stutter because the audio thread is reset too (this could be avoided without any more external function calls, its entirely me being paranoid).
it ought to disable it in the system and do the screen rotation in the engine instead, but that's just a workaround although it would fix the slight stall.

yeah, there's some sort of weirdness with skies, that's a definite. using the emulator they kinda go all over the screen. it might be related to that glerror, which I've still not tracked down. gdb seems really quite buggy on android, so its not exactly a pleasurable experience - just getting a decent stack trace is a real pain.

an onscreen keyboard would be nice, but I'm not sure how much of the screen it should take up, or exactly which chars need to be on there, or what csqc would make of it...
it is needed though, if only for chat messages (in an ideal world, at least).
could activate it with either a bind or a touchscreen press starting in some corner or something, just wondering how many buttons there are that are guarenteed to be on every device. I've no idea how to activate the system one. writing my own would probably hinder non-english languages though quake's charset doesn't include any of those chars anyway.
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: ..Any suggestions for a Android Quake engine?

Post by mankrip »

The sky only shows as blue when the lightmaps gets buggy. One way I know of doing this is trying to change the resolution in the options menu; as soon as you apply the changes, the video restarts and the lightmaps are shows as big (32*32 or 16*16, it seems) unfiltered blocks. Loading another map fixes this.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
xaGe
Posts: 465
Joined: Wed Mar 01, 2006 8:29 am
Location: Upstate, New York
Contact:

Re: ..Any suggestions for a Android Quake engine?

Post by xaGe »

Should I keep dumping issue with FTE on Android here or some where else?

Save games:
As it is saved games won't work. They seem to save fine, but if you try to load a game you just saved it crashes FTE back to the Android home screen. If you save a game, close down FTE, restart FTE and try to load a saved game it just goes to the console.

Multiplayer:
I am able to start a multiplayer game, but yet able to find it from a PC on the network.


I now have FTE logging everything in the console so I can comb through it to look for anything "odd".
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: ..Any suggestions for a Android Quake engine?

Post by mankrip »

I've seen several people complaining of sound lags in several emulators running on the YDPG18, so it's probably not FTEDroid-specific. FTEDroid is the only app that does this on mine, though.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: ..Any suggestions for a Android Quake engine?

Post by Spike »

mankrip:
do you get sound lag even with builds dated after 27th feb?

xaGe:
I also stealth-fixed the join-multiplayer-game issue. It was crashing due to thinking ipv6 wasn't available (was creating an ipv6 socket but the rest of the code was disabled due to not detecting ipv6 properly). IPv6 should now be properly supported by ftedroid (thus fixing the crash).

If you've got the android sdk installed, you can use 'adb logcat' to see the 'stdout' of fte, including a copy of each console print, even after a crash. Or if you've some sort of terminal emulator on your phone, you can run the logcat program directly on your phone (running it after fte has crashed is fine). Either form of logcat is the only way you can see the message from any Host_Errors, as the quake console will not be visible if quake dies.
r00k
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Re: ..Any suggestions for a Android Quake engine?

Post by r00k »

qtv android player would be a cool start, watch qtv demos off the net to the android device...
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: ..Any suggestions for a Android Quake engine?

Post by mankrip »

Spike wrote:do you get sound lag even with builds dated after 27th feb?
Yes.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Post Reply