Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Eye del Cul

View number of visplanes with PrBoom?

Recommended Posts

Hi all. My first message in Doomworld, though I've been reading the forum ocasionally for months.

I'm working in a map for the classic Doom. It's fun trying to avoid the limits of the original engine. And the question is, I'd love to see some diagnostics -number of visplanes in view, etc-, rather than the Chocolate Doom crashes when my map exceeds those limits...

I'm a regular user of PrBoom, and looking in its documentation, in the list of features, I noticed the following:

* Real time frame rate, segs, visplanes, sprites display (LxDoom)


So it seems that PrBoom has the feature I'm looking for, inherited from LxDoom. But I've not found how to use it. It's strange, the documentation comments nothing about this. So, anybody knowns how to display those stats with PrBoom?

Thanks, and sorry for my bad English, I'm from Spain.

Share this post


Link to post

It's not related to your PRBoom question but there's a modification of Chocolate Doom, Choco Render Limits, which displays this information in place of the statusbar. I'm not sure where to get it anymore though, a quick search here turned up nothing.

Edit: Nevermind, ninja'd, and with a link. Been looking for it myself if I ever get back into mapping, thanks exp.

Share this post


Link to post

IDRATE cheat shows number of visplanes and some other stuff, but yeah you should use hacked chocolate for checking vanilla levels.

Share this post


Link to post

Yeah. Due to changes made in BOOM and MBF, most descendant ports can't display a visplane count that would be anywhere near representative for purposes of limit compatibility testing. The disparity has grown so large in EE that I have finally just removed the SMMU visplane counter entirely, since it's ultimately just cruft.

EE typically has *more* visplanes for a corresponding scene than vanilla now, due to differences in how sky rendering is handled. I know even with the VP threshold cranked up to max, I was getting indications in several places in heretic.wad where the vanilla game engine never bombs out.

Share this post


Link to post

Thanks for the suggerences, I've downloaded Chocorenderlimits and works well.

Yeah. Due to changes made in BOOM and MBF, most descendant ports can't display a visplane count that would be anywhere near representative for purposes of limit compatibility testing.


It seems true. Using the IDRATE "cheat" in PrBoom, the visplane count in the same areas of my map is different than the numbers showed by Chocorenderlimits. Usually lower.

Share this post


Link to post

It's worth pointing out that the 256 visplane limit in Chocorenderlimits is so that VPOs can be detected without actually crashing it. It's rather misleading, the way it's displayed, because the visplane limit that actually matters to the user is 128.

The 256 drawsegs limit is the same as vanilla, though, as it doesn't cause the game to crash.

Share this post


Link to post

Off topic, but "del cul" means "of the ass" in Italian, and probably other languages too.

About your question..in general predicting if a certain map will crash a given engine is one of the so-called "np complete" problems -aka too damn hard to accurately compute for every possible subcase and player viewing position. So in general the best thing to do is just playtest and see if it will crash or not -even vanilla maps occasionally crash because you just happen to stand in the "wrong" place looking at the "wrong" direction, which official playtesters didn't do.

Share this post


Link to post
Maes said:

So in general the best thing to do is just playtest and see if it will crash or not

Well, it might not crash for you in your playtest, but it might crash in someone else's run. I'd rather a mapper play it safe and stay under 100 visplanes at all times in their playthrough. (simply not crashing would mean it stays under 128 visplanes, which is less safe than 100 by definition :P) But given my inexperience as a mapper, what is the general consensus as to the number of visplanes to stay under at all times?

Maes said:

even vanilla maps occasionally crash because you just happen to stand in the "wrong" place looking at the "wrong" direction, which official playtesters didn't do.

Ooh, interesting. I always assumed that vanilla maps had too little detail to do that, in order to maintain a playable framerate on computers of the time.

Share this post


Link to post
Spleen said:

Well, it might not crash for you in your playtest, but it might crash in someone else's run. I'd rather a mapper play it safe and stay under 100 visplanes at all times in their playthrough. (simply not crashing would mean it stays under 128 visplanes, which is less safe than 100 by definition :P) But given my inexperience as a mapper, what is the general consensus as to the number of visplanes to stay under at all times?

If I'm seeing 127 when I stand in the wrong place, it might be time to consider cutting back. :P

Share this post


Link to post

Staying under 100 sounds like a good plan to me.

I just had a thought: a monster opening a door in the distance could suddenly make the visplanes jump up, possibly overflow. I dunno how to handle this, perhaps you need to add the doors at the very end when you are sure this cannot happen.

Share this post


Link to post
andrewj said:

Staying under 100 sounds like a good plan to me.

I just had a thought: a monster opening a door in the distance could suddenly make the visplanes jump up, possibly overflow. I dunno how to handle this, perhaps you need to add the doors at the very end when you are sure this cannot happen.

When building vanilla maps and stress-testing them, I test with all doors forced open to 4 units below the adjacent sector, then close them later on once the area is complete and I'm reasonably satisfied with my testing. Testing with lifts both up and down, where applicable, and other setups involving moving floors/ceilings, is also important for avoiding unpleasant surprises.

Share this post


Link to post

As I said, it's an np-complete problem: the number of visplanes is not always equal to the number of sectors: visplanes can be thought as the "subsectors" that result after passing your map through a node builder (in plain words, every room you make, even a square one, will be split into smaller subsectors for the engine to use, it won't render a large open area as one big-ass sector).

So while editing, you already have an uncertainty on what the actual subsector (SSECTORS) configuration of your map will be: you can only control SECTORS, which will be turned into SSECTORS by the node builder.

Futhermore, during gameplay, some SSECTORS are merged into a single visplane by the engine, if they use the same texture/have the same height.

Roughly, you can expect every SECTOR in an average sized and detailed area to split into 3 SSECTORS, and those 3 SSECTORS to result in 2 visplanes, on average (pretty crude, but it gives you an indication of what to expect). Things that make matters worse are using excessive floor and ceiling flat variety, because they prevent visplane merging (I remember a very simple WAD that showcased every flat in one room crashed under DOOM v1.1) and of course using a lot of detail, protruding objects, slopes, etc.

Still, unless your map is really pathological in design, the only way to see if it will crash is to play the finished product (aka something that has been node-built and is being rendered through the target engine) and see if it will crash. OK, so you may not catch the case of someone surveying all of the level through a convoluted window and elevator passage from an awkward little alcove on a hill...shit happens.

Share this post


Link to post
esselfortium said:

I just had a thought: a monster opening a door in the distance could suddenly make the visplanes jump up, possibly overflow. I dunno how to handle this, perhaps you need to add the doors at the very end when you are sure this cannot happen.


Another solution is blocking the view of the door and the area behind with a pillar or a wall.

Also, I remember reading that different node builders with different options produce different numbers of visplanes. I suppose that these differences must be small, though, given that the number of visplanes depends mainly on the level's design.

Maes said:

even vanilla maps occasionally crash because you just happen to stand in the "wrong" place looking at the "wrong" direction, which official playtesters didn't do.


Yes, happened to me in MAP14 :).

Share this post


Link to post
Eye del Cul said:

Also, I remember reading that different node builders with different options produce different numbers of visplanes. I suppose that these differences must be small, though, given that the number of visplanes depends mainly on the level's design.


The total number of visplanes should be more or less the same in the average case (depends how the node builder "bootstraps"), as should the number of visplanes per area. In the worst case, you must assume that ALL of a map can be visible at once, or at least that large continuous areas with windows, doors etc. are always fully visible. In that case, you should work on the sectors in one area, trying to keep them less than 1/2 or 1/3 of max visplanes.

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
×