Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Magnum Express

GZDoom on a handheld

Recommended Posts

I know that this sounds weird, but I was wondering if a handheld system, like a DS or Game Boy Advance, would be able to support GZDoom. I know an engine for the GBA, the Southpaw, has very similar features. It would be cool if it did work.

Share this post


Link to post
Magnum Express said:

I know that this sounds weird, but I was wondering if a handheld system, like a DS or Game Boy Advance, would be able to support GZDoom. I know an engine for the GBA, the Southpaw, has very similar features. It would be cool if it did work.


Both of these platforms are far too weak. Maybe on an iPhone or high end Android-based phone but not on these Nintendo things.

Share this post


Link to post

Why not? At the resolutions the DS, the 60 MHz of its ARM CPU and its 3D hardware would cut it, at least with careful coding. Now the original GBA had just a 16 MHz version of the same CPU, and in fact Doom on it was nothing too hot.

But the DS is more comparable with a first-gen Pentium with some early 3D hardware -so if you had a cut-down, lo-res GZDoom with all of the scripting etc. then why not, it would work. Hexen did work on lesser hardware, after all.

Share this post


Link to post
Maes said:

if you had a cut-down, lo-res GZDoom




That would no longer be GZDoom. And 60 Mhz is a bit low for any ZDoom based engine. Due to some of the new feature its hardware requirements are significantly higher than for simpler engines.

Share this post


Link to post

The DS has actually two CPUs, and it's very fast compared to the old GBA. It even has its own FPS like Moon , Metroid Prime Hunters, CORE, etc. And there are also some ports of Prboom, Hexen, Heretic. Even Quake was ported and runs fine! The biggest hurdle you'll run into is memory... The NDS (at least the old ones, like the original and Lite models) only have 4 MB. The Quake porter had to use a lot of creativity to make the code run, and you can't run mission packs without a memory upgrade. There is also a Quake 2 port, but it simply won't run at all on those stock models... The other big limitation is the screen resolution: 256x192.

I have played the Quake, Hexen, and Prboom ports. The Quake port runs very smooth and fast, but there is sometimes some clipping on the Z-axis (doesn't really affect gameplay though). The Hexen port runs also very well, but without music (just sound FX). The Prboom port runs fine but the controls are crappy, and you can't change them enough to make it really playable. That's the biggest problem with that port (playing with a game controller is hard enough without having 100% configurability). The other problem is that you have to merge a PWAD with the IWAD before playing it. Oh, there's also no music in this port.

I was actually going to try my hand at writing games for the DS homebrew (just 2D sprite type stuff, no FPS), but never could get the dev kit to compile on OpenBSD, so I gave up.

Share this post


Link to post

I hardly played with DS Doom because of the bad controls, so never met any savegame bugs...

BTW, the Hexen port doesn't even let you save at all. But it has a menu option where you can select the level to play. You can't run PWAD files with it either.

There's other games that have savegame bugs... The Descent port apparently (read this one some DS homebrew forum) corrupts the microSD card when you save. Because of that, I never even tried to run that game...

I think one of the dev libs (libfat?) had some bugs also, which were fixed only recently.

And there's stuff like DSOrganize that's infamous for corrupting the SDHC if you try to actually write anything to the card...

Share this post


Link to post

I am going to be upfront about why I asked this question: I was thinking about making a homebrew/mod of the FPS Ice Nine, which was originally made for the GBA using the Southpaw. I figured that if there was some way of getting GZDoom to work on the DS, I could use that as the engine for the homebrew/mod.

Share this post


Link to post

Technology for a handheld gaming device should be far better than what they are today.

Take the gameboy for instance that was pure ingenious technology in the day. 8-bit 4.19 MHz processor when the megadrive was 16-bit 7.67 MHz Ok yes nearly quadruple the power yet compare the sizes of the megadrive and the gameboy. Gameboy had 8KB ram, 64K video RAM. Eight times more.

Now lets compare the Nintendo DS and the Wii:

DS:

67 MHz and 33 MHz Processor and Co-Processor.
4 MB of mobile RAM

Nintendo Wii:

729 MHz Processor
88MB RAM with 64MB GDDR3 Dedicated video memory

I am taking pot shots here, I'll say that's pretty rubbish to say the DS and Wii came out 15-17 years later. The difference between the two should *******ely say something. We're being suckered.

My notebook is small yet its processor is i7-1.87Ghz, has 8GB DDR3 RAM and two 1.5GB DDR5. This runs gzdoom with full dynamic lights etc etc amazingly. Even at 1/5th its capacity it could run at least zdoom with all features.

It wouldn't take too much to incorporate this tech into a handheld device.

Playstation should have a new handheld device, one that blows all the others away, if they just put the effort in.

Share this post


Link to post

The problem is hardly miniaturization, even in the case of the original gameboys vs the Mega Drive or the SNES. If they REALLY wanted, they could have packed the same ICs in the same motherboard space, even with the manufacturing processes of the day: the CPUs used were already hyper-mature (both having over a decade of successful commercial adoption) and in the case of the Gameboy, even the Z80 was not a full-size IC like the one on e.g. an Amstrad CPC, but a smaller package, lower-power version.

No siree, the problem was (and still is) power consumption. Laptops are an easy example of this, since they can run the same software as desktop computers and have comparable powers: fire up any intensive game on a laptop with full setting, no power-saving compromises features etc. and you'll see how much the battery will last: you will get a hefty 50-90W power pull that will drain any laptop battery in an hour or so.

Other examples: Android phones. Playing Angry Birds on a binge really overheats it (forcing the 600 MHz ARM CPU to work overtime) and drains a fully charged battery in 2-3 hours max, compared to a standby time of days. That's because those games are NOT designed to optimize power consumption: they just use whatever the phone can dish out, if requested, unlike how actual targeted games for portable consoles are designed.

Other types of portable devices like e.g. cell phones media players etc. manage to keep power consumption down by using specialized ASICs and DSPs that can do e.g. MPEG4 decoding or GSM processing very efficiently, but if you were to use a general purpose CPU for those same tasks, you can't do them without at least a 3-5 W TDP processor, no matter if you use ARM, Atom, Coldfire or whatnot.

If they REALLY wanted, they could produce portable versions of the Wii or even PS3, for what regards size, but then you'd also have to walk around with a waist-strapped camera battery pack to get any reasonable gaming time from them. Serious portable console manufacturers and developers do take these limitations into account, and the hardware and the software itself is carefully built around them, rather than ignoring them. This is also the reason why portable versions of even e.g. a Megadrive or classic NES are not particularly successful as portable devices: it's near impossible to implement power saving features on them like e.g. variable clock speeds: they have to work full power all the time, and their CPUs doesn't even have a power-saving IDLE state.

FOr smartphones, there's a dual standard: Android third-party apps don't seem to give a shit about battery efficiency (except for the core OS) , while e.g. Apple is particularly anal about the power efficiency aspect of iPod/iPhone/iPad apps, and such behavior is grounds for rejection during their app approval process.

Share this post


Link to post

I don't know why you guys are discussing different gaming systems. I just want to know if there is some way of getting GZDoom to work on the DS.

Share this post


Link to post

Yeah, the NDS Lite has great battery life. 12+ hours of gaming, and even more if you actually close the lid and put the machine to sleep when you take breaks. If you're traveling you can even leave it plugged in to your car's 12V outlet (via an inverter) when the engine is shut off, and it won't noticeably drain vehicle battery. That's how little power it draws (better not try that with a laptop, unless you plan to drive and run the alternator...)

BTW, there is at least one more powerful gaming handheld now:
http://en.wikipedia.org/wiki/Pandora_(console)
http://www.openpandora.org/
It has great specs, 8+ hours battery life (not verified, just what wikipedia claims...), and is completely "open" in every sense of the word. Sounds great, right?

Okay, now reality check: it costs $500...

Share this post


Link to post
Magnum Express said:

I don't know why you guys are discussing different gaming systems. I just want to know if there is some way of getting GZDoom to work on the DS.

You got your answer from the man himself already:

That would no longer be GZDoom. And 60 Mhz is a bit low for any ZDoom based engine. Due to some of the new feature its hardware requirements are significantly higher than for simpler engines.

Share this post


Link to post

At pathetic settings, maybe it'd work. But the same case with the mobile "phone" ports: what's the point? Controls are likely going to be arse, it's not likely going to run well, and a computer can do it exponentially better.

Share this post


Link to post
Magnum Express said:

I don't know why you guys are discussing different gaming systems. I just want to know if there is some way of getting GZDoom to work on the DS.


First step is to see if you can even get all the GZDoom dependencies to run on the NDS. You may have problems with the FMOD sound library, unless you're a registered Nintendo developer:
http://www.fmod.org/index.php/download

That's also why there's no ZDoom/GZDoom for Unix OS or "alternative" free OS other than Linux (and maybe only i386 architecture, not ARM, Sparc, etc...)

The ideal solution is someone who knows what he's doing rewrites the (G)ZDoom sound code to use pure SDL (maximum portability).

Share this post


Link to post
hex11 said:

It has great specs, 8+ hours battery life (not verified, just what wikipedia claims...)


Battery life is one of the most sore points when marketing anything portable. The hard, cold (or rather, hard and hot, from energy consumption) reality is that the methodology followed to come up with those estimates is always obscure, and "best case wishful thinking". E.g. cell phone ads claim "UP TO XXX hours wait time" and "UP TO YYY hours calls time". You can bet your ass that these are best-case estimates, taking a perfectly idling phone OS, and calls done taking into account the least possible amount of power used, with a test rig practically attached BY CABLE to the antenna output.

Similarly, "up to 8.5-10 hours for games" may be valid (barely) for something like Minesweeper or a Solitaire, not for some fast-paced arcade or FPS updating the screen 60 times a second by banging on the graphics hardware.

Similarly, when a laptop is advertised to have "up to 8 hours of battery life", with modern batteries this means having it idling, and assuming that it's probably a netbook with a (de-activated) SSD drive. Oldschool portable game consoles had no power management whatsoever, while something like the NDS or the PSP is surely designed with more consideration: they work exactly on a similar battery supply as the original Gameboy, the Game Gear and the power-hungry Lynx. Since poor performance is less tolerated on a game console however, they're less likely to do aggressive stuff like changing the CPU frequency up and down all the time.

Share this post


Link to post

My general rule of thumb regarding battery life is to take the official claim and cut it in half.

Sure if I'm playing solitaire or something on a netbook with the brightness all the way down and the CPU throttled I MIGHT get what they claim, but the reality is they will do anything to get the best numbers out there in marketing, even if they aren't realistic.

Share this post


Link to post
hex11 said:

The ideal solution is someone who knows what he's doing rewrites the (G)ZDoom sound code to use pure SDL (maximum portability).



You can't port ZDoom's sound code to SDL without lobotomizing it.

Share this post


Link to post

Is there some unique feature that only FMOD provides?

I've yet to run a PWAD with an embedded audio file that can't be played with prboom, via the sdl-mixer library. Look at all these supported formats:
http://www.libsdl.org/projects/SDL_mixer/

Maybe there is something else that ZDoom does audio-wise, but I've no idea what that might be since I never played it (no FMOD for my Unix).

Share this post


Link to post

It's not about formats but features. ZDoom makes good use of some of FMod's advanced features, including 3D positioning, reverb and floating point sound mixing.

While you may get away with SDL on levels with no sounds except from monsters, this will most likely fail the second when you try to play some advanced ZDoom mods with a high number of ambient sounds.

Share this post


Link to post

The biggest problem with SDL_Mixer is that, on Windows systems (especially Vista/7 systems), it's not very good. Crashes, glitches, etc.

SDL itself has several problems with Windows systems, too.

Share this post


Link to post
hex11 said:

BTW, there is at least one more powerful gaming handheld now:
http://en.wikipedia.org/wiki/Pandora_(console)
http://www.openpandora.org/
It has great specs, 8+ hours battery life (not verified, just what wikipedia claims...), and is completely "open" in every sense of the word. Sounds great, right?

Okay, now reality check: it costs $500...

The Pandora only supports OpenGL ES (like many other handhelds) and AFAIK GZDoom uses immediate mode.

Share this post


Link to post

Heretic's sound things are easily emulated in Doom using Dehacked. There's tons of mods already doing that, even old ones.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×