Universal Wolfenstein 3D Map Format 2011-05-07 00:50:54
So recently I've been discussing a new map format for Wolfenstein 3D with Adam Biser (WDC/WinWolf3D). We have reached an agreement on the details of the format, which you can read on Google docs. It's not really a formal specification, but it will do for now.
For those who aren't technically inclined here is an overview of the features offered by the format. First off it's loosely based off the textual map format for Doom known as Universal Doom Map Format (UDMF). As a result the format is extremely flexible and, most importantly, I can add new features later without any issues. Even though it is a text format, there is no expectation that anyone will be writing a map in notepad or anything like that.
Those who design maps for Wolf 3D will be happy to hear that the format isn't going to make map editing significantly more complex than it already it. At its core, the format still supports the idea of planes of data which act as canvas which can be "painted." The big difference now is that the set of textures is defined on the map by name instead of a global index. This makes maps a whole lot more portable than before. The editor will, however, likely hide most of the details in defining the palettes for textures, flats, and sound zones (previously floor codes). While technically you could give each wall a unique texture I highly doubt this will be common practice, and the format has been designed to take this into account.
One thing the format does away with is special floor codes. A secret exit will now be defined by assigning a secret exit trigger to a wall. "Deaf" enemies are defined by simply flagging them as such. While the format will open many possibilities for triggers (you can define a secret push wall that can only be opened from one side for example), an editor will likely automatically handle common trigger assignments, such as doors, in order to keep things as simple as they are now.
It is important to remember though that neither WDC or ECWolf will be able to support the entirety of the new format in the beginning. While the format allows things to be placed independently on the grid, Adam tells me that this would be nearly impossible to support with WDC in its current state. Probably more obviously, the format is designed assuming the possibility of stacking planes. This is a long term goal for ECWolf, but obviously the map format needs to be ready for it. At this time maps are limited to one plane (a plane in the new format is a Z layer).
ECWolf will be forcing the new map format for all mods distributed in the new package formats (WAD, PK3, etc). Old maps will be converted on the fly. This is particularly necessary since thing numbers will differ between the two formats. I'll probably be starting work on this at the beginning of June.
On a completely off topic note, since I'm writing here, BitOwl Application Suit 2.0 should be finally releasing soon. All I think I need to do is run it through a final round of testing and get the thing uploaded!