2 Glossary
bryanthaboi edited this page 2026-10-20 17:01:40 -04:00

Glossary

Use this page when a word interrupts your reading. Code identifiers keep their exact spelling; these definitions explain the idea around them. For a worked example, see Modding Basics.

Files and tools

Word Meaning here
Mod An add-on folder that changes some game behavior or content.
ROM A file containing cartridge game data, supplied by the player for import.
Import Read a supported file and prepare local data the app can use.
Cache Generated local files reused on later launches. It is not your mod source.
Asset A picture, sound, font, or other media file used by the game.
Asset transform Instructions that create changed art locally from the player's imported data.
Manifest The manifest.json file describing a mod and its requirements.
Source checkout / repository A local copy of the project's source files. The engine and wiki are separate repositories.
Root folder The top folder of the particular project being discussed. “Engine root” contains src/ and tools/.
Relative path A location measured from a stated folder, such as assets/front.png inside a mod.
Terminal / shell A text interface for running commands. Run commands from the stated folder.
CLI Command-line interface: a tool you use by typing commands.
Scaffold Create a starting folder and files automatically.
Modkit The engine's mod-author tool, tools/modkit.py.
Cartkit The engine's tool for authoring custom carts.
Headless Running checks without opening the normal game window.
Fixture Small test data supplied with the project; it does not contain every real game ID.
Validate Check specified file/data rules. A pass is not proof of every gameplay outcome.

Code and game data

Word Meaning here
Lua The programming language used by the engine and mod entry files.
JSON A format for information such as the manifest; its punctuation differs from Lua.
API The operations and data the engine exposes for mod authors to use.
Value A piece of information, such as a number, text, or a table.
String Text inside quotes.
Boolean true or false.
nil Lua's absence of a value.
Variable A name your code uses to refer to a value.
Table Lua's container for named fields or a list of entries.
Array / list Ordered entries, usually numbered starting at 1 in Lua.
Field / key The name of a value inside a table; speed is a field in baseStats.
ID An internal identifier, such as GROWLITHE. It can differ from the displayed name.
Record Data describing one thing, such as a move or creature.
Registry A named collection of game records or configuration, such as pokemon or moves.
Schema Rules describing which fields and value types a record accepts.
Required / optional A required value must be supplied; an optional value may be omitted according to its contract.
Register Add a record. Existing IDs can collide; use the registry's documented rules.
Patch Change selected values while keeping the others, following that registry's merge rules.
Override Replace a record or contribution; not the usual choice for a one-field tweak.
Merge Combine the base data and mod contributions. Lists and named fields can combine differently.
Compose Collect multiple contributions. It does not mean every subfield combines: one winning NPC talk script is chosen per text ID.
camelCase Word style such as baseStats, used by many record fields.
snake_case Word style such as map_scripts; copy API names exactly.
Function Instructions that can be called with inputs and can return results.
Argument / parameter A value supplied to a function / the name that receives it.
Return value The result a function gives its caller. Some functions return several values.
Callback / handler A function another part of the game calls when needed.
Context / ctx A table carrying the information and tools for one operation. Its fields depend on the API.
Event / listener A notification that something happened / a callback subscribed to it.
Payload The information carried by an event, usually in a table.
Hook / wrapper An extension point in a decision / a function participating at that point.
next in a hook The next function in that hook's chain. Follow the individual hook's call and return rules.
Middleware A chain of functions processing an operation; see Events and Hooks.
Facade A supported interface that hides differences in underlying engine objects.
Adapter Code translating between interfaces or versions.
Portable API / API 3 The opt-in mod API level ("api": 3) that gives one entry file the same names, record shapes and units on Gen 1, 2 and 3. See Portable API 3.
Unified record / canonical record The shared Gen 1-shaped form of a species, move, item, trainer or encounter that an API 3 mod reads and writes; the engine translates it to the booted game's native table.
Capability query mod:supports(surface, name): asks an API 3 mod whether a content registry, world method, hook or event exists on the booted game.
Native version The game version whose own code raises a hook or event; a hook or event can be native to some versions and silent on others.
Detached record A copy returned by a read; changing it does not change the game. Apply changes with a write method.
Serialization Turning live data into a storable format; restoring it is deserialization.

Timing, saves, and compatibility

Word Meaning here
Vanilla The game's behavior without active mod changes.
Lifecycle The stages of loading, running, and saving.
Strict / lenient (API level) api 2 and 3 treat schema and manifest violations as load errors; api 1 logs a warning and keeps loading.
Gate (registry or mod) A refusal by routing. A registry with no home on the booted game drops and reports the write; a mod that does not claim the game is skipped.
Entry function The function returned by a mod's main.lua, called during mod loading.
Runtime / live game The running game after startup, when a world/save can be available.
Freeze The point after which content registrations cannot be changed until a reload.
Namespace A separate area of names or data; mod.save is separated by mod ID.
State Information about the current situation, such as quest progress.
Profile A named set of mod enablement/settings choices.
Save slot A separately selectable playthrough/save.
Migration Code that updates old saved data to a newer expected format.
Quarantine Keeping incompatible saved content aside according to the save model, instead of treating it as valid current content.
Checkpoint In a tutorial, an observable test. In mod.checkpoints, an engine snapshot facility; these are different uses of the word.
Dependency Another mod a mod needs.
Version / semver A release number / rules for comparing numbers such as 1.2.0.
Compatibility Whether particular versions or data can work together. Check the feature's actual requirements.
Fingerprint / digest / hash A compact computed summary used to compare content. Matching values do not override the current link-play rules.
Pin A custom cart's declaration of a particular mod/release choice.
Seal A custom cart's restriction on changing its declared configuration; see Custom Carts.
Tri-ledger The base game's three records of matched behavior, known differences, and new features, described in Compatibility. You do not need this term for your first mod.
Parity / parity oracle Matching original game behavior / the reference used to judge that match.
No-op An operation that does nothing in that situation.
Sandbox / isolated callback Restrictions around mod code / a callback whose errors are caught at a defined boundary. Neither phrase is a promise that every possible failure is harmless.

Link play is set up in the launcher, using a vanilla cart or a sealed custom cart. Mods can run as part of that sealed cart; freely enabled mods are not the supported link path. A compatibility field or a cosmetic-only change does not bypass that requirement. Follow Link Play.

Game and media shorthand

Word Meaning here
Gen 1 / Gen 2 / Gen 3 The first, second and third generation of Pokemon games: Red/Blue/Yellow, Gold/Silver/Crystal, and the Game Boy Advance games (FireRed, LeafGreen, Ruby, Sapphire, Emerald). This wiki's introductory examples target Red.
Gold / Gen 2 Shorthand for the Gold, Silver and Crystal games, which share one engine.
RSE / Hoenn Ruby, Sapphire and Emerald. rse is a manifest games token for them; FRLG (FireRed and LeafGreen) is the Kanto pair.
games The manifest list of generations or version ids a mod claims, such as gen1, gen3, rse or emerald.
Metatile Gen 3's 16-pixel map unit; Gen 3 blocks are 16 px where Gen 1 and Gen 2 use 32 px.
GBA Game Boy Advance, the platform of the Gen 3 games; its frame is 240x160.
NPC Non-player character: a person in the game controlled by the game.
Sprite A game image for a character or creature.
Palette A selected set of colors used to draw an image.
Tile / block / cell Different map units. See the diagram in Tutorial 07 before choosing coordinates.
HUD Heads-up display: information drawn over gameplay, such as HP/status.
SFX Sound effects, such as a save sound.
Chiptune / ChipAsm Music built from sound-chip-style instructions / the engine's authoring helper for those instructions.
Channel One sound voice in a chip program, or one audio channel in a file; check the context.
DV Determinant value: an original-game value involved in a creature's stats.
QoL Quality of life: a convenience feature such as easier menu navigation.
SGB / GBC Super Game Boy / Game Boy Color.

Missing a word? The precise type and behavior belong in the linked API reference. Use this page for the short explanation, not as a replacement for a function's contract.