Updated Introduction to Mapbase (markdown)

Blixibon 2019-09-16 11:12:37 -05:00
parent 170608a4bb
commit c6a305735a

@ -1,10 +1,12 @@
**Mapbase** is a "modding base" for Source 2013 that makes mapping easier and more flexible for Source modders and level designers. Rather than being a mod purely intended to change how the game plays or feels, Mapbase is almost entirely directed towards mod creators themselves, alleviating the craziness of Source and providing new capabilities that help level designers make their maps prettier, more fun, and make previously impossible visions feasible.
The original idea of Mapbase came from me (Blixibon) bringing a few constant quality-of-life improvements from project to project and finally just wanting to create something that me and anyone else could draw from for any mod going forward. This eventually turned into a huge project in its own right, to the point in which it needed this wiki to document everything.
**Mapbase** is a "modding base" for Source 2013 that makes mapping easier and more flexible for Source modders and level designers. Rather than being a mod purely intended to change how the game plays or feels, Mapbase is almost entirely directed towards improving the engine for mod creators themselves, alleviating the craziness of Source and providing new capabilities that help level designers make their maps prettier, more fun, and make previously impossible visions easy.
## New entities and I/O/KV
Mapbase adds **50+** new entities and hundreds of I/O/KV (Inputs/Outputs/Keyvalues) to the engine, and that's not even counting filters or features ported from other branches of Source. Most of these additions are supposed to help with the mapping process and could go right over players' heads, allowing you to improve your technique without changing the game itself. For example, one of these entities is `point_entity_replace`, which lets you instantly "replace" one entity with another, giving the illusion of transformation. Another entity called `game_convar_mod` lets you set the value of a convar that safely saves and resets automatically on map load/unload, not having to rely on point_server/clientcommand. There's also `logic_measure_direction`, which is like the existing "logic_measure_movement", but for moving entities to the ends of traces.
Mapbase adds **50+** new entities and hundreds of I/O/KV (Inputs/Outputs/Keyvalues) to the engine, and that's not even counting filters or features ported from other branches of Source. Most of these additions are supposed to make it easier to use existing features/concepts (quality-of-life improvements) or are mostly related to the "map logic" pipeline and have nothing to do with the game itself, so most of these changes could go right over players' heads. For example, one of these logic entities is logic_skill, which could read the player's difficulty setting and detect when it's changed. A more direct entity, `point_entity_replace`, lets you instantly "replace" one entity with another, giving the illusion of transformation (kind of like `phys_convert`, but more flexible). There's also `game_convar_mod`, which lets you set the value of a convar and safely saves/resets automatically on map load/unload, not having to rely on point_server/clientcommand at all. Another entity called `logic_measure_direction` is a direct variant of the existing "logic_measure_movement", but it moves entities to the ends of built-in traces instead.
Mapbase fixes existing entities and I/O/KV that were bugged or otherwise tricky, like `func_clip_vphysics` not being able to start disabled or `OnBeginSequence` not using the target NPC as the activator. It also comes with a heavily revised FGD file that adds eyedropper support to keyvalues and inputs that needed it.
Mapbase also fixes existing entities and I/O/KV that were bugged or otherwise tricky, like `func_clip_vphysics` not being able to start disabled or `OnBeginSequence` not using the target NPC as the activator. It also comes with a heavily revised FGD file that adds eyedropper support to keyvalues and inputs that needed it.
## Map-specific files
@ -22,9 +24,13 @@ It also has a few new icons for *existing* entities, like `logic_playerproxy` ha
## Graphical changes
Mapbase isn't supposed to change the feeling of Source or HL2 itself *in-game*, but it does change a few things for mappers and other kinds of modders to toggle at will.
Mapbase isn't supposed to change the feeling of Source or HL2 itself *in-game*, but it does have a few quality-of-life improvements related to the graphics **(and the shaders)**, usually for mappers and other kinds of modders to toggle at will.
For example, Mapbase gathers projected texture fixes and features from all over the Source community, drawing from the VDC, Alien Swarm, and various open-source projects like G-String, making projected textures in Mapbase much more stable and usable than their original Source 2013 counterparts. Mapbase also uses radial fog from Half-Life 2: Downfall, which means fog won't change with the camera angle anymore.
Mapbase changes the shaders in Source. This is a major point of modding that has a few demands and caveats, but we've tried our best to make the most of it.
For example, Mapbase gathers projected texture fixes and features from all over the Source community, drawing from the VDC, Alien Swarm, and various open-source projects like G-String, making projected textures in Mapbase much more stable and usable than their original Source 2013 counterparts.
Mapbase also includes ASW radial fog from Half-Life 2: Downfall, which means fog won't change with the camera angle anymore. This is one of the only changes that can't be toggled at will, but its high demand and appeal (and the fact it can almost be considered a bug fix in-game) make it tolerable.
You can find an overview on Mapbase's graphical changes [here](Graphical-Changes).
@ -32,6 +38,6 @@ You can find an overview on Mapbase's graphical changes [here](Graphical-Changes
**Almost all gameplay-related changes are off by default and controlled by the mapper.** They are mostly just new keyvalues that mappers could enable or disable and don't interfere with existing behavior. Most of these changes are related to NPCs, like metrocops being able to use most other kinds of weapons (AR2s, shotguns, etc.) or rebels being able to use the AR2 alt-fire, the latter of which is an unused feature.
There's also tons of dynamic interaction changes [worth looking into](Dynamic-interactions), but new ones are off by default and must be toggled through a new keyvalue.
There's also tons of dynamic interaction changes [worth looking into](Dynamic-interactions), but new ones are off by default and must be toggled through a new "Dynamic interactions enabled" keyvalue, which can also control existing interactions.
You can find an overview on Mapbase's gameplay changes [here](Gameplay-Changes).