From SRB2 Wiki
Jump to navigation Jump to search

ShufflarB2 is a source code modification for Version 1.09.4 made by Shuffle. It is a collection of many different features, including graphical improvements, improvements to 2D mode and Mario mode, a new gametype called Ring Collect, and custom levels. It also includes several editing features, such as new actions and Thing types. Some of its engine improvements and editing features were added to SRB2 itself in Version 2.0.

Current release information


While ShufflarB2 primarily focuses on new engine features, it also includes several custom maps: Hidden Palace is a Single Player map in 2D mode, designed to showcase ShufflarB2's 2D mode improvements. Various community members contributed Match and Circuit maps, some of which had previously been entered in the Official Level Design Contest, and Shuffle himself contributed two Match maps as well.

Six stages for the new Ring Collect gametype are also included in ShufflarB2. All of these are clones of Capture the Flag stages from v1.09.4, but modified to work with the gametype.

Ring Collect

ShufflarB2 includes a custom gametype called Ring Collect. Similarly to CTF, it is played with two teams who each have their own base in the map. The teams must try to return as many rings as they can to their own base, depositing them in a pair of "ring magnets" installed in their base. Rings are deposited by standing on the magnets' platform. If players are equipped with weapon rings, the seconds remaining on the timer for each weapon ring are deposited as well. For each ring or timer second that is deposited, the player and the team are awarded one point. The team with the most points wins. While it is possible to deposit rings to the other team's magnets (giving them points), the rate at which they are deposited is much slower. It is also possible to shoot the opposing team's magnets, which will force up to twenty rings out of the magnets and disable them for a few seconds.

After half the time limit for the round has passed, e.g., after two and a half minutes under a five minute time limit, many rings in different colors and sizes will drop from the sky into the center of the stage. The larger rings are worth more, with the smallest ring being gray and worth 10 rings, while the largest ring is red and worth 100 rings. If the time limit is disabled, these special rings will not be spawned.

The Ring Collect gametype is enabled for a map by adding 8192 to the TypeOfLevel variable in its level header. The ring magnets for each team are placed in a map using the blue and red CTF flag Thing types. In all of ShufflarB2's Ring Collect stages, the blue and red team have two magnets each.

Level type enhancements

In addition to the new Ring Collect gametype, a number of existing level types were improved or expanded in ShufflarB2:

2D mode

  • The player's maximum speed has been reduced, and Sonic's thok is disabled.
  • The camera is more dynamic and will tilt behind the player if they are moving.
  • The camera will immediately zoom out if the player is climbing a wall.

Mario mode

Mario mode has been revamped extensively to resemble the gameplay of the original Super Mario Bros. games more closely.

  • The player's maximum speed has been reduced, and players cannot use any special abilities, including the spindash.
  • Players can increase their jump height by running before pressing the Jump button.
  • Coins do not work as health protection and are not lost upon being hit.
  • The player starts out small and any hit will kill them. By collecting a Mushroom, they can reach their full size, which allows them to break blocks. Getting hit while at full size will shrink the player back to small size.
  • The Mushroom, the 1-Up Mushroom and the Super Star have been added, all of which are functionally identical to the official Mario games. If used in 2D mode, all three items will move back and forth, and Super Stars will bounce.
  • The HUD is replaced by one based on the original Super Mario Bros. game. This also means that the player's number of lives is not displayed.
  • The Koopa Paratroopa (a Koopa Troopa with wings) was added as a new enemy.

Modified versions of all three acts of the Mario Koopa Blast unlockable are included in ShufflarB2 to showcase these changes and new features.


  • Obstacle collision in NiGHTS is less bouncy.

Graphical features

Emerald Park Zone at night.
  • The Software renderer includes an underwater ripple effect.*
  • In Software, the background of the Single Player score tally screen is a still image of the last frame displayed in the level.*
  • In OpenGL, sprite cast shadows if the console variable shadow is enabled.*
  • A time-of-day cycle can be added to a map with the TimeOfDay level header parameter. If enabled, the brightness and sky will change depending on the time of the computer's clock. In OpenGL rendering, the color of the sky will change as well.
  • Other graphical features have been imported from PrettySRB2[1], an older source code modification containing OpenGL fixes from SRB2JTE.

* This feature was added to SRB2 in v2.0.

Editing features

Thing types

  • Thing type 6970: Flamethrower Wall
  • Thing type 6971: Flamethrower Ceiling/Floor
  • Thing type 6974: Koopa Paratroopa
  • Thing type 6980: Metal Flower 1
  • Thing type 6981: Metal Flower 2
  • Thing type 6990: Mushroom
  • Thing type 6991: 1-Up Mushroom
  • Thing type 6992: Invincibility Star

The flamethrower Thing types were added to SRB2 in v2.0.



Main article: A_RemoteAction

Tells another Object to perform an action. Var1 specifies the Object that will perform the action. Var2 is used to specify the reference state that contains the action for the target Object to perform. The reference state is not actually executed, only the action is performed. The actor will temporarily make the selected Object its target when calling the reference state's action; the actor's original target (if any) will be restored afterwards.


Main article: A_ZThrust

Thrusts the actor vertically. Var1 determines the magnitude of the thrusting force, measured in fracunits/tic – a positive value will thrust the actor upwards, while a negative value will thrust the actor downwards. If Var2 is set to 1, the actor's previous momentum is lost; if it is set to 0, the previous momentum is retained.


Makes the actor shoot an Object in the same manner as a Rail Ring. Var1 specifies the Object type that is shot, while Var2 specifies the Object type that is used for the trail.


Teleports the actor to the position of its target. If Var1 is set to any value other than 0, the actor's target is teleported to the actor's position instead. If Var2 is set to any value other than 0, the teleported Object will keep its previous momentum; otherwise, it will lose it.

Level header parameters


To enable the Ring Collect gametype for a map, add 8192 to the TypeOfLevel value. This value can be combined with other level types.


If specified, a line with "BY: <value>" will be added to the level's title card. This can be used to supply author credits for a map. It was briefly added to SRB2 in v2.0, but removed in v2.0.5.


If set to 1, the map brightness and sky graphics change based on the time of the computer's clock. Two of ShufflarB2's own levels showcase this feature: Emerald Park Zone and Fort Eltsac.

Console command/variables


Deletes the last PWAD added to the game. Cannot be used while in a level.

removehud <boolean>

See also: Console/Variables > showhud

Toggles whether the heads-up display is shown or not.

shadow <boolean>

See also: Console/Variables > shadow

If enabled, sprite shadows are displayed in OpenGL.

Other features

  • Semicolons (;) are not permitted in player names anymore. If a player attempts to use a semicolon in their name, they will cause a consistency failure.
  • Taking a screenshot will not display the "SCREENSHOT SAVED IN <DIRECTORY>" message if the console is closed.
  • The maximum time limit for a round in a multiplayer game is 30 minutes.
  • If you get close to another player in multiplayer, their name will be displayed on the bottom of the screen.
  • If a player breaks a Super Sneakers Monitor in any level, the music will speed up and have a higher pitch until the effect of the monitor wears off. However, if MIDI music was being played before the power-up was obtained, the normal Super Sneakers music will play instead. This feature was later implemented for SRB2 itself in v2.0 as an optional feature for individual levels, set using the level header parameter SpeedMusic.


  • CTF spectators still have a countdown underwater, even though they cannot drown.
  • Dedicated servers crash the game on startup.
  • If any Software mode user is experiencing the water ripple effect in a netgame, all other Software mode users will experience it as well.
  • The Whirlwind Shield can be activated repeatedly by pressing the Jump button while the player is in their falling animation, for example after using the Whirlwind Shield normally or after bouncing off a spring. This allows players to launch themselves higher and higher into the air by pressing the Jump button repeatedly.
  • If a player stands on top of a broken monitor while it respawns, the player will be killed.
  • If the skin console variable is used with an invalid value, the player will have Sonic sprites but retain the abilities of the previous skin.


  Modifications [view]
v2.2 Mystic Realm (Community Edition) • SRB2 BattleDr. Robotnik's Ring RacersTortured PlanetSUGOISUBARASHIIKIMOKAWAIII
v2.1 Acid MissileDumbventureSRB2Kart
v2.0 Botanic SerenitySRB2CBSRB2 RidersXSRB2
v1.09.4 SA-SRB2Blue HeavenShufflarB2SRB2JTE
Pre-1.09.4 SPMoves