Super Mario Bros. X

Super Mario Bros. X (Known as SMBX) - is a Mario fan game engine, written by Andrew 'Redigit' Spinks in 2009 year. Game is written on Visual Basic 6 (VB6). Project development was stopped in 2011 year, and SMBX 1.3 is a last version.

History
In the year 2009, Andrew 'Redigit' Spinks began to work on the game: Super Mario Brothers X. Gradually the game gathered a following among the fans of the Super Mario game series.

It is viewed as one of the all time best fan games about Mario. It features game elements from classic games such as Super Mario Bros, Super Mario Brothers 2, SMB 3, Super Mario World, Legend of Zelda, etc. The built-in level editor allows you to not only edit levels alongside with an engine to debug them in real time, but also allows the player to create full-fledged episodes with a plot!

Unfortunately in April of 2011, Redigit received a call from the lawyers of Nintendo, who demanded the removal of SMBX and the halt of development. After some time, the supermariobrothers.org domain was also taken over by Nintendo. And thus, a remarkable project was killed.

But even so, it is still being played. A lot of "episodes" are being created as of now, and the game is still in demand. Currently the game overloads the processor to 100% even when the user is not in action.

There were attempts to revive the project, but they failed.

The main mistake - the game was published UNDER the UNTWISTED BRAND.

And Redigit was making money off SMBX with distribution of ads in its installer, on forums and website. I.e. I parasitized on a brand. Therefore Nintendo didn't like this and that's why SMBX was shut down.

SMBX now
As of now, SMBX is still in demand, and constantly receives new levels, graphics and even episodes. Because of this high demand LunaDLL has started to be developed.

About game
Super Mario Brothers X - is a community sandbox where anyone can create their own episodes with an individual plot. Episodes made for this game aren't in any way connected to the official Nintendo Series. But some episodes are an attempt to create remakes of original games or unofficial continuations of official games.

Graphics
Most of the graphics are rips from original Super Mario games or other games for the SNES (or NES). Some people are creates recolors, restylings or even their own original pixel-art graphics to create original characters, sceneries and a new atmosphere. The game uses the 800x600 resolution. Most of the graphics are 2x-scaled pixel-arts (2x pixel). In some cases it is possible to have non-scaled graphics, but mixing them with regular 2px graphics is not recommended to keep the style in a good state.

Music
Super Mario Brothers X uses music from the following Nintendo games:
 * Super Mario Bros: All stars (1993)
 * Super Mario World (1990-1992)
 * Super Metroid (1994)
 * Zelda II: The Adventure of Link (1987-1988)
 * The Legend of Zelda: a Link to the past (1991-1992)
 * Star Fox (1993)
 * Super Mario 64 (1996)
 * Super Smash bros. Brawl (2008)
 * Super Mario Galaxy (2007)

Sound Effects
Super Mario Brothers X uses sound effects captured from the following Nintendo games:
 * Super Mario Bros: All stars (1993)
 * Super Mario World (1990-1992)
 * Super Metroid (1994)
 * The Legend of Zelda: a Link to the past (1991-1992)

Notable Episodes
The Invasion: The episode got released with the very first version of Super Mario Bros. X by Redigit. The Invasion features Mario and Luigi trekking through many different worlds to defeat Bowser. Along the way, they travel through seven different worlds, a Mario staple at this point. At the end of each world, they either went through a castle to face a boss (which was always a certain number of Boom Booms or Birdos) or, alternatively, they go through an “Invasion” level, a difficult airship stage, ending once again, with a boss battle. Due to the story never being introduced in the main game, it's been unknown. The game features the same number of levels (54 Levels) as its remake, the Invasion 2. The episode is still available today on the official page.

The Princess Cliche: The second episode released alongside with Super Mario Bros. X 1.1.0 Beta 1. This episode revolves around Princess Peach getting kidnapped by Bowser after baking Mario a cake, which is an obvious reference to Super Mario 64. The Princess Cliche features 14 stars spread around three worlds. This episode was available on the main page prior to Super Mario Bros. X 1.2's release. Afterward, it was replaced by its sequel, the Princess Cliche 2. If someone wishes to play the original, it can be downloaded here: The Princess Cliche.

The Great Castle Adventure: The third episode that got released but wasn't made by the game's creator, Redigit. Rather, it was made by a level design team led by one of the forumers, Zephyr. The game involved Mario and Luigi trekking through Bowser's castle to gather stars and ultimately destroy Bowser once and for all. The game features 40 stars spread across approximately 40 levels, ending with a battle against Bowser. The game was available for download on the official page.

The Invasion 2: The game is quite similar to its predecessor in a few ways. It shares the same amount of core levels and many of the level names. The game, however, was made to accommodate new features from the later versions of Super Mario Bros. X. The remake's story is also slightly different than its original. The episode contains many new features, gimmicks and extras. Still having the same antagonists of the predecessors, new villains have shown up; such as King Wart, Ludwig von Koopa, False Bowser, Mother Brain, Larry Koopa and Mouser. Originally, released with Super Mario Bros. X 1.2, the game has constantly been updated in small ways with each new version released. It is the default episode that comes packaged with the download and the main story of Super Mario Bros. X itself.

The Princess Cliche 2: Not so much a sequel to the Princess Cliche as it is a remake. The main premise is the same, but levels have some minor extra features from the later versions of Super Mario Bros. X. Level changes, however, are less prominent as opposed to the Invasion 2, as they remain the same for the most part. Main changes, besides these, include the use of a soundtrack from Super Mario RPG, the inclusion of a much tougher final fight, and a slight change to the game's ending. When released, it replaced the original Princess Cliche on the main page.

Return to Yoshi's Island: Made by Zephyr, the same man who created the Great Castle Adventure, this game spanned the most levels out of any episode, with a total count of around 90 levels. The game involved Mario and Luigi venturing through Yoshi's Island to save Peach from Bowser and Wart. This was made to accommodate Super Mario Bros. X version 1.3, but because this was assumed to never be released, the episode was released in an unfinished state, missing a few bosses. These include the Koopalings, which were previously to be introduced in the aforementioned version. It is very likely, however, that with 1.3 resuming development it will be finished soon.

The New Great Castle Adventure: In development by Krazy Koopa, this episode is a remake of the Great Castle Adventure. It has been released in August 2014. It contains about 75 stars scattered across Bowser's castle, 35 more than the original game.

The Great Empire: An episode that was made by Knuckles96.

Super Mario Enigmatic: A puzzle episode featuring only one-screen levels. Widely considered one of the most challenging Super Mario Bros X episodes. The game features over 130 small levels.

Gameplay
SMBX uses elements from Super Mario titles such as: Super Mario Bros., Super Mario Bros. 2, Super Mario Bros. 3, Super Mario World. It also uses elements from Zelda II and Metroid as well. The game engine uses a Super Mario Bros. 3 type of play in its physics. The main game is accessed by starting up SMBX and pressing the button "Start Game" in the bottom left corner. This opens a loading screen displaying a legal disclaimer and asking for support to Nintendo by purchasing a Wii, or a WiiU in version 1.3.0.1. When the game has finished loading, the start screen is presented with a level being played by AI controlled characters and a menu with various choices.

1 Player Game - This option allows the user to play alone. When selected, the player can choose from a list of episodes that are installed in the user's worlds folder. After the player has selected a character, on the next screen the game will begin.

2 Player Game - This option allows the user and a friend to play together. When selected, the player can choose from a list of episodes that are installed in the user's worlds folder. After the user and their partner have selected a player, on the next screen, a two player game will begin.

Battle Game - This option is a two player only game mode, where the user and their friend can play together and battle on a list of battle levels located in their battle folder. After the user and their partner have selected a character, on the next screen, a battle will begin. There is no online function for this option.

Options - This option allows the manipulation of player controls, full screen, and allows the user to view the credits that play at the end of an episode. Player controls carry over to the level editor when testing levels as well.

Exit - This option closes the game. 

Game Engine
SMBX uses it' own game engine written in Visual Basic 6 language. SMBX is usually being used as an engine for mario-like games such as fan-games about Mario or even independent game series like the A2XT Series by the Talkhaus which includes the following games: ASMBXT, A2MBXT. Those games don't have much in common with the Mario series and most of music and sounds are replaced by original content.

Because development of game was stopped, nobody can continue the official line of game engine development. Therefore in the Talkhaus Team, a special hacking extension (LunaDLL) was developed, which provides the ability to use a built-in SMBX API for a scripts creation. Later Wohlstand started his researching campaign and created SMBX64 Standard which specifies technical metrics, file I/O interface, internal limits and some API features. The main purpose of this research work and of the SMBX64 Standard is a detail compatibility layer for a provision of the ability to read, write or modify SMBX Specific internal data and external content. After research has been finished, Wohlstand began with the development of PGE Editor which is the first part of PGE Project - alternate implementation of SMBX Engine which is going to be successor of original SMBX.

Internal Editor
SMBX have internal level and world map editor which giving able to create own levels and episodes by yourself!

Editor have a single-document interface: you have one sub-window which have a viewport where you can see your level or world map. All toolboxes available at bottom of the editor main window.

Level Editor
Level editor starts by default when you launch SMBX in the editor mode.

Each level have 21 slots for your sections. You can switch between sections if you will open "Level Settings" toolbox. Also in them you can resize section (you will set position for each boundary of current section (top, bottom, left, right)), place a player start point. Set up music and background of the section, set up mode of the section (connect sides of section, enable globally underwater mode, enable off screen exit, disable able walk to left). To scroll on the map use the arrow keys and you can speed-up scrolling with Shift key.

World Editor
World editor giving able to create your world maps and set up the episode properties. To switch world map open the "Mode" menu and select "World editor" menuitem.

Debugger


Debugger in SMBX 1.3/1.3.0.1. allows you to:


 * See how many Blocks, NPCs, BGOs and Warps are placed in a level
 * See their limits (some of them aren't correct, though)
 * See your current mouse position/coordinates on the level map
 * Swap blocks by typing their IDs
 * See Framerate speed
 * See how many elements are placed in the level, like power-ups, items, etc.

"Blocks Sorted" button in the Debugger box of SMBX can be used if you want to make messed up NPC collisions, so they will fall through blocks. Button will be activated when you will place some blocks in the level.

"Block sorting" means the internal sorting of list which has all placed blocks in the current level. All blocks should be sorted with X and Y coordinates. SMBX is using this internal collision detection algorithm with NPCs, which are trying to find a nearest block to check collisions with it. If the block array won't be sorted, NPCs will fall down or walk through some blocks. But the player will collide with those blocks, so he won't fall through them.

If you want to make this effect in your level, follow these steps:

1) Make a level, place blocks in the level, place some other blocks far away from the blocks you already placed (for example in Section 2) in the level, save and play-test the level.

2) After play-testing, open the level file in Notepad, and change block's positions (numbers).

3) When you're done, open the level again and test the level. SMBX will ask you if you want to save the level, when it will do that, always press No or else your notepad changes will be lost.

''Note: If you will place some block in the level while play-testing the level, you will be able to press that "Blocks Sorted" button in the Debugger box, which will return things back to normal if pressed.

There is no Debugger box for World Map mode, maybe it was planned to appear in future updates of SMBX. However, in World Map mode you can see your current mouse position below, which is useful to make World Map warps or warps between level and world map.

SMBX 1.4 and future of SMBX
SMBX 1.4 - is a most of known fakes which notable on YouTube. It must be a new version of SMBX after 1.3, but because SMBX development was stopped, nobody can continue original project. However, SMBX has a successors which will take it's foundation and will continue progress:
 * PGE Project - is a project of the alternate implementation of SMBX-compatible game engine which fully compatible with them. You can play, create and edit levels, episodes made in the SMBX as-is without porting of stuff. PGE uses configuration package system to have ability use independent itemsets to have able create non-SMBX games. SMBX64 - technical standard which defines compatibility layer with SMBX. To have working SMBX levels and episodes without glitches and content misses, you must to use an SMBX64-Standardized configuration packages for PGE.
 * VSMBX - a project by GhostHawk coded in VisualBasic.NET. He makes editor similar to original SMBX, but not compatible with original SMBX (it can't open SMBX's levels).

Known bugs

 * If you will use decimal value in the npc-*.txt files, on some computers (from country where decimals standard uses comma [2,5 instead of 2.5]) SMBX will be crashed with error "Runtime error 13: Type Mismatch".
 * Using of empty strings with space characters will cause crash of SMBX.
 * If you will customize scenery with ID from 32 to 65, SMBX will be crashed when you will try to save world map.
 * Peach's sprite have a wrong GFX offset settings of vine-climbing frames: hitbox aligned to left-top corner of GFX
 * When you placing vines, you will have in the same places where was placed vines will be flooded by same vines.
 * Usage of quotes '"' character in the string values will damage level file (next attempt to load same file will cause crash of SMBX), but able to fix them in the notepad with manual removing of junk quotes from fields where used quotes characters.
 * Debugger box have a wrong limit counters.
 * Block will move to right with 0.001px offset when you will hit it and when it contains any NPC.
 * Skull raft will don't stop correctly when will be impacted to wall. In result it is squeezed as an accordion.
 * Pokey the Cactus have a bug with his segments: when it walks on slopes, segments can walk to slope, he will self collapse.
 * Spike Top can make invisible blocks by visible when he try to walk on it's bottom. When it walks over: it walks over them like on pyramid.
 * When you will try to grab any item when you duck on the diggable sand, character will be frozen with digging animation

Gimmicks based on usage of bugs

 * If you spin jump into a Peach Block, you spin-jump as Peach!
 * Grab and item you are standing on, then spin jump to spin-grab.
 * Hold down when spin jumping to preform a Spin-Drill.
 * Hammer-suit/Bomb-suit immine to fire.
 * Duck slode into a one-block hole, turn around, and unduck.
 * From (5), press down and alt. Run (as a tanooki statue) to go up.
 * Grabing an item (from reserve) while preorming glitch (5) will push you down.
 * If you jump at the right angle and unduck, you can push yourself through a 1block wall made with upside down slopes.
 * If you go into a door and jump simotamiously, you can jump out of the other door.
 * If small, and you spin-jump with a spring, if yu press up, let go to bounce higher.
 * Sometimes, when you spin-junp, if times right, you can jump again.
 * With Peach, if you hover, if times right, you can double or tripple hover, and or junp.
 * If you have a fairy with Link, and you hit a spring woth a fairy go ing down, when you tirn into Link, you will fly a little higger as if the spring kicks in.
 * If you hold up, if you use a spring board to go through a pipe, you can continue to spring through the pipe warp.
 * Ice that you make can ride water.
 * Rainbow shells ride water only when you ride them.
 * If riding a Shy Guy, or other NPC, you if you face a wall and jump, you gain no hight, but if you face away from the wall, you fly through the wall. (Fix te first half)
 * If you stop time, you can climb a clif with a Yoshi with only the alt. jump key.
 * With Peach, if you have a boot, you can time it so you can alt. Jump as soon as you touch it to get more highth, or more points from enimes or lives!

Links

 * Current SMBX community site
 * Old SMBX versions archive
 * Original SMBX official site (Wayback machine snapshot) - the big orange block is an ads container (if you will try to read page sources, you will found link to "show_ads.js" by google)
 * Page about SMBX on the gamking.wikia.com project