Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Weissblatt Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Map
(section)
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Map format Basics == Weissblatt supports two different map formats: # ''Legacy maps'' (sometimes called ''binary maps'') - This format is inherited from Sonic Robo Blast 2 and is generally advised against when mapping. Weissblatt will no longer develop it an thus a lot of features will be unavailable when using it. # ''[https://doomwiki.org/wiki/UDMF UDMF] maps'', upon which Weissblatt is built. UDMF stands for '''U'''niversal '''D'''oom '''M'''ap '''F'''ormat - a text-based map description format developed by the Doom source port community. To fully understand Weissblatt's map formats, you should understand the concepts of how (modern) Doom engines construct their maps in the abstract: === Sectors, Walls and Linedefs === In short, Doom maps are essentially two-dimensional top-down vertex structures with added properties for height and other gameplay mechanics. ''Walls'' are lines between two or more vertices on a map. Each wall can either be solid with a single texture assigned to it or it can be a two-sided ''Linedef'' seperating two sectors. Depending on the two sectors' floor and ceiling heights, each Linedef may be assigned a top, middle or bottom texture per-side. Linedefs can also be equipped a ''Type'' which can trigger various effects at runtime. Walls can also have multiple ''flags'', which can have effects on movement and rendering such as <code>Peg Midtexture</code> or <code>Impassable</code>. ''Sectors'' are polygons made up of multiple walls through which the player can move. Sectors can be assigned * Top and Bottom [[Flat]] [ceiling/floor texture] * Floor and ceiling height * Light level * Colored lighting (depending on the map format) * A numeric ''Tag'' (multiple for UDMF maps) * Various unique effects, such as damage upon touch ==== Tagging ==== ''Further Reading: [[:Category:Linedef Type]]'' Walls, sectors, and Things within a map can be ''tagged'' using an integer number. Depending on the sector effect and Linedef type, Sectors and Linedefs with matching tags may trigger one another, given trigger-dependent conditions, such as one or all players entering a sector or (not) having collected all [[Chakra Shards]] when doing so. Matching tags can also be used for triggers relating to Things. ==== Binary Space partitioning ==== Simply put, Doom maps are heavily preprocessed using a so-called ''node builder'' before being included in the game. A modern node builder with UDMF support is [https://doomwiki.org/wiki/ZDBSP ZDBSP] from the ZDoom source port. Node builders implement an algorithm called ''Binary Space Partitioning'' or BSP. Through BSP, all map sectors are subdivided into convex shapes and assembled into a binary tree. The game engine can then per-frame traverse the leaves of any given branch of that tree to determine all potentially visible walls. <more TBA> ==== Floor-over-Floor (FOF) ==== ''Floor-over-Floor sectors'' or FOFs are an extension upon the original Doom format which allows for multi-floor sectors like hovering bridges. To achieve this, a separate ''control sector'' is created outside of the play area to which other host sectors are tagged. Triggered through an [[FOF Linedef Type]], the engine then uniformly applies a subdivision in between the host sector's space based on the control sector's assigned textures and flats. ==== Polyobjects ==== ''Polyobjects'' are an extension to use pieces of predefined map geometry as if they were map objects. This allows for many more gameplay mechanics such as spinning geometry, sideways crushers or swinging doors. === Things and MOBJs === ''Further reading: [[:Category:Thing]] | [[:Category:MOBJ]]'' ''Things'' are static spawners for game objects placed within sectors. Upon map load, things are initialized and spawn their respective MOBJs. Things can also be given ''parameters'' and ''flags'', which may modify the Thing's behavior. Since Things are only initialized upon map load, this requires some gameplay design considerations when placing enemies such as [https://doomwiki.org/wiki/Monster_closet monster closets]. MOBJs are only spawned at runtime and represent game objects, such as enemies, gems or decorative sprites. MOBJs contain their own Object flags, which are distinct from Thing flags. === Fracunits === ''A fracunit'' is the smallest possible distance in a map. At default scale it corresponds to one texel [pixel on a texture]. In general, Weissblatt assumes a scale of 64 Fracunits per one meter.
Summary:
Please note that all contributions to Weissblatt Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Weissblatt Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Map
(section)
Add topic