What Is The Status Of The Gp2x Quake Port?


Epicenter

Well-Known Member
Joined
Oct 9, 2005
Messages
2,068
Age
39
Location
USA
Website
www.epicgaming.us or http
I and the team I belong to have been building a 3D First-person shooter based on the Quake engine for PC for some time now, and upon hearing of Quake's planned port to the Gp2x on the official site, we've been working on adapting things to fit the scale of this new development platform. Things are going nicely, we think it could very well become 'the' Quake-based title for the platform. But we've run into some real confusion as to just how complete the Quake engine for the Gp2x is.

It's clearly a direct x86-to-ARM9 port of the Linux SDL Quake engine made public years back unless I've missed my mark, and it's being ported by an individual on these forums, rather than by the Gp2x OS dev/testing team. Is this the case? I also read sound is NOT functioning yet. Is this intended to be fixed, or will someone else have to pick up the port first before this will happen?

Is there any basis in fact to my suspicions, or plans thereof, for the GP2x OS Dev team to pick up the SDL Quake port and work with it? There has been a good deal of hype on the site promoting Quake as THE 3d development base of choice, and a major reason to buy the console, so it's rather important we know how far along it is, and what sort of first party support will be put behind it, if any.

If anyone can lend me some information on these questions, I'd greatly appreciate it, and we look forward to bringing the GP2x community some great things in the near future.

- Deven "Epicenter" Gallo
Armor of Acheron 2G Programmer
 
By the way, neither the quick hack job port that I did, nor the version that Woogal is in the process of doing is based on SDL Quake. My version didn't have sound, but no doub't Woogal's version will.

So, if your basing anything on the fact that it's going to be SDL Quake, then it's not going to work out. Woogal may use some SDL in the code, but it certainly not a port of the SDL version - he's porting his GP32 version.
 
The more robust the better, but while AOA2 for PC relies on the FTE Quake engine, AOA2G just relies on any DOS-Quake compatible engine, so it'll snap into anything that doesn't break standards with the original id1 content. DOSquake, WinQuake, most third party engines with a software renderer. So it'll probably be just fine. I am having a hard time getting SourceForge to respond tonight, it must be hammered for some reason-- otherwise I'd grab GpQuake and give it a test run on an emulator. Hopefully I'd get to if SF ever comes back. ;)
 
What Squidge said.

GP2X quake will be a port of gpQuake, which was a port of PocketQuake, which I think was a port of WinQuake, so if your game will run with WinQuake then it should also work fine on the 2X. You might have trouble on the gp32 though - not much memory for larger mods on that, and I wouldn't bother wasting your time trying it on geepee - it will run very slow if it even runs at all.

However, until I can get gcc4 built (my attempt this weekend failed and I didn't have time to figure out why) and then manage to get Quake to compile with it (Quake can be a fussy little bugger when it comes to compiling) we won't know for certain how quickly it will run. gpQuake at 156mhz runs at around 8fps average with the original game, and most mods run slower as they often tend to be a bit over the top with graphics. If you can find someone who can overclock their gp32 to 200mhz then that will give us an idea of how quickly the first version of 2xquake should run, but don't expect it to be flying around at 60fps. If you want your mod to be 'the' quake based game then I'd make sure it's fairly lightweight.
 
woogal posted on Oct 18 2005 at 10:14 AM said:
[CUT] get gcc4 built (my attempt this weekend failed and I didn't have time to figure out why) and then manage to get Quake to compile with it (Quake can be a fussy little bugger when it comes to compiling) [CUT]

Just out of curiosity, why are you going to use gcc4?

If I remember correctly, the gp2x should be equipped with libc2.2.5 which is (again iirc) incompatible with gcc4 (i think it needs libc2.3.4). But changing the libc usually requires recompiling the whole system... Am I missing something?

BTW, this link could be useful CrossTool.
 
Last edited by a moderator:
Yuglooc posted on Oct 18 2005 at 10:49 AM said:

Yep I read that post some time ago, but I still wonder how can it work, and why use it (gcc4 is VERY "young" after all, and lots of software just don't compile on it; also it requires a recent libc).

PS: That gp2x icon in you signature is great ;)
 
Last edited by a moderator:
On the gp32 quake ran at 3fps with gcc 3.0.4. Went up to 7fps with gcc 3.4.4, then up to 8fps with gcc 4.0.1. The floating point optimisations were added to gcc in 3.4 I think, so anything less than that is no use for quake. Most people are looking to use gcc 4 on the 2X, either by updating the system, static linking, or getting rid of linux altogether (I'm going for static linking). As for it being young - it may not have had as much testing as gcc 3.4.x, but in my experience it's both quicker and much more stable. Ok, so it doesn't compile some stuff, but the same can be said for all versions of gcc, and 9 times out of 10 it's the code at fault and not gcc.
 
woogal posted on Oct 18 2005 at 03:14 AM said:
What Squidge said.

GP2X quake will be a port of gpQuake, which was a port of PocketQuake, which I think was a port of WinQuake, so if your game will run with WinQuake then it should also work fine on the 2X. You might have trouble on the gp32 though - not much memory for larger mods on that, and I wouldn't bother wasting your time trying it on geepee - it will run very slow if it even runs at all.

However, until I can get gcc4 built (my attempt this weekend failed and I didn't have time to figure out why) and then manage to get Quake to compile with it (Quake can be a fussy little bugger when it comes to compiling) we won't know for certain how quickly it will run. gpQuake at 156mhz runs at around 8fps average with the original game, and most mods run slower as they often tend to be a bit over the top with graphics. If you can find someone who can overclock their gp32 to 200mhz then that will give us an idea of how quickly the first version of 2xquake should run, but don't expect it to be flying around at 60fps. If you want your mod to be 'the' quake based game then I'd make sure it's fairly lightweight.

That's worrying, especially since AOA2G, so far, is significantly more graphically intense than id1, especially in terms of level polygon counts. Do you have any performance estimates of how it ran on a GP32 at 200 MHz? I imagine making use of the 2nd CPU would require significant rewriting of a large portion of the code, so that won't happen anytime soon?

I'm of course not ruling out the possibility (and probability) of overclocking the GP2x to 250 MHz+, but if it can't top 15 FPS, I'd have to wonder if there was any point embarking on any sincere effort to port AOA2 at all.

Also, I don't mean to insult the GP2x dev team as they seem to be doing a great job so far, but isn't it just a bit presumptuous to put QUAKE in big letters in the list of main features and suggest its use for the base for a large number of 3D game projects if they aren't actively developing it and it only has been known to run at 8 FPS (unless Squidge's port had run faster at some point?) I mean, when I look at an engine running on hardware that isn't ideally suited to it (no FPU, 2 CPUs) and it runs at under 10 FPS I don't think "ideal development platform", I think "maybe it's time to develop a 2D game from scratch that favors an FPU-less dual processor machine".

The Development page says "For 3D content may we suggest the GPL Quake engine? Its 100% free to use for commercial as well as for fun. A rather nice gift from ID software, and which they themselves say has been amazingly overlooked, why not show us what you can do with it?"

.. now this seems to imply iD came up and handed them a version of the Quake engine optimized to run on integer-only and/or SMP hardware like the GP2x, but, that's clearly not the case. In fact it seems iD didn't specifically give GPH anything, and they were just commenting that a homebrew project or two to bring Quake to the platform was in preliminary status at the moment. That's terribly misleading.

Just a thought.
 
Last edited by a moderator:
Oscaruzzo posted on Oct 18 2005 at 09:37 AM said:
Just out of curiosity, why are you going to use gcc4?

If I remember correctly, the gp2x should be equipped with libc2.2.5 which is (again iirc) incompatible with gcc4 (i think it needs libc2.3.4). But changing the libc usually requires recompiling the whole system... Am I missing something?

BTW, this link could be useful CrossTool.

I have made scripts based on a hacked about CrossTool (great script set) that build GCC 4.0.2 and gLibC 2.3.5 and enable static linking. More info on that on my site. The resulting exes run well on the GP2X. Dynamic linked exes work if you want to mess about with /lib and /usr/lib but for most users touching anything in /lib is a REALLY QUICK way to brick your GP2X :D.

My latest hacks in this area are looking at what symbol differences exist between gLibC 2.2.5 and 2.3.5 (there are not that many really) and patching gLibC 2.3.5 so that dynamic linked exes will run on a 2.2.5 shared lib. Not sure if this will work yet!

That said I still think dynamic linking on a device like this is a little mad and it just making work for yourself :). You just have to look at scenes like the Zaurus to see that dynamic linking is a bitch and it is not like we are short of space on SD cards these days.

It is worth noting that the choice to go with a very young GCC like 4 is for most devs a bit of a non event as the GP2X is hardly being used for mission critical applications and the ARM improvements to the 3.4 branch and 4 branch are so numerous that it would be mad to use 2.95, 2.95 is also very buggy in the C++ arena and error handling is a POS.
 
Last edited by a moderator:
craigix posted on Oct 18 2005 at 05:45 AM said:
Hi Deven,

If you don't want to wait for quake, you might consider the Yeti engine, http://www.angelsoftware.org/index.php it will give you the 60fps you want and visually its better than quake too, try it on the GP32.

Or you could get involved with more low level GP2X dev? :)

-Craig

It's an interesting engine and I am impressed by its speed on integer-only hardware, but my philosophy is such that I don't feel this console's ideal calling is 3D-- it's 2D. I feel that way about almost all consoles, actually. :lol: However, I do agree with the development of graphically-intense 3D games for the PC, which is what spawned the development of AOA2, to take Quake 1, via enhanced engines like FTE, to the level of modern games without losing sight of gameplay. Now, if we can bring a game that's fun to play on a PC to the GP2x without enormous reworking, that's great, and I'd love to do it. But to have to reverse-engineer and alter the engine itself for a significant time investment in addition to the development and down-scaling of AOA2 to the console makes the whole thing look a lot less worthwhile. If I did build a new game from the ground up (as I am planning to do), it would be 2D and written from scratch with SDL rather than based on another 3D engine.

That's just the way I look at things. :)

EDIT: I suppose what I really would like to know is if there's hope (and basis in fact for that hope) of Quake passing 20 FPS or so, if that's the case I don't mind just holding off on bringing over AOA2G and the rest of the team probably won't mind too much (although I'm sure our graphics guy would be very disappointed of course. Quake was hyped enormously by the info on the main site, and he got the impression the game would run very smoothly) .. and we could just pick it up later when things were in better shape than now. But if there's not any hope for it to get that fast, I guess that's that and we should focus our energy on a game working from the ground up.
 
Last edited by a moderator:
Well, at 200MHz on a GP32, Quake is more than playable (i.e. it passes the bar into fun). Dunno if I'd say it was 20fps; maybe so in low-polygon areas, but dropping to 10-12 at a guess when there's a few enemies on the screen. But you know what? Its still fun, remarkably.

That is of course without using the idea Squidge came up with or rendering at a low res and using the HW scaler to bring it up to full screen (which presumably would be faster, even if it would look worse), let alone the second processor.

Furthermore, quake mods *definitely* work on the gp32 (although some of them run out of memory too much), so if you have one available, you could always try it out on that and get an idea of speeds to expect on day 12 or whenever the first release comes out. Or there's always the option of releasing, say, a level of the game as a demo for GP32 users to try (assuming its a commercial game, which has always been the impression I've had somehow) and give feedback on speed-wise. The GP2x can hardly but be faster than the GP32, so if the results are positive, its probably worthwhile regardless.
 
Well, if things could reach a framerate that feels "fun" I suppose we'll move ahead with the project. I'll talk to our artist and see if he wants to go ahead immediately or wait to see how things progress first. Time will tell I suppose. I really do hope some good means of making use of the 2nd processor are found besides just scaling the video, though-- or any other optimization really. I can't imagine things looking very good at all at 160x120 unfortunately, scaled up it might just look very crude and mangled.
 
I know this is old, but what is the current status of 2xQuake? Any possible chance of using GPU940?
 
NECRO!!!

Also, there's been some talk of porting glquake, but I don't know how much performance we could get out of it really. Heh.
 
Megatog615 posted on Mar 16 2007 at 05:30 AM said:
I know this is old, but ..

.. but what? Back when this thread was current, Manifest Destiny was an exciting concept here in the US and all you Brits round here were still reelin' from a right-good ass-wuppin'.
 
Last edited by a moderator:
I believe the gpu940 is working on a Quake port from the looks of their source repository.
 
Back
Top