Game Configuration Pack References
Jump to navigation
Jump to search
Game Configuration package is the main foundation for all games which will work with PGE: it's a set of game resources, item settings, and scripts. A Configuration pack includes item definitions, gameplay settings, game content, and other miscellaneous information.
Types of configuration packages
Configuration packages for PGE Project has two types: standalone and integrational.
- Standalone configuration packages contain the full set of all necessary resources and doesn't require for any external programs and/or resource packs for the work of any component of PGE Project.
- Integrational configuration package is a special type of configuration package that does re-using of resources from external program or a game. Those config packs has a smaller size, however, they are depend on the external software. Integrational config packs may have the special configure tool called as "configure.js" which is a helper to select the path to the target software and make something also, for example, copy additional files. A config pack for the SMBX2 project is an example of an integrational configuration package.
Structure
All configuration packs must use this tree structure:
Note: italic folders can be customized by main.ini config
/<Name of config pack> - the config pack root directory
- /data - config pack resources storage.
- /graphics - generic graphics resources.
- /characters - playable characters sprite resources.
- /common - common engine graphics resoures (for example, logos, titles, design elements, etc.)
- /level - graphics resources for levels.
- /worldmap - graphics resources for world maps.
- /music - music resource storage.
- /sound - sound effects resource storage.
- /graphics - generic graphics resources.
- /tilesets - config pack wide tilesets storage.
- /group_tilesets - config pack wide tilesets storage.
- /characters - playable character calibrations.
- /fonts - collection of in-game fonts (PGE Raster fonts, or TTF).
- *.font.ini - raster font declaration files
- *.png - raster font textures
- *.ini - font maps for each texture, depends on a general settings *.font.ini file
- *.ttf/*.odf/*.etc - TrueType vector fonts
- /items - collection of individual item configs (not used when elements definitions are using nested style).
- /backgrounds - collection of level backgrounds individual configs.
- /bgo - collection of level background objects individual configs.
- /blocks - collection of level blocks individual configs.
- /levels - collection of world map level entrance objects individual configs.
- /npc - collection of level NPCs individual configs.
- /paths - collection of world map path cells individual configs.
- /scenery - collection of world map scenery objects individual configs.
- /terrain - collection of world map terrain tiles individual configs.
- /script - Config pack lua scripts are programming the game.
- /npcs - NPC-AI lua scripts.
- /player - Playable characters lua scripts.
- main.ini - main configuration pack description and settings.
- engine.ini - main settings of game engine application.
- configure.js - config pack configure tool (integrational configuration packages only).
- music.ini - configuration and list of musics.
- sounds.ini - configuration and list of sounds.
- sound_roles.ini - association of buit-in sound roles with sound-ID's from sounds.ini.
- rotation_table.ini - transformation rules which applies to items when rotating or flipping action was applied to them.
- lvl_characters.ini - Playable characters list definition.
- lvl_bgo.ini - definition of background objects for levels.
- Single entry config - definition (or customization) of a single entry of background object for levels.
- lvl_bkgrd.ini - definition of backgrounds for levels.
- Single entry config - definition (or customization) of a single entry of background image for levels.
- lvl_blocks.ini - definition of blocks for levels.
- Single entry config - definition (or customization) of a single entry of block for levels.
- lvl_effects.ini - Graphical effects list definition.
- Single entry config - definition (or customization) of a single entry of effect for levels.
- lvl_npc.ini - definition of non-playable characters for levels.
- Single entry config - definition (or customization) of a single entry of a non-playable character for levels.
- lvl_section.json - Extra settings for level sections (see Extra Settings JSON Layout for specification).
- lvl_settings.json - Level-wide extra settings (see Extra Settings JSON Layout for specification).
- global_block.json - Global extra settings for all types of level blocks (see Extra Settings JSON Layout for specification).
- global_bgo.json - Global extra settings for all types of level background objects (see Extra Settings JSON Layout for specification).
- global_npc.json - Global extra settings for all types of level NPC (see Extra Settings JSON Layout for specification).
- wld_tiles.ini - World map terrain tiles list definition.
- Single entry config - definition (or customization) of a single entry of a terrain tile for world maps.
- wld_scenery.ini - World map scenery objects list definition.
- Single entry config - definition (or customization) of a single entry of a scenery for world maps.
- wld_paths.ini - World map path cells list definition.
- Single entry config - definition (or customization) of a single entry of a path cell for world maps.
- wld_levels.ini - World map level entrance objects list definition.
- Single entry config - definition (or customization) of a single entry of a level entrance point for world maps.
Additional specs
- Extra settings JSON Layout - additional JSON file format which decalres a GUI layout for extra settings of the element.