File Formats Used by SLUDGE

In order to create a game using SLUDGE you will have to be able to handle files using your operating system. (Explorer on Windows and Finder on Mac.) Much of the file handling in SLUDGE is automated, but in order to use graphics, sounds and music (for example) you will have to create and work with the files yourself.

*= These file formats can be included in a SLUDGE compiled game. See the section on file handling for information on how to include these files in a compiled game. Other file types (such as HTML pages or PDF files) can be opened by a SLUDGE game using the launch and launchWith commands. These files must then be provided with the compiled game, as they will not be included inside the file itself.

File formats specific to SLUDGE:


The extension given to a SLUDGE project file, as used by the SLUDGE project manager and SLUDGE compiler - these files contain the filenames of the scripts from which the game is to be built and general project data (such as a game's title, whether it should be run full-screen and so on). Must be a UTF-8 encoded text file.


A SLUDGE script, containing object definitions and functions. See the SLUDGE Language Reference Manual for information on how to use the language. Must be a UTF-8 encoded text file.


A SLUDGE constant definitions file. Here you can set up your own constant definitions (which are used in a similar way to items created using #define in C and C++). Must be a UTF-8 encoded text file.


A SLUDGE translation file. Contains translations of strings in a game into one different language. Can be created using the SLUDGE translation editor. Must be a UTF-8 encoded text file.


A compiled SLUDGE game. Double click it to play it. Requires an up-to-date version of the SLUDGE engine to be installed on your machine. These compiled game files can be distributed as you see fit.


See .ini files for compiled SLUDGE games.

.ZBU *

A SLUDGE z-buffer file. These can be created using the SLUDGE z-buffer maker and can be loaded and unloaded using the setZBuffer function.

.FLO *

A SLUDGE floor file. These can be created using the SLUDGE floor maker and can be loaded and unloaded using the setFloor function.

.DUC *

A SLUDGE sprite bank file, containing one or more (or zero, but that's a bit pointless) sprites for use in a game. Sprites are used for mouse cursors, moving characters and inventory objects. Create and maintain these files using the SLUDGE sprite bank editor and use them in animations for your game with the anim command. The extension .DUC comes from a previous Hungry Software game, Ducks, which used the same file format for its sprites.


An image compressed using the SLUDGE image compression algorithm. These are optionally left on your machine after compilation; you can enable and disable this feature by selecting "Keep compressed images" from the "SLUDGE Settings" menu in the SLUDGE project manager application. Keeping these files decreases the time it takes to compile your game. However, you can't actually use them for anything yourself. Don't, for example, expect notepad or a paint package to make any sense of them. (These files are not created when you include PNG files - only TGA files are converted to SLX.)

Standard formats used by SLUDGE:


The graphics formats with which SLUDGE works. Load images into your game using the addOverlay function or convert images into z-buffers and sprite banks using the SLUDGE z-buffer maker and SLUDGE sprite bank editor respectively.

.WAV, .OGG *

Sound effects, music and, if you choose, recorded speech. Play these using the playSound function, loop them with loopSound or make characters say or think them with the say and think functions. (Using Ogg Vorbis rather than WAV is strongly suggested.)

.WebM *

Movies. Play these using the playMovie function.

.XM, .IT, .S3M *

The track-based music formats supported by SLUDGE. Play these using the startMusic function.

.MID, .RMI *

Midi music. The current SLUDGE engine cannot play these - however, you can still try, so that old projects still compile. Trying to do so, however, will produce a warning. If you have a midi song you want to use, convert it to Ogg Vorbis and use that instead.