SMBX64



SMBX64 (Super Mario Bros. X Standard version 64) is the name of the technical standard used by Super Mario Bros. X version 1.3. This standard contains the file formats, references, item lists, and game-wide default values. The specifics of this standard were researched by Wohlstand in early 2014. This standard is very strictly defined. Each item and behavior algorithm is linked directly to a specific ID value.

Standard history
SMBX1 - The first version of standard which came with Super Mario Bros. X 1.0, written by Andrew 'Redigit' Spinks. Blocks can hold 1-99 coins or one of the following NPCs: goomba, flower, leaf, shoe, or mushroom.

SMBX2 - Added support for custom music

SMBX8 - Added support for inter-level warps, added "stars-needed" lock for warps, added "Door" warp type

SMBX10 - Added support for layers and events in levels. Para-Koopas, Para-Goombas, and Cheep-Cheeps were given multiple behavior algorithms. Added NPC Generators. Added talk messages, "friendly" flag, and "not movable" flag for NPCs. Boss NPCs no longer all use the same algorithm, so the flag "Legacy Boss" was added to re-enable those algorithms. Added intro levels of episodes. Added "restart level on death" support. Added "hub-style" worlds system. Added credits fields for world map. Added support for entering to the specified warp ID of a level from world map.

SMBX17 - Added star count field into level file.

SMBX18 - Blocks can contain any available NPC by its ID. Added play-sound event.

SMBX20 - Added "Number of stars" field for world maps.

SMBX28 - Added "Locked", "No Yoshi" and "Allow NPC" flags for warps. Added support for event triggers. Added support for forcing the player's control key events. Added "Always visible" flag for levels on world map. Added support of background image under level icon. Added "Game start" flag for level: allows for using any level location as the episode start point. Added support for warping between two locations on the world map.

SMBX32 - Added support for "Water" physical environment zones. Added auto-start ability of events, added layer motion events.

SMBX49 - Added auto-scrolling support.

SMBX55 - Added support to disable specified characters in the episodes.

SMBX62 - Added "level title" field. Added slippery block support.

SMBX63 - Allowed layers to be attached to an NPC, which will move layers with NPC's motion. Added "Quicksand" physical environment zone type.

SMBX64 - The latest and final version of the SMBX standard which was created in 2011 with "Super Mario Bros. X 1.3". After this version, "Super Mario bros. X" development was permanently ended.

File formats
SMBX64 standard uses a text format with unmarked values.

.LVL - level file format. Download specification: ODT, PDF

.WLD - world file format. Download specification: ODT, PDF

.SAV - game save file format. Download specification: ODT, PDF

Limits
SMBX64 Standard has some limits about placing things on the level map and world map:

Levels

 * Player start points: 2
 * Blocks: 16384
 * NPCs: 5000
 * Background Objects: 8000
 * Warps: 199
 * Water/Quicksand areas (doesn't matter how big): 450
 * Events: 100
 * Layers: 100

World maps

 * Tiles: 20000
 * Paths: 2000
 * Music-Boxes: 1000
 * Scenery: 5000
 * Levels: 400

Note: the information about SMBX's limits here is NOT taken from the Debugger box of SMBX, because it doesn't show the real limits of Blocks and Warps, it doesn't show the limits of Layers, Events and Water/Quicksand areas, and it doesn't have a Debugger box for World Map.

Standard item list
Here are lists of the total item settings which are defined by the SMBX64 standard

Level

 * Playable characters
 * Blocks
 * Background Objects
 * Non-playable Characters
 * Backgrounds
 * Music
 * Sound effects

World map

 * Tiles
 * Sceneries
 * Paths
 * Levels
 * Music

Graphics
SMBX's Graphics uses GIF format. SMBX Engine imitates transparency by using alpha-channel masks - an additional image which defines the transparency level by grayscale level: 0 (Black) - is visible, solid pixel, and 255 (White) - is a transparent pixel, but SMBX64 does supports only completely solid or completely transparent pixels, so using semi-transparent (gray) colors in the mask is not recommended.

Musics and sounds
SMBX uses MP3 file format. Custom music can use other formats, however, such as: WAV, MID and MP3.

Customization
SMBX64 Standard supports customization.

Blocks
Blocks do support custom graphics. You need to use an image in GIF format with the same size or the same number of animation frames as the original block had.

''Tip: if your block image size is bigger or smaller, than the original block is, in PGE Editor, you can place them with no problem, unlike in SMBX. That way you can create custom blocks of any size, which will work in SMBX.

Warning: don't select custom blocks in SMBX or they will shrink to their original sizes!!

Background Objects (BGOs)
Background Objects do support custom graphics. You need to use an image in GIF format with the same size or the same number of animation frames as the original BGO had. If the image will be bigger than the original BGO's sizes, it will look cut, but if the image will be smaller than the original BGO, it will work in both SMBX and PGE.

Non-Playable Characters (NPCs)
NPCs are fully customizable, but you need to use special npc.txt configuration file.

Backgrounds
Backgrounds do support custom graphics and they can have any image sizes.

Playable Characters
Each playable character uses a spritesheet with a size 1000x1000 pixels, and totally contains 100 frames in each of them.

Tiles
Tiles do support custom graphics.

Sceneries
Sceneries do support custom graphics, but custom sceneries from 33 to 65 will crash SMBX while trying to save the file. PGE fixes that problem.

Paths
Paths do support custom graphics..

Level points
Level points do support custom graphics.

Musics and sounds
You can use custom music in Level Mode, but you can't use custom music in World Map mode. You can't use custom sounds in both modes.

Trivia
Fun fact: Wohlstand had no idea about "Sceneries 33-65 will crash SMBX while saving" bug, until h2643 told him that!