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

Massive PSX levels?

Recommended Posts

Hi, I was wondering about the technical limitations of the Playstation. I know that the walls were limited to a certain height to avoid problems with the texture display and that Williams never seemed to go beyond the "26-point" monster limit.

Is there any way to test what would have happened if they did deploy, say, a Spiderdemon and Cyberdemon in the same map? This would have taken them well over 26 points. Would it have been like in the Suburbs, with the legendary overflow error?

What would have happened if they'd simply ported Against Thee Wickedly across as it was on the PC version - would we get the overflow, would it lag or would the walls just look like crap?

Share this post


Link to post

If you tried to run E4M6 in the PSX Doom, I have four guesses as to what would happen.

The game would crash the moment you tried to start the level.
The game would crash the moment the large central room came into view.
The framerate would lag to hell the moment you started the level.
The framerate would lag to hell the moment the large central room came into view.

As for exceeding the 26 point monster limit, I've always wondered if the game would run normally, but certain monster types would be invisible.

Share this post


Link to post

Maybe you could grab additional points by using a very limited texture palette, and no decorative things at all.

Share this post


Link to post

TEXTURE CACHE OVERFLOW would more than likely be the result of adding a Spiderdemon or Cyberdemon to most levels.

Share this post


Link to post
MajorRawne said:

Is there any way to test what would have happened if they did deploy, say, a Spiderdemon and Cyberdemon in the same map? This would have taken them well over 26 points. Would it have been like in the Suburbs, with the legendary overflow error?

No, it would never make it far enough to cause a "Texture Cache Overflow". It would just crash at loadtime, as the associated .IMG files would not even be able to fit into main RAM.

MajorRawne said:

What would have happened if they'd simply ported Against Thee Wickedly across as it was on the PC version - would we get the overflow, would it lag or would the walls just look like crap?

Same as above; the associated .IMG files would not even be able to load, thus causing an instant crash the moment you tried to start the map.

Share this post


Link to post
Nuxius said:

No, it would never make it far enough to cause a "Texture Cache Overflow". It would just crash at loadtime, as the associated .IMG files would not even be able to fit into main RAM.


On the PC (and computer versions, in general) this would be "solved" by swapping continuously to disk (swapping is a misnomer however, the data would simply be unloaded and loaded all the time). Of course this is impossible with a CD-ROM based version of the game, and the Playstation had just 2 MB of main RAM, thus well under the "magical" 4 MB limit of the PC version.

Basically, any version of Doom for a machine that lacks the "computrons" to run Doom on the same terms as the original DOS version (32-bit CPU, at least 25 MIPS effective computational power, at least 4 MB work RAM, at least 20 MB low-latency mass storage) will have to make compromises with regards to level size, monster count, frames, sounds etc.

Share this post


Link to post
Gez said:

Maybe you could grab additional points by using a very limited texture palette, and no decorative things at all.

Decorative things, yes, savings will be minuscule, though. Textures, no, they reserve a set amount of space for textures and sprites can't take advantage of it, so you'd just be making your level look worse for no gains.

MajorRawne, since I'm posting in this thread, I haven't forgotten about that conversion info you requested. I've typed a good amount of it up so far if you'd rather I send you something now, otherwise I'll probably finish it up in the next few days.

Share this post


Link to post
Dragonsbrethren said:

Decorative things, yes, savings will be minuscule, though. Textures, no, they reserve a set amount of space for textures and sprites can't take advantage of it, so you'd just be making your level look worse for no gains.


Aren't -single patch- textures dynamically cached like -most- other resources in Doom? There is indeed some fixed overhead which is dependent on the number of textures, but if I remember correctly the actual texture data for single-patch textures that don't require "synthesis" from multiple patches can be loaded and unloaded on-the-fly just like any other resource.

But since the PSX version probably goes out of its way to avoid disk trashing, it already uses a pretty meagre set of textures. Eliminating e.g. 10 textures almost certainly doesn't make room for a complete sprite, at least not a large sprite.

Share this post


Link to post

Dragonsbrethren, send me what you've got and send the rest when you're done. I'm aware it is not a small request, so thanks for doing this.

When it comes to PSX Doom, how come they had to chop a lot of maps down but these same maps made it onto the SNES and GBA in full?

EDIT: And how come it had an animated sky and coloured sectors? Attempts to replicate these on the PC have never looked quite as good despite today's PCs making the PSX look like a wheelbarrow. And yet they replaced the Mancubus with a Hell Knight in many maps.

Share this post


Link to post
MajorRawne said:

When it comes to PSX Doom, how come they had to chop a lot of maps down but these same maps made it onto the SNES and GBA in full?


SNES and the GBA version of Doom II used a different engine altogether and had compromises of their own (e.g. lower resolution, fewer colors, even less frames, more cut monsters, SNES lacked floor textures etc.).

Also, both SNES and GBA had a huge ROM with -relatively- fast lookup for data, which the CD-based PSX didn't. Don't forget that the PSX needed more data for a given level than even the PC version, due to the extra structures used for 3D acceleration.

MajorRawne said:

And how come it had an animated sky and coloured sectors?


Hardware acceleration, HiColor and a true 3D polygon-based engine. It's also quite trivial to load a fixed texture in the PSX's video hardware (which has its own RAM, BTW) and have it animate in the background. ZDoom doesn't look as good while in software mode with colored light, because it's still bound to the original palette but any port using 3D acceleration could do it trivially with no loss of quality, e.g. Absolution, Risen 3D. It's that there's no unified mapping standard for it, so it's not a very developed/common feature.

Basically, the PSX version is a good indication of what happens when you have too much in the way of specialized hardware, but too little in terms of "brute", general-purpose computational power and working memory: you can do some quite impressive effects easily, but fall flat on your face as soon as you hit a memory and/or CPU intensive task. This is what killed the Amigas, BTW...

For a somewhat older analogy, take Donkey Kong Country on SNES: the CPU didn't hold a candle to a 386 PC, but a sidescrolling game of that quality was hardly feasible even on a 486, which cost much more than a SNES.

Share this post


Link to post

Sony seem to cripple things. I was told the PS3 was intentionally hard to create games and DLC for so that Sony could retain tight control. With the PS1, it seems they took the Honda NSX approach to computer making: special capabilities make up for a lack of power.

Share this post


Link to post
MajorRawne said:

With the PS1, it seems they took the Honda NSX approach to computer making: special capabilities make up for a lack of power.


This was pretty much how all arcade machines and game consoles (as well as many "home computers") were designed for most of the 80s and a good portion of the 90s, and it hit a peak when the first 3D consoles (PSX, Saturn, N64) hit the street, when they had functional hardware 3D acceleration and (most) PCs didn't (yet).

Before that, console and arcade machines were designed with hardware specially designed to handle scrolling and sprites, while PCs were just one big dumb CPU (and this didn't change much until multi-core and GPGPU came along). Some computers (like the Commodore Amiga) were also designed to handle 2D animation and scrolling much better than the PCs ever did, but that backfired when things went 3D.

Over time, it became obvious that desiging purpose-specific hardware for gaming could bear no more benefits: e.g. its VERY unlikely that a console designed today will have a significantly better 3D chip than what you can get on the desktop.

So modern consoles are designed in a much more conservative, almost textbook way compared to the past. They too, need a good balance of CPU power and 2D/3D hardware, as it's unusual to find games that run mostly on the hardware like they once did.

Today, the trend for consoles is to move to the "big dumb brute CPU power" model of PCs. The first XBox was perhaps the most blatant starter of this trend, being just like a medium-powered PC of its day, and only had the benefit of running a very lightweight OS, running at TV resolution and -supposedly- geting better-than-average coding and optimizations.

Share this post


Link to post
BaronOfStuff said:

It'd most likely crash out with some sort of memory error.

Or it could blow up and cause a crater in your floor.

Share this post


Link to post
Doominator2 said:

Or it could blow up and cause a crater in your floor.

The Crater! The PSX version: so badass it turns your living room into a level from the game!

Share this post


Link to post

I know that you can get a black screen with a text that says something about memory violation when you play ┬┤suburbs┬┤ on ps1, and make a huge infight around the oozepool with the key.

Share this post


Link to post

So how do you play that map without crashing it? And why wasn't something so blatant caught by the play testers?

Share this post


Link to post

Last night I found that PSX, like Doom 64, has a static limit on polygon vertices. This means that the complexity of scenes is fundamentally and harshly limited, which may explain some of the reduction of lines of sight in various maps.

If exceeded, the game calls I_Error with a message about no more vertices being available. I'm going to assume that the game was tuned to make this not be possible before other more fundamental limits were met in the stock maps. But then you'd think the same with the texture cache, which is easily overflowed by using the BFG and spawning too many BFUG sprites.

Share this post


Link to post
Maes said:

SNES and the GBA version of Doom II used a different engine altogether and had compromises of their own (e.g. lower resolution, fewer colors, even less frames, more cut monsters, SNES lacked floor textures etc.).


Actually the SNES version is only missing the Spectre. As for the GBA Doom II, it has all the original monsters/enemies.

Share this post


Link to post
buttspit said:

Actually the SNES version is only missing the Spectre. As for the GBA Doom II, it has all the original monsters/enemies.


I know, I just wasn't particularly specific about which version had which limitations. In either case, those two particular versions are not easily compared to ports like the PSX, 32X, Jaguar, Amiga etc. because they are using completely different engines and -presumably- different level and sprite/texture data formats, internally. The only "hard and fast" point of comparison is the number of sprite views they can contain (those eat up a lot of memory no matter what format they are in).

Share this post


Link to post

I don't understand the fact that the N64 and PSX used an actual polygonal engine. How is it that a column rendering 2.5 engine was translated to a true 3D one? I suppose it's similar to how GZDoom renders in 3D? I'd like to hear more on this.

Share this post


Link to post
GoatLord said:

I suppose it's similar to how GZDoom renders in 3D?

Yeah. Notably, this is why there are mode node-related lumps in PSX and N64 maps, with the addition of the LEAFS lump. Basically, it's another solution to the same geometry problem that the community solved with GL nodes.

Another consequence of the engine change is in how sprite offsets are set. If you look at the raw data from the PSX or N64 Doom IWADs, you'll notice that the sprites never dip below the floor line like they do in the PC Doom IWADs. This is because the engine would have clipped away the parts below the floor instead of drawing them over the floor like Doom's software renderer does.

Share this post


Link to post
Gez said:

Another consequence of the engine change is in how sprite offsets are set. If you look at the raw data from the PSX or N64 Doom IWADs, you'll notice that the sprites never dip below the floor line like they do in the PC Doom IWADs. This is because the engine would have clipped away the parts below the floor instead of drawing them over the floor like Doom's software renderer does.

Just a crazy question, but is it not possible to disable z-buffer writes during plane polygon rendering so that only walls contribute to it, as in vanilla, and then turn it back on for vissprites?

I don't know nearly enough GL to have any idea what the consequences would be :>

Share this post


Link to post
Gez said:

Another consequence of the engine change is in how sprite offsets are set. If you look at the raw data from the PSX or N64 Doom IWADs, you'll notice that the sprites never dip below the floor line like they do in the PC Doom IWADs.

Yet the lowest row of pixels on some monsters (Zombies, Imps, etc.) and all items seems to have been doubled, almost as if this was taken into account during development. Odd stuff.

Share this post


Link to post

Just going back to the Suburbs crash, that did not happen to me on my first play through. My brother actually finished the game a week before I did but I cannot remember if he had the crash.

Embarrassingly, the crash first occurred for me when I was showing the game to my mum. I am not an infighter, so doubtful there was any rampant infighting, I recall I ran away from the horde and turned to see if they were following me when the crash occurred. I remember many of them were firing at me.

I never had the crash "by accident" after that.

I have never had the same error on any other map of Doom or Final Doom and didn't realise it was even possible on them.

Share this post


Link to post
GoatLord said:

So how do you play that map without crashing it? And why wasn't something so blatant caught by the play testers?

It gave texture cache overflow, my bad.
It does not happen very fast. You can play the map without trouble on uv, but when you lure a lot of monsters to one place for infighting, it might happen.

Share this post


Link to post

BTW I don't know how many people know this, but many potential texture cache overflow crashes can be avoided by bringing up the automap. Kaiser used this trick in his live stream of the game, particularly if he needed to BFG a large horde of monsters. The game doesn't render sprites with the map up so, it can't run out of memory :P

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

×