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

The worst part of editing in Vanilla

Recommended Posts

3 hours ago, Linguica said:

Now imagine mapping in the 1990s when the only way to check was to load the map and run around waiting for it to crash...

Can't even imagine how people back in the day mapped without even a 3D view mode, I can only imagine pain.

Share this post


Link to post
5 hours ago, DJVCardMaster said:

Can't even imagine how people back in the day mapped without even a 3D view mode, I can only imagine pain.

My last wad released 3 years ago was made without a 3D mode. When you do it for so many years, you gain an intuition for what a map will look like based on the level geometry and metrics you see in the editor. I think it's actually a good thing to not have to rely on it. :)

Share this post


Link to post
On 12/25/2018 at 11:16 AM, Linguica said:

Now imagine mapping in the 1990s when the only way to check was to load the map and run around waiting for it to crash...

Now imagine the section you are working on is at the very end of a long map.

Share this post


Link to post
3 hours ago, Ichor said:

Now imagine the section you are working on is at the very end of a long map.

Temporarily change the player 1 start position?

Share this post


Link to post
1 hour ago, Gez said:

Temporarily change the player 1 start position?

I've done that, and I've also on at least one occasion forgotten to put it back when the map is done.

Share this post


Link to post

DoomCAD had a primitive 3D view that was just a wireframe mode and it took a while to compute it.

Share this post


Link to post
19 hours ago, Gez said:

DoomCAD had a primitive 3D view that was just a wireframe mode and it took a while to compute it.

I used DoomCAD, but I don't remember a 3D mode. Maybe that feature was added in later versions. I used the very first version that supported Doom 2, which was bundled with the Doom Hacker's Guide book. Or, maybe I don't remember it because it was so long ago.

Share this post


Link to post
On 12/27/2018 at 8:58 PM, NaturalTvventy said:

It wasn’t THAT bad without editor 3D view. The 3D view was called running the game.

But on a 486 building the nodes and starting the game took quite some time.

Share this post


Link to post

Yeah I think people forget what it was like to be working with a genuinely old and slow computer. I distinctly remember sitting there twiddling my thumbs waiting for a node builder to finish what was a relatively small level by modern standards. It was not something you just did on a whim.

Share this post


Link to post
16 minutes ago, Fuzzball said:

I've heard tales of using a calculator for things like texture alignment too

Haha, Deepsea actually had a built-in calculator where you could enter strings like "8*24" and it would spit out an answer. I used that thing a lot.

Share this post


Link to post
16 hours ago, Fuzzball said:

I've heard tales of using a calculator for things like texture alignment too

I remember doing that.

Share this post


Link to post

Yeah, I find visplanes and the savegame buffer overflow to be the two vanilla limits that really encumber you.  I remember getting an editor on disk from someone when I didn't have the net as a kid and so couldn't even look up what a visplane was. Too many lines? Too many sectors? Knew it was something to do with one of them, but it just entailed a horrible loop of trial and error on my 386. I think I'd tried to build a pyramid with too many steps.

 

The savegame problem is in a way even more pernicious because of the dynamic nature of the save size and that it doesn't immediately bomb out like visplanes.  I've just had to split a level in two because I'd forgot to keep tabs on this, and it's totally messed up flow.

Share this post


Link to post
On vendredi 28 décembre 2018 at 5:30 PM, Empyre said:

I used DoomCAD, but I don't remember a 3D mode.

Note a full-fledged 3D mode where you can edit stuff, like in modern editors; just a simple 3D preview. Any modification to the level could only be done in the regular 2D editing mode. But it definitely had one, and in fact it even boasts about it:

https://www.doomworld.com/idgames/utils/level_edit/dmcad61

Quote

DOOMCAD 6.1 (beta): Doom, Doom2, and Heretic level
editor.   All new interface and Integrity Checker.  
3D preview, Prefab Construction, etc.  

 

Share this post


Link to post

For "modern" Vanilla editing, I would say visplanes and limited linedef specials are the two stand-out "worsts".

 

90's-era editing had its own batch of irritations. Manual texture alignment, slowness of node building, and the need to play the map to test it (vs. today's 3D preview) were big ones. Also there wasn't the same concept of internet at the time, so most problems you had to figure out on your own. It was necessary to write down (yes, on paper) issues during testing so you could fix them in batches versus popping in and out of the game. If a crash happened, many times you'd resort to deleting areas until the crash went away, and then rebuilding from there.

 

Minor nuisances, too. Early editors didn't have much automation. Deleting sectors was a manual process: fix-ups with sector merging was done by hand, along with stray vertex deleting and linedef one-siding and flipping.

Share this post


Link to post

As a newcomer from 2018 I can't stree enough, what a big improvement Doom Builder and especially its 3D mode is. Without this I would not be able to place a single linedef and align a single texture.

 

Praise be! Thank you Doom Builder!

Share this post


Link to post

All these people saying visplanes are the worst thing about vanilla have CLEARLY never tried adding custom sprites. Good lord, talk about pain and confusion. It’s easy to take fast computers, internet access, excellent editing programs, source ports, a wealth of documentation and a large, helpful community for granted. I’m extremely thankful for it all.

Share this post


Link to post

Does anyone know if any of these old doom editors work on modern windows versions? Just want to see how its like back then.

Share this post


Link to post
59 minutes ago, Rhebiz said:

Does anyone know if any of these old doom editors work on modern windows versions? Just want to see how its like back then.

 

For a truly vanilla experience, use DOSBOX, DEU and DEUTEX or NWT.

 

You can even run vanilla Doom in such an environment, if you are so inclined.

Share this post


Link to post
Just now, JadingTsunami said:

 

For a truly vanilla experience, use DOSBOX, DEU and DEUTEX or NWT.

 

You can even run vanilla Doom in such an environment, if you are so inclined.

Alright Thanks!

Share this post


Link to post
On 12/28/2018 at 7:45 PM, EarthQuake said:

Haha, Deepsea actually had a built-in calculator where you could enter strings like "8*24" and it would spit out an answer. I used that thing a lot.

DCK was not quite that robust. :P

Share this post


Link to post
2 hours ago, Doomkid said:

All these people saying visplanes are the worst thing about vanilla have CLEARLY never tried adding custom sprites. Good lord, talk about pain and confusion. It’s easy to take fast computers, internet access, excellent editing programs, source ports, a wealth of documentation and a large, helpful community for granted. I’m extremely thankful for it all.

 

Custom in terms of new or just replacement sprites? I don't remember replacements alone requiring tricks. I remember adding sprites alongside other content (e.g., FLATs) had some quirks though.

 

I agree getting DeHackEd with sprites was challenging.

Share this post


Link to post
2 hours ago, rf` said:

DCK was not quite that robust. :P

DCK also had a hidden limit of roughly 8,000 sidedefs for a map. Anything more and the map won't load. I found that out the hard way.

Share this post


Link to post
1 hour ago, JadingTsunami said:

 

Custom in terms of new or just replacement sprites? I don't remember replacements alone requiring tricks. I remember adding sprites alongside other content (e.g., FLATs) had some quirks though.

 

I agree getting DeHackEd with sprites was challenging.

You have to either replace every sprite or none at all in vanilla Doom. You can use dehacked to specify custom sprites which is pretty easy to do these days, but in the era before ample documentation it was tough. You could also use deusf to manually insert custom sprites temporarily into Doom2.wad but that’s messy in it’s own way. Flats were a bit easier, you had to make sure you had an F_END lump, but not an F_START, if I recall correctly. Just unnecessary pains in the butt that even most of the oldest source ports instantly fixed.

 

Apparently they tried to add support for custom sprites but didn’t test it, so it doesn’t work. This is the reason that adding custom sprites is such a huge pain in vanilla. Edit: it’s worth noting that it’s thanks to fraggle and Chocolate Doom stuff that I know this!

Share this post


Link to post

The reason sprites (and to a lesser extent flats) are troublesome is that they're put in a namespace, and vanilla Doom can only have one namespace of each kind. Namespaces are delimited by markers in WADs, they are the *_START/*_END pairs. Some of these markers are fake and actually ignored by the engine, so we'll focus on the two pairs that are actually relevant: F_START/F_END and S_START/S_END.

 

When the Doom engine wants a flat, it starts at the last F_END marker and then looks backward up to the last F_START marker, trying to find a lump with the requested name. The problem comes from how when you load several wads, they are kind of concatenated together in memory, in the order they're loaded. So that means that if you have an F_END marker in your mod, it'll use this F_END marker, and not the F_END marker from the IWAD which is "before" and therefore not the last. There can be only one. How do you access the flats from the IWAD then? Either you copy them all, or you simply omit to have an F_START marker in your mod, this way it'll use the F_START marker from the IWAD. As a result, you'll get a lot of extra stuff put into the flat namespace (including the IWAD's own F_END) but that's not a problem as long as none of that stuff has the name of a flat loaded previously so that they don't replace legitimate flats.

 

For sprites, you have the same deal. Only one namespace. So you could use the same trick as for flats to extend it, right? Except that sprites go through a special validation procedure when loaded, because their names are subject to two restrictions:

  1. They must be of the form NAMEFA or NAMEFAFA, where NAME is the four-character name of the sprite (e.g., TROO for the imp, POSS for the zombie, PLAY for the player, etc.), F is a frame identifier that can be any value from A to Z (uppercase) as well as [, \ and ] (lousy arch-vile and its 29 frames);  and A is an angle that can be a value from 0 to 8. E.g. PLAYA1. It's possible to have two different sprites combined so that the sprite will appear straight for the first frame+angle combo and mirrored for the second, e.g. PLAYA2A8 gets to be both PLAYA2 and (mirrored) PLAYA8.
  2. If a sprite with an angle greater than 0 exists, then the same sprite with the same frame must exist for all other legal non-0 values. E.g. if it finds PLAYA1, then it must also have PLAYA2, PLAYA3, PLAYA4, PLAYA5, PLAYA6, PLAYA7, and PLAYA8.

Failure to comply with these requirements will cause Doom to abort on loading. This check is done for every single lump found between S_START and S_END. If you use the same trick as for flats, then it will be done at least with the IWAD's own S_END, and as you can see, S_END is not a valid sprite name. So you're out of luck.

 

Where ports make everything better is that instead of having one single marker pair for each namespace, they get marker pairs for each namespace for each loaded archive. So when looking for a flat, it'll search from MYMOD.WAD's F_END to F_START, and then from the IWAD's F_END to F_START. Same for sprites. No need for kludges anymore!

Share this post


Link to post
54 minutes ago, Gez said:

marker pairs for each namespace for each loaded archive.

 

Now they just need to extend that to PNAMES! Well GZDoom already does, but Boom ports don't.

 

(Thanks for a great explainer, as always, on sprite loading in vanilla!)

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
×