Category:Config pack

From Moondust Wiki
Jump to navigation Jump to search
Gyro 256x256 2020.png

The Game Configuration package is a foundational component for all games that will work with Moondust Project: it's a set of game resources, item settings, and scripts. A configuration package includes item definitions, gameplay settings, game content, and other miscellaneous information.

Types of configuration packages

Configuration packages for the Moondust Project have two types: standalone and integrational.

  • Standalone configuration packages contain the full set of all necessary resources and don't require any external programs and/or resource packs for working with any component of the Moondust Project.
  • Integrational configuration packages are a special type of configuration package that re-use resources from external programs or games. Those config packs have a smaller size. However, they are dependent on external software. Integrational config packs may have a unique configure tool called "configure.js" which is a helper to assist with selecting the path to the target software and creating things, such as the example to copy additional files. A config pack for the SMBX2 project is an example of an integrational configuration package.


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 resources (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 (Moondust 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 music.
  • sounds.ini - configuration and list of sounds.
  • sound_roles.ini - association of built-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