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.
Start here
Playing
Tutorials
- Choose a tutorial
- 01 Sprite and Text Tweak
- 02 Balance Patch
- 03 New Species
- 04 New Item and Ball
- 05 New Move
- 06 NPC and Dialogue
- 07 New Map
- 08 Quest
- 09 Custom Music
- 10 New Mechanic
- 11 Custom UI Screen
- 12 Mini Total Conversion
Creative guides
Concepts
Recipes and reference
Author and developer tools
Home · Start Playing · Glossary · Troubleshooting · Repository · Community
Game data is imported locally from a supported ROM supplied by the player. Shared mods contain original work or transform recipes, never extracted game content. Check each guide's target game before using its examples.