Glossary
This is a long list of things found in Soulsborne games and mods, both engine features and gameplay mechanics, and may be a useful starting point for finding out how something is done or just what something means.
For a starting point from file structure and tools, see Game Engine & File Formats. Many of the tools discussed below also have programmatic entry points with libraries such as SoulsFormats and soulstruct.
A
Action button | An in-game text prompt to interact with some object. This may come from emevd waiting to interact with some specific region/object, or built in with ObjActs. In DS3 onwards there is a param for it. Alternatively, such prompts can be created with a combination of ESD and params, when there is dialogue/menuing involved after the prompt. |
Animation | mesh or skeleton positions for game entities, with frame-keyed events added with TAE annotations. All animations have unique ids, and may be layered on top of each other, as managed by behavior files. Examples include sitting at a bonfire, using a weapon R1 attack, taking damage, rolling, a door being opened, and an elevator moving. |
Area | the displayed name of an area, which pops up when you step on a collision marking the boundary. Maps will often contain multiple display names. |
Attack | an action taken by a character, including the player, which can apply damage and/or effects along with animation(s). This is a type of behavior. |
B
BDT/BHD | these are like 'roms' which are archives of all game data, compressed and sometimes encrypted. UXM and UDSFM can be used to dump their contents. |
Behavior | in params and TAE, data associated with some action and its effects, such as speffects, stamina cost, and various state changes. These can apply for any attack (ref type 0) or bullet (ref type 1). Another definition - there are also Havok behavior files, which manage animations and state transitions for characters. |
BND | an archive format used in many game files. Can be unpacked with WitchyBND. |
Bonfire | an in-game character you can interact with through ESD, which has some special integration with spawn points, bonfire sitting, and kindling/activation levels. Bonfires are registered in emevd. Activating, naming, and warping between bonfires is defined in bonfire warp params. |
Boss | can differ from game to game, but is usually a non-respawning enemy character with a named health bar and a custom arena. Fog gates, health bars, post-defeat actions, and item awards are usually all implemented with emevd, and cutscenes before or after are initialized from emevd. Bosses arenas usually are unstable play regions, meaning that player position is not saved there. |
Bullet | a projectile which can apply some damage and/or effect if it hits, triggered from TAE. This is used for literal projectiles, although also some more esoteric cases like the perilous symbol in Sekiro. Bullets can also be created in emevd. They are a type of behavior. |
C
Character (chr) | identifier used for the player (c0000) and NPCs, including enemies. Character data is present in several formats and locations. This includes models, textures, animations, behavior, AI, dialogue, and some SFX/SE which are associated with the chr directly. |
Character (human) | in Soulsborne games, CharaInitParam and related params define character loadouts on c0000 models. This includes both starting classes and world NPCs. Specific characters and NPCs will also have face params. |
ChrESD | Variant of ESD. Used in DeS and DS1 to handle character state. See ESD for more info. |
Collision | an invisible polygonal surface in maps that is used by the physics engine (Havok) for floors, walls, death planes, and misc other interactions like ledges in Sekiro. Also called a hit. AI navigation data (navmeshes) are associated with these. They can be enabled and disabled using event scripting if they have an entity id. |
Cut content | resources or scripting which are present in the game but impossible to see in the game itself without mods. |
Cutscene | implemented with mqb files. Also called remo. |
D
DCX | a compression format used by most souls files. In Sekiro, this uses an external library called Oodle. It can be unpacked with WitchyBND. |
Debug menu | an in-game menu which can be used to interact with game structures at a lower level. Usually only present in alpha builds of games, although some functionality may exist as unused code in the shipped game. |
DrawParam | used for per-map rendering configuration (tone, light, shadows). Different versions of draw params for a map can be activated with emevd. |
DLSE | Generic serialization format. Used for FFX and ESD in DeS. Used for FFX in DS2. |
Dummypoly | ID for a specific point in a model used as locations for hitboxes, visual effects, and much more. Dummypolys can be a single location or multiple locations on a model. Can be manipulated with Flver Editor. |
E
EMEVD | Event scripting format used from DS1 onwards, probably the compiled bytecode from some unknown higher-level language. It is responsible for most instances of objects or enemies conditionally appearing or not, and changes in the world based on player actions and hitting triggers, and handling of boss fights and some special item drops, and so on. Editing these scripts is one of the most valuable tools for making mods which significantly change game progression. This format consists of a list of events, each of which contains a list of bytecode-encoded instructions, which range from general procedural tools (initializing other events, boolean operators) to very specific (give item, check if player holding a light source). There is one common emevd script which is continually running while the game is loaded, and per-map emevds which run while those specific maps are loaded. Watch HotPocketRemix's event scripting Youtube tutorials to get started. Note that DS2 uses ESD instead for events. |
Entity group id | a secondary entity id which can be used to manage multiple entities at once, in emevd instructions which support that (not in DS1). |
Entity id | a numerical identifier for any object, enemy, NPC, spawn point, map part, collision, region, ObjAct, etc. in a map. Not all objects need to have entity ids, and having an id does not do anything by itself unless other parts of the game, usually event scripting or params, use the specific id. Entity ids are often prefixed by the map ids - for instance, most entity ids in Great Hollow (m13_02_00_00) are 7-digit numbers like 132xxxx. |
ESD | State machine-based scripting format. It is used in all games for dialogue scripting, including for bonfires and similar interactable objects. It is used in DeS and DS1 for chaining character actions performed in the game, a role subsumed by Havok behavior files in subsequent games. It is used in DS2 for event scripting, rather than emevd, and some AI scripting. These state machines are pulled into the game from map data, usually MSB, and associated with specific map entities while they are running. In DS2 and onwards, state machines can call into other state machines in the same ESD file like subroutines. |
Event (EMEVD) | a group of instructions which execute from top to bottom, identified by a numerical id. This is like a function which can be called. Event 50 always runs first (preconstructor), then event 0 (constructor). These events in turn initialize all other events in the file. Most events start with instructions which allow the event to lay dormant until some condition is met - for some event flag to turn on, or some enemy to be killed. Some events can be initialized multiple times with different parameters, and all such invocations run in parallel. While events always execute instructions in order, they may skip instructions, end early, or restart themselves. Events can be classified as automatically restarting on bonfire rest. And of course, all events start new after quitting and reloading the game. |
Event (MSB) | miscellaneous map data in the MapStudio format. They usually refer to other entities in the map to associate them with some param. Notably ObjAct and treasure are defined in this way. |
Event flag | a numerical identifier with an on/off value. These are used extensively for game world state. For example, in DS3, flag 9314 is used for Aldrich being killed. Flag 53100010 is used for whether the settlement bone shard has been picked up. Flag 13700003 is used for whether the Anor Londo bonfire has been reached. The first is done from emevd, and the latter two are configured in params. Only certain ranges of flags are persistently saved - this is hardcoded in the exe. Any flag ending in 5xxx is never saved. One final place event flags come from is events themselves - when an event ends, either explicitly or from executing its final instruction, a flag is turned on for that event id. If an event is instantiated multiple times in different slots, event id + slot number is used instead. |
Event value | an emevd feature for encoding a small unsigned integer in event flags. If n flags are used to store a value, 2^n possible values can be stored, with the least significant bit first. These are pretty finicky and only work for some hardcoded bit lengths, and seemingly cannot be used with e.g. shop quantity flags despite using the same format. |
F
FLVER | Proprietary format used for rendering data. It defines model meshes, skeletons, and links to materials and textures. Can be converted to/from the more blender/max friendly FBX format with custom tools. |
fmg | Used for text data. String text is keyed by integer IDs. |
FFX | Also known as SFX. Not to be confused with VFX. Cosmetic visual effect that can also produce sounds. Can be spawned at fixed points in the map, attached to characters/weapons at specific model points, projectiles, and more. Used in DS1 & DS2. |
Fog gate | an object in maps which is solid and has corresponding opaque SFX. For the most part, these are all managed by emevd and have entity ids. Traversing them is implemented as an action button followed by a scripted animation. They are also enabled at play region boundaries during invasions/co-op. |
FXR | Also known as SFX. Not to be confused with VFX. Cosmetic visual effect that can also produce sounds. Can be spawned at fixed points in the map, attached to characters/weapons at specific model points, projectiles, and more. Used in DS3, Sekiro, ER, and AC6. |
G
GParam | Graphics param. Config format for per-map draw params from DS2 onwards. Format differs from standard params. |
GFX | An animation file that contains vector and raster graphics in a format similar to the .SWF file format. Can be edited with JPEXS Flash Decompiler. |
H
Havok | A behavior system used to control all character animations. Uses hkx behavior files and hks Havok script files. Used in DS3, BB, and Sekiro. Also used in DS2 cutscenes (at least). |
I
Item | Items are anything that can be in the player's inventory. The four main categories are weapons (skills and prosthetics in Sekiro), armor/protectors, rings/accessories (runes in Bloodborne), and goods (key items/consumables/other). Each category has a param defining each item and how it can be used, which are typically stored in params ending in "EquipParam". Items are referred to by type and id in EMEVD, ESD, item lots, and shop params. Each item type has a corresponding FMG for the name, short description, and full description by item id. Later games can have a 4th text category. Item textures are also keyed by item ids. |
Item Lot | an item or group of items that can be granted to the player. |
J
Jump table (TAE) | a group of parameter-less commands in TAE used with event types 001 or 307 |
K
L
lua | Scripting language used for AI (in the script directory), and for events in DeS and parts of DS1. |
M
Map | See the entry for MSB below. |
Map piece | Also known as a map part. Not to be confused with parts. These usually have several LOD (level of detail) models and may not have physics by themselves, instead using an invisible collision to serve as a floor/wall/etc. |
Material (equip) | a list of items which can be exchanged for upgrades. In Souls games these define the number and type of titanite shards to increase weapon level. These can also be used with shops, like with DS3 boss weapon transposition and Sekiro skill/prosthetic trees and Sekiro carp scale shops. |
Material (model) | Used to determine which textures to use for a model. The name of the material is also used as a flag certain features, such as model masks. |
MSB | Format for map files, with position and some configuration of everything which exists in the game world. Many of these things have entity ids, which allows in-game scripts to interact with things by id. MSB names so far are structured like m30_01_00_00, with the first two numbers as a unique area and block id, and the last digit sometimes incrementing for different versions. DsMapStudio is a relatively user-friendly tool for viewing and editing them. |
Music | implemented as boxed regions in MSB where the music is active which can be enabled/disabled. These reference a sound file by id in FSB. |
N
Navmesh | data about how enemies can navigate within and between collisions, baked on top of the collision data. |
NPC | data for any chr in the game, enemies or otherwise, including HP, defense, size, and item lot drops. Copies of an enemy may have the same NPC param id. |
NPC think | data for any chr in the game which points to which AI script is used for them, as well as the range at which they detect player movement/sound. Copies of an enemy may have the same NPC think id. |
O
ObjAct | a persistent change of object state, based on player interaction. For instance, opening doors and using levers. |
Object | usually static entities in a map which are not hardcoded map parts, named like o000500. Some of these can be destroyed in certain circumstances, as defined in object params. Emevd can be used to activate/deactive objects and show animations/change states not already handled with with ObjActs. |
P
Params | usually refers to game params, which determine the behavior and properties of many integer-keyed game objects and mechanisms. Can be edited with Dark Souls Map Studio (recommended) or ParamVessel. |
Parrying | Info about how the parry mechanic works depending on game. |
Parts | models and textures used for equippable weapons/armor. |
Play region | a property of collisions in MSB which defines what can happen when the player stands on them. Some regions allow pvp invaders; others allow placing summon signs; others are for boss fights and will create unstable collisions, prevent reloading in the arena. Usually fog gates are put on play region boundaries while multiplayer is active. In BB onward this is handled in params, but DS1 uses a special convention: positive play region id for pvp/coop areas, -1 for always unstable, -2 for stable with no invasions, and <-10 for conditionally stable regions, based on the value of the event flag at (region id)*-1 - 10. |
Q
QWC | Refers to systems that utilize world tendency, mainly used in DeS. DS1 uses it for the Gravelord Servant covenant. For DS3, outdated param editors refer to QWC in ShopLineupParam as the flag that unlocks the item, but this is incorrectly labelled. |
R
Region (MSB) | Internally called points. Regions in MSB data used for a large variety of purposes, such as spawning SFX and SE, checking player and enemy positions, playing music, warping characters, and much more. Regions can a variety of different shapes, and newer games allow compositing several regions together. |
Remo | Rendered movies. Cutscenes rendered in real-time. Used in DeS, DS1, DS2, DS3, BB. |
S
Shop | List of items which can be purchased from an NPC. Shop params define an id per sell slot, and shop menus can be opened for all params in some range with an ESD command. Items are only eligible for shops if the game considers them purchasable by the player - generally when the item's param entry has a default buy price. Shop lineups can have prices overriding the default and event flags for when the item shows up in the shop. The lineup also includes the quantity being sold: -1 for infinite items, or the quantity plus an event flag otherwise. |
Shop event flags | there are up to two of these per shop slot: to track whether a fixed-quantity shop item has been sold, in all games, and for items conditionally showing up in shops based on the event flag in BB onwards. Visibility flags are used quite heavily in DS3, where all items are in the Handmaid's shop from the start but only show up depending on which ashes you hand in. It's also used for tomes/scrolls for the other NPCs. The quantity event flag is the base of an event value storing how many items have been sold - on/off in the case of quantity of 1. |
SFX | Also known as FFX. Not to be confused with VFX. Cosmetic visual effect that can also produce sounds. Can be spawned at fixed points in the map, attached to characters/weapons at specific model points, projectiles, and more. |
Sound effects (SE) | usually a short sound. These can be used in many of the same circumstances as SFX, with a numerical id keying into a sound from FSB. |
Spawn point | can refer to a few different types of points in MSB. There are MSB point regions specifically designated as spawn points, which are registered with bonfires and are where you respawn after homeward bone/death. The first such spawn point listed in an MSB is the default in an area, and the game can put you there after a generic 'warp to area' or if it doesn't know where else to put you. There are also MSB player entities which can be used as a target for warping without respawning. Finally, MSB event regions can be used as targets for post-cutscene warps if the area id is also provided. |
SpEffect | a status which causes some gameplay or cosmetic change in the player or enemies. These can be instantaneous, timed to some fixed amount, or indefinite. SpEffects can be set and cleared from wearing equipment, using an item, being hit with an attack or bullet, from TAE, or from emevd. They may also have icons which show up near the HP bar. Gameplay changes can happen from various fields in SpEffect params. Many major SpEffects also include a stateinfo parameter. |
stateinfo | the system for per-character state management tied in with Havok behavior files (BB, DS3, SDT) / EzState files (DeS, DS1). Referenced in params/TAE to trigger a status on player or enemies; in that case, the id acts like a special command for low-level behavior handlers to conditionally perform some action. |
T
TAE | Time Act Events. Events are defined during animation frames and can do many things such as sounds, SFX, attacks, invincibility, and more. |
Talk | Spoken dialog and associated subtitles. Dialog Talk IDs are defined in talk param, which includes a reference to an FMG text id and to an FSB audio id. These talk IDs are referenced in TalkESD files. |
TalkESD | Variant of ESD. Handles dialog menus, character speech, and more. Examples include bonfire menus, shops, NPCs. In AC6 it's also heavily relied on for events. See ESD for more info. |
Throw param | Used for "grabs", including backstabs and ripostes. |
Team type | Defines other characters' alignment (in NPC and multiplayer) including who its AI will attack, who it can damage, and who it can take damage from. This is different from game to game - look at existing NPC params to determine the best team type for a new NPC. |
Treasure | MSB event which connects an object on the map which can have a treasure state (e.g. corpse, chest) to an item lot |
U
Unstable collision | Unofficial term for a collision which doesn't save position. If you quit out on them, the game will restore you to wherever you were before stepping on the unstable collision. If there is no such location, you will be sent to that map's (or the previous map's) default spawn point. This is implemented conditionally for some collisions through event flags. In DS1, collisions becoming stable after event flag x will have play region id -(x+10). In later games, this event flag is explicitly defined in play region param. |
V
VFX | Not to be confused with FFX/SFX. Refers to SpEffectVfxParam, which may be used to produce FFX/SFX, sound effects, and other misc visual effects. |
W
World tendency | See QWC. |