Character creation tutorial/Overview

From SRB2 Wiki
Jump to: navigation, search
  Character creation tutorial [view]

Chapter 1: OverviewChapter 2: S_SKINChapter 3: SpritesChapter 4: Character select

In SRB2, character skins are a type of modification that can be added to the game via WAD files, allowing the player to play as characters such as the default three included in SRB2 (Sonic, Tails and Knuckles). Examples of custom character skins include those of other characters from the Sonic universe – such as Amy, Shadow and Metal Sonic – or those of characters from other video game series. The sheer number of sprites required for a character alone contributes to the history of completed characters, notorious for having few results being yielded. Nonetheless, several completed characters do exist; the majority of those are edited from the official sprites, while ones made – to some degree – from scratch also exist.

This chapter gives an overview as to what is required for creating a custom character.


You need the following things to create your own custom character with:

  1. A lump editor, such as SLADE or XWE. You are required to have basic knowledge of what a WAD file is and how to use your chosen lump editor.
  2. A graphics editing program for creating your character's sprites with. MSPaint is popular among many spriters and is included with all versions of Windows; other examples include Paint.NET, GIMP, Photoshop – some people might use dedicated pixel art programs such as GraphicsGale.
  3. A basic outline for your character's appearance and gameplay (i.e. what they are, what they can do, what they look like, etc.). This should generally be planned in advance to save you from unnecessary work.


A custom character generally consists of three components:

  • S_SKIN – The defining lump of a playable character. This is a special text lump containing attributes which are tweaked to the character's intended properties. The name for this is partially flexible – it can be called "S_SKIN", "S_SKIN1", "S_SKIN2", etc. provided the name at least starts with "S_SKIN". Further details are covered in the S_SKIN chapter of the tutorial.
  • Character sprites – These are the graphics that make up the character and determine how the character appears in-game. Unlike normal sprites, character sprites are not required to be in-between the marker lumps S_START and S_END. Further details are covered in the Sprites chapter of the tutorial.
  • Character select entry – This is a SOC block that defines the information for the character on the Single Player character select screen. This information is commonly stored in either MAINCFG or OBJCTCFG. If the character is not meant to be used in Single Player, this component can be left out. Further details are covered in the Character select chapter of the tutorial.

Miscellaneous graphics are usually also provided for the HUD and for the character's entry in Character select. Custom sounds for the character may also be provided if specified in the S_SKIN.


A common problem with character creation is figuring out how to order all the contents of a custom character, which may lead to the character not functioning properly or crashing the game on load. This section briefly shows you how a character's contents in a WAD file should be laid out:

[Misc graphics]
[Custom sounds]
[Lua scripts]

The most important thing to note is that S_SKIN must be placed immediately before the character's sprites in the WAD. This is so SRB2 can detect where the sprites for a character are – if the wrong type of lump is placed in-between these (e.g, the character's MAINCFG lump, or the marker lumps S_START or S_END), the game will crash. It is not important where any of the other lumps for a character are placed in the WAD file – they could even be placed after the character's sprites if you wish.

It is possible for a WAD file to contain more than one character; in this instance, one could organise the contents of the characters in the WAD as follows:

[Misc graphics, for all characters]
[Custom sounds, for all characters]
[Lua scripts, for all characters]
MAINCFG [contains character select info for all characters]

S_SKIN [for Character #1]
[Sprites for Character #1]

S_SKIN [for Character #2]
[Sprites for Character #2]

  Character creation tutorial [view]

Chapter 1: OverviewChapter 2: S_SKINChapter 3: SpritesChapter 4: Character select