Going into this article, you’re probably wondering where did I get an idea like this from? Well, back in 2019 I spent quite a bit of time making custom mock-up colors for Sonic Robo Blast 2 Kart and I teamed up with a user in the game’s community named Xkower to produce Collabcolors, a community-made color pack for Vanilla that operated as its own .exe. However, you could not bring these skincolors online into net games unless others also had the .exe and players without it would be displayed with the wrong skincolors. Vanilla Sonic Robo Blast 2 would give server hosts the ability to add on extra skincolors in Version 2.2.5 through scripts, whenever they be traditional skincolors, wild and wacky skincolors meant to be jokes, and a whole slew of animated skincolors.
Before jumping into the project, it's important to note that the game is capable of displaying up to 256 colors and cannot (outside of OpenGL mode) display any color outside that palette. Since Sonic Robo Blast 2 Kart was built from version 2.1, various changes that would occur in the palette to expand the versatility of the colors featured in the jump from version 2.1 to version 2.2 don't exist. However, you can use a program called SLADE to convert graphics in the 2.2 palette into the one featured in 2.1 and vice versa, and the alterations will be immediately noticeable. For instance, this is what happens if you take the 2.2 palette and convert it to 2.1:
*Pale yellows, depending on the shade, are converted into light yellow, light orange, or light beige.
*Rose pinks become pale pinks, matching the ones already in the game.
*Seafoam greens become light cyans on the lighter end and teals on the darker end.
*Royal purples are converted into light blues or dark magentas depending on the hue.
*The four brightest shades of magenta are lost- the brightest of them becoming might blue and the rest turning into the lightest shade of magenta available in a palette.
It gets a little better if you take the 2.1 palette and convert it into 2.2, with the only change worth noting is the different type of teal used between the two palettes. But anyways with the above notes in mind I began to backport the more unique colors from vanilla Sonic Robo Blast 2 version 2.2 into Kart. The list of converted skin colors, in addition to the customs mentioned further down the article can be found in this gallery. As everything in this portion was a “Vanilla” color by technicality, I opted to merge them with Kart’s vanilla list:
- White
- Bone (A shade of grey not in Kart, in Vanilla it serves as a counterpart to Silver)
- Silver
- Grey
- Carbon (A shade of grey not in Kart, in Vanilla it serves as a counterpart to Nickel)
- Nickel
- Black
- Jet (A darker version of Skunk in Vanilla instead of being a dark steel blue)
- Skunk
- Fairy
- Popcorn
- Artichoke
- Pigeon
- Azure (A light grey/steel blue mix instead of a teal/purple mix)
- Slate (Fills the upper half of the color ramp with greys instead of lighter steel blues)
- Bluebell (Resembles a lighter version of Kart’s “Jet” color)
- Sepia
- Beige
- Walnut
- Brown
- Leather
- Bronze (Vanilla’s version of the color Leather, with dark browns that fade into a dark grey)
- Tan (Uses the pale yellows which do not convert successfully to Kart, so light orange is used)
- Salmon
- Pink
- Rose
- Brick
- Cinnamon
- Ruby
- Raspberry
- Cherry
- Red
- Crimson
- Maroon
- Lemonade
- Flame
- Scarlet
- Ketchup
- Dawn
- Peachy (Has a more dominant use of peach and pinks compared to Kart’s Peach color)
- Quail (A light brown that fades into lavender)
- Sunset
- Copper (Has a more “rustic” look compared to Kart’s version)
- Creamsicle
- Apricot (A shade of orange with peach for the highlights)
- Orange
- Pumpkin
- Rosewood
- Burgundy
- Tangerine
- Peach
- Caramel
- Cream
- Gold
- Royal
- Sandy (Resembles Royal but has a greater amount of brown in the color)
- Bronze
- Copper
- Quarry
- Yellow (Uses dark yellows in the back half of the ramp instead of golds)
- Yellow
- Mustard
- Crocodile
- Olive
- Vomit
- Garden
- Lime
- Lime (Resembles a lighter version of Handheld than is more yellow than green)
- Peridot (A color that combines army greens with dark yellow to emulate lime green)
- Apple (A shade of yellow-green in-between Vanilla’s Lime and Kart’s Handheld)
- Handheld
- Tea
- Pistachio
- Moss
- Camouflage
- Robo-Hood
- Mint
- Seafoam (A pale green that fades into teal, adjusted to give the former more exposure)
- Green
- Pinetree
- Forest (A darker green in comparison to Pinetree)
- Emerald
- Swamp
- Dream
- Plague
- Algae
- Caribbean
- Azure
- Cyan (Retrofitted into a successor to Vanilla 2.1’s teal color, uses color 247 to sell the effect)
- Aqua
- Teal
- Cyan
- Wave (A light blue that fades into a dark purple, converted to Magenta)
- Icy (A lighter Jawz)
- Jawz
- Cerulean
- Navy
- Cerulean (A dark navy blue darker than the above two)
- Platinum
- Slate
- Steel
- Thunder
- Rust
- Wristwatch
- Jet
- Sapphire
- Periwinkle
- Blue
- Blueberry
- Nova
- Pastel
- Vapor (Similar to Wave, but uses light blues to make the color appear more purple)
- Purple (Doesn’t use magentas in Vanilla, unlike the “Purple” in Kart)
- Moonslam
- Ultraviolet
- Dusk
- Bubblegum
- Purple
- Neon (A darker version of Kart’s Purple color, known as Indigo in Kart Z)
- Plum (Darker version of the below color)
- Violet (Resembles Fuchsia but uses dull pinks to transition into the magentas)
- Raspberry (Fades into magenta at the end instead of being a shade of red)
- Fuchsia
- Toxic
- Mauve
- Lavender
- Byzantium
- Pomegranate
- Lilac (A lighter version of Pomegranate)
- Lilac
Most colors in Vanilla, excluding the very dark colors, end with a dark color of the color’s shade. In Kart, all but the lightest colors fade into pure black (color 31). You may also notice that several of the ported Vanilla 2.2 skincolors share their names with several of the Kart colors. No color between the two are 100% alike but to go over exactly how all the skincolors with the same name compare would take too much time out of this read, and the skin olors that were chosen to be ported over were the ones that I felt offered something new to the table or showed just how a skincolor like Peridot would work in Kart without the necessary colors they used in 2.2's palette in the ramp.
Of further note is Color 247, the bright neon cyan or teal. This color is never used in SRB2 and SRB2Kart’s internal graphics at any point, only seeing use to render transparency in textures in vanilla SRB2 and on skincolors in SRB2 2.1 and 2.2 (though in only one instance each). Meanwhile, Kart does not use color 247 for any skincolors by default, only using the darker teals that occupy Colors 220 through 223. It is still possible to see the color in-game if entering a colored sector that turns the sprites to a bright teal such as the underwater section of Paradise Hill Zone and through modding, players can add skins and sprites that use color 247. If the EXE is modded directly, skincolors that use color 247 can be added and will apply onto character skins without issue.
Still, there came the name conflicts and having to rename them all. The names chosen were influenced by some of the colors from the original Collabcolors, as well as the Mega Paint Drive (my spiritual successor for collabcolors) created for Vanilla and in one case, Super Sonic Robo Blast 2 Kart Z. Furthermore to ensure compatibility with the hundreds of characters in Kart already, none of the preexisting Kart colors had their names altered or ramps changed, and no character from the default cast or Bonuschars would have their prefcolors changed for consistency.
- Jet -> Ink
- Azure -> Ghost
- Slate -> Marble
- Copper -> Rust
- Yellow -> Banana
- Lime -> Sunflower
- Cyan -> Frost
- Cerulean -> Peacock
- Purple -> Gemstone
- Raspberry -> Magenta
- Lilac -> Thistle
Following reconfiguring the Vanilla colors to better work alongside Kart’s, it was time to adapt the skincolors from Collabcolors. In the end, the ones I ultimately went with were colors I considered unique enough from both the Vanilla and Kart skincolor selections or had some other niche to warrant their inclusions. Understandably, this would mean a lot of colors from Collabcolors would be scrapped or receive major changes, and the colors that I did pick were the ones I considered “useful”, and which ones would work the best with custom characters in mind. In order to avoid dragging the number of colors through the roof, owing to the smaller number of available spots for extra colors in the .exe compared to Vanilla and the presence of the Vanilla recreations. The final list of add-on colors became:
- Diamond
- Raven
- Chocolate
- Earthworm
- Yogurt
- Pearl
- Strawberry
- Soda
- Bloodcell
- Mahogany
- Fiery
- Spice
- King
- Hot Dog
- Carnation
- Candy
- Nebula
- Steampunk
- Amber
- Carrot
- Cheese
- Dune
- Brass
- Lemon
- Casket
- Khaki
- Light
- Peppermint
- Laser
- Asparagus
- Army
- Crow
- Chartreuse
- Slime
- Leaf
- Evergreen
- Tropic
- Iguana
- Spearmint
- Patina
- Lakeside
- Electric
- Turquoise
- Pegasus
- Comet
- Lightning
- Vacation
- Ultramarine
- Depths
- Dianne
- Exotic
- Snow
- Moon
- Lunar
- Onix
- Lapis
- Orca
- Storm
- Midnight
- Cotton Candy
- Cyber
- Amethyst
- Iris
- Gothic
- Grape
- Indigo
- Magenta
- Disco
- Mulberry
- Boysenberry
- Plum
- Elderberry
The original plan called for 70 new skincolors but an extra two snuck in. The final result at least meets my specifications and 102 extra colors along with the original 100 is plenty enough. So then comes the tricky part: Getting everything into the game proper. Vanilla 2.2 has support for custom colors through addons- Kart, as you likely know, doesn’t. Thus, the only way to add the skincolors at this time would be to modify the .exe while steering away from changing/resorting the values of the skincolors. The only solution I could decide on would be appending the new skincolors to the end of the list after Lilac, starting with Bone from the Vanilla recreations and ending with Elderberry in the customs, keeping them as is from there or using the M_MoveColorBefore and M_MoveColorAfter functions in Vanilla to re-order the new skincolors alongside the 100 Kart colors while preserving their values.
The last bit I’ll mention (since this article is getting rather long) is the invcolor, short for Invert Color. This is the skincolor’s opposite on the RBY spectrum. Red uses Green, Blue uses Orange, Yellow uses Cyan, Black uses White, etc. This doesn’t apply to every skincolor, for instance Ketchup (a red skincolor) uses Mustard (a yellow skincolor) since they’re part of the same “condiments“ theme. This aspect of the invcolors would carry over to these new skincolors as well, either using the color’s direct opposite or another color based on the same theme. Vanilla 2.2 lets you pick which shade of the invcolor is used (out of 16), while Kart only has one shade (using the sixth color from the top of the ramp).
Any-who, that’s all I really got on this without dragging on the length of the post. I wanted to make this post and all the accompanying mock-ups more for the “What-If” novelty than anything else. Even if nothing comes out of these ideas I wanted to get them out into the wild anyways and I’ll admit it was fun re-creating all these in the time that it took.