Game Configuration Pack References

From Moondust Wiki
Revision as of 02:33, 12 October 2020 by Wohlstand (talk | contribs) (More links)
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.
  • /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).
  • /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.
  • 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_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.

Additional specs