RING RACERS CUSTOM TRACK DEVLOG - GRASS GRADATION

April 16th, 2026

thumbnail

Here we go again.

As this is a very recent thing I've worked on, I wanted to write all the little twists and turns on making this somewhere before I forget them, in case someone's that curious to see how things were put together and evolved from a gridbox to a decent looking track [as well as doubling as a reminder in case I also forget how this process went so that I use this as guidance].

As of April 19th 2026, the track is now available for download!! You can get it here in the SRB2 Message Board.

First things first: Grass Gradation is loosely inspired by the Area A stage from Mega Man ZX, which is where the main wall texture and song comes from - even the name itself is basically taken from the soundtrack that stage [and this track] uses: Green Grass Gradation.

I intended it to be a sort of beginner friendly type of track with the grass theming, some wide turns and a good chunk of offroading instead of my usual style of putting together a layout with a special gimmick on doesn't-matter-where with a cool song that makes you go fast. It was even initially meant to be a bit bigger in size than usual to accomodate for beginner players, but it was scaled down a bit later for a better pace in Gear 1/2.

Regarding whether I planned this layout in advance or not...not really. I had the idea for the track's theming days earlier, but I basically sat down and started drawing these track setpieces one after another to piece together the whole track: That initial sloped turn with offroad with the cut, then the split into a turn, then the tighter hairpin with offroad inside [spikes added later], then the big area with a tripwire acting as a wall for those that can't cross it, the turns into a big sloped turn, then exiting from a tunnel into a dash ring that shoots you at a wide area with a sneaker panel to end the lap.

And the tunnel turn + dash ring setpiece was basically intended to double as one of those areas where you can charge a drift to Triangle Dash [driftboost mid-air] downards instead of just fastfalling. Everything else though is wheels on ground, down to the fact that I intentionally omitted adding any trick panels to switch things up and to adjust to that beginner-friendly vision.

If you're still reading here to see how this was pieced together and see WIP clips of it, then feel free to be my guest and read ahead.


Full Making Of Notes

BUILDING A LAYOUT WITH PLACEHOLDERS

So first things first is to start drawing a layout while having a PK3 with a SOC so that I can actually playtest the track on the fly.

It's funny how the only backup I have that's older than the mostly completed layout with placeholder textures is this thing that's literally the first turn + shorcut of the track and nothing else.

thumbnail

I think I took the SOC from a joke port of Jungle Canyon from Kart [here's the context] that still had a SKY770 skybox, which I remember then replacing with Sunsplashed Getaway's sky and music as placeholder while I hadn't done a looping OGG for the track. A carryover from that SOC was also using the LightContrast and LightAngle values that I've been basically using for a bunch of other tracks.

The layout itself I initially started thinking about building with the usual grid dev textures, but for the road specifically I started using green palette textures to at least give myself a bit of a vision on what I wanted it to look like even as a basic crude placeholder - the rest of the textures [walls, fences] though were all grid dev textures. The picture below is from when it was already MOSTLY done in that regard, but still not fully complete.

thumbnail

A fun little detail is that I originally made the track fairly large and wide with 1*FRACUNIT/4 scale in mind, the average scale for RR tracks, as I wanted it to be a beginner-esque track, although later when toying with 1*FRACUNIT/3, I felt that faster and more appropiate, with some other players agreeing to it be a better scale.
So the layout you'd see here was actually initially drawn and playtested to be bigger, which is what you see in the clips above, but was shrunk a bit later down the line before decorating and is the scale you'll see in the rest of previews.

For reference, the clip below [stitched together from two WEBMs since I had to split them for the purpose of fitting under Discord's 10MB limit] is the first one I recorded of the track to showcase it in Gear 2, still having this initial larger scale, the Sunsplashed music + skybox and no offroad spikes anywhere yet.

That also happens to have a difference I had completely forgot about until rewatching it: The final turn was initially a ramp jump off a ledge into the start of the track, but with how kind of out of place it felt after enough testing [there already was one drop off for triangle dashing with the cave into the dash rings, there was no way to see what was on the floor below before the jump, and made the last patch of offroad useless], I later turned that into a smooth downhill back to ground level.

Although one thing that I adjusted to go with the new scale is that the hairpin spikes were initially five spikes, then it was three with the inside having a tripwire [I think], and after scaling down the map a bit, it turned into just two spikes before the tripwire on the inside.

The clips shown earlier though were from before I even thought on adding the spikes to the large offroad areas, as that idea came to mind after realizing how theoretically easy it would be for players to be lawnwmowing over the mud if that was all there was...so I slapped some spikes in some areas to make it more dangerous for the greedy, and the offroad patches that were intended to fully be shorcuts with tripwires...got tripwired.

I'd say the only offroad cut not intended to be tripwired at first is the sloped hairpin, but I imagined that only having spikes to cover that cut would have been too easy to consistently take over the main road, so the inside was tripwired while keeping those two spikes on the outside to still give some risk to that one earlier line.

Also, the clip above didn't have any tripwires other than the one on the big area, but I added those minutes later. Roughly 30 minutes later [assuming from the webm files], I added waypoints so that I could test with bots to feel the pace for the track, saw the default bots on start were too slow for me [on boot from HVR, game defaults to GP bots as if they were on their first race in Intense...which is to say they are quite lax] so I gave it another spin with levelskull/all rival bots, and therefore recorded the first test race with CPUs keeping up on the track.

With everyone as Motobugs. I just thought it would look funny.


ROAD TO THE FIRST TAKE

thumbnail

There's a lot of stuff that I used to decorate the track, almost all Ring Racers assets for Green Hills, but a few things are either from another track I didn't check where it was from [was just looking for a fence and saw it] or I specifically looked for in that track [Emerald Coast's water].

If I remember correctly...

  • Grass textures and water floor from Green Hills [Floors - the road edges are just darkened to look like that]
  • Offroad mud from Marble Garden
  • Water FOF effect from Emerald Coast [not just the texture, I copied and trimmed the control sector to paste it here]

Early on though, it was still using Sunsplashed's sky texture [which to be fair still looked cool, but I wanted it to be set in daylight] and didn't have the Emerald Coast water FOF though.

Once again guessing from the WEBMs I recorded, it seems that the moment I set out to change the sky with Emerald Coast's, I was also already on my way to adding the one unique touch I wanted to add to the track: A texture from Mega Man ZX to make the track look the part.

This wall texture ripped from Mega Man ZX's Area A was slowly but surely applied everywhere to replace the Green Hills walls acting as a placeholder. The fact there was only one webm on my files showing the track entirely with Green Hill walls instead of gridbox and/or a mix of Green Hill and the ZX wall does indicate that I set out to work on that fairly quickly before recording more showcase clips.

I even had to check if the oldest autobackup of my map while I was saving texture changes on a separate folder [extension wad.backup3] was before the ZX texture for the screenshot of this section. Tbe rest of backups already had the texture partially added like in the video below

But to make a small detour into how did I even get that texture...


FINE, I'LL RIP IT MYSELF

There's several sprites ripped from MMZX when I looked them up, mainly characters and at least two backgrounds, but nothing about the actual stage tilesets, neither as tiles nor as full maps. This is why despite the idea being to make a map at least inspired by that forest stage, most of it looked like a Green Hills spinoff by the lack of unique assets for that, not counting the music: I didn't have anything at hand from the actual game to work with.

However, here's a twist: I had actually been considering the idea days before I actually started mapping...and on that time, I went to Area A-2 to screenshot the level with RetroArch's MelonDS core, using the Top Only option for the screenshots to be native resolution.

...And what I had got from that and editing the screenshots together carefully [the native resolution shots helped lining the separate screenshots well] was this:

thumbnail

Despite all that though, some stuff was on the way of background or wouldn't be feasible to tile over, on top of all of it only being useful for side textures [it wasn't like the bridge in Streets of Rage 2 having a visible floor perspective to use that as a base for a new texture], so the only texture I actually ripped was from that piece of floor on the stage. Specifically, that one.

thumbnail

The rest was adding it to the track in HVR, noticing its too small, scaling it up, too small once again, and with some editing plus the asset I ripped actually being possible to tile over, making this larger variation then scaling that up. The texture is named ZX_AWL1D because it was the fourth variation that I made and ended up being used the most, but there are A-C variants, and I think only the C variant [already edited but slightly smaller in scale] is also used somewhere on a few ledges.

Although on the note of ledges, there is ONE place where I kept the Green Hills wall texture, and it was here on the starting lake. But think that's it.

thumbnail

BLAST OFF - REVEAL, REVSION AND TESTING

As I've alluded to a few times, the first actual showcase of this track outside of Ring Racers discord servers was yet another video playing the track in Dynamite Derby, as I had done the same for a previous track [Super Grit Canyon in Super Striker GP], except THAT one was shown in gridbox textures while THIS one was already using the ZX wall in some spots and otherwise still using Green Hills assets...but wasn't completely there yet at a visual standpoint.

After some time, I ended up ironing out most of the quirks I had left for it: All the relevant walls were replaced with the right texture, added an arch on the turn before the cave for some visual flair [and also separating the tripwire on the left], made a few sectors with slopes to make the walls at the start not look flat at the top, decorating with an outside area the area after the jump into dash rings near the end, and even took the time to decorate the outside of the hairpin with a lake area so that it wasn't all walled.

thumbnail
thumbnail

That last part you can actually see was started partially in the Dynamite Derby video, with the actual hairpin already having fences and a view at the ocean, but the turn right before [and the side walls nearby] weren't decorated yet. Stuff you'll definitely notice if you compare that with the completed version. It's definitely night and day to compare that preview with what I would consider the final rendition of it visually.

This was first version of the track that I was sharing for people to test and even submit ghosts for, satisfied with the decoration work and now needing some test runs from other players.

A detail I didn't mention before is that while the first takes didn't have one, Revision 1.1 [which was the one I shared for testing] added a Record Attack spawn to start in front of the finish line instead of being at the slanted slope all the way back. If I remember correctly, 1.1 was in fact the name I gave it for only that fix as I found it necessary to remember despite the fact that I pulled the first release candidate [1.0] when I saw I missed that detail.

Another detail that's important is how some areas still didn't have the darker edges on the road, something I feel like both adds flourish and readability to the track, as well as how with the replacing of almost all Green Hill wall textures, I turned some linedefs into small sectors to shape them with slopes, which is how the walls at the start now have these triangular edges at the top instead of being a flat wall like the rest.


THE FIRST REVISION AND TIME ATTACK TANGENT

Most of the changes for this one were bugfixes [missing death pit effects on out of bounds, node error causing a respawn near the second tripwire] done after testers reporting them, or visual tweaks for stuff that was missing [tripwire caps] or could be improved [sources for the pools of water in some areas].

Also, A LOT of people sent in their ghosts - it had been a long time since the last time I had made a track so I was genuinely surprised with the amount of people that slowly but surely were sending in their ghost times. Some were on the greener side but doing their best, then others were approaching my personal best with Vectorman [high 1'50] or even beating it by a second...and there's also a select group of players who left me surprsied as they cut into the 1'46 or lower territory.

thumbnail

There's the beginner ghosts, hovering over the 2 minute mark, then there's the more advanced players going under 2 minutes, some away from 1'50, some fairly close by pushing the boundaries on the drivable road as much as possible.

And then there's the hydrogen bombs. All the sub 1'50 times I've got fall into not just keeping up with precise driving but also going for a strat that, in hindsight, should have expected but didn't and now its there for Time Attack: Using the First Blood to run through the offroad at the start...as long as you don't slam into any of the spikes in it.

But that is merely one step that they happen to use to shave off a bit of time, the rest being straight up keeping the driving as solid as possible without any major mishaps. Some of them even go for drifting between the spikes on the sloped hairpin at least one lap.

While I hadn't managed to beat Yoshi's old 1'44 and Phoenix's 1'45 time, I still managed to get a respectable 1'46 above every other ghost [at that moment] after a lot of practice even when sticking to the heavy Vectorman, so even if it isn't the top spot, I'm still fine for now about that being it.

thumbnail

Unrelated fun fact, but some of the runs I did were while listening ZX Advent Tunes's Slam Down, some other attempts were with Zero 3's Cannonball [both the original and the Mythos remix], and sometimes I ended up doing runs without any music to not get too worked up as well as listen better to the ringbox roulette [needing to hear five dings before pressing for a guaranteed Jackpot A good moment to mention that I didn't actually plan in using Rockin' On, ZX's boss theme, for the track in any form [at least not this one], but used it for the Dynamite Derby video since it was running against souped up bots in an elimination race for as long as I could survive.

However, while I was writing all of this and also packing up Revision 1.3, Yoshi's 1'44 was no longer the king of the road, first overtaken by Acethediamond's Chao with a high 1'41, then Yoshi ran it back to beat the time by a few miliseconds, then Beekeeper Noah showed up to beat that...and then Dillon showed up to mog all those 1'41 times with a whopping 1'40. And even that wasn't it, as toddoesstuff also showed up to challenge Yoshi's 1'44 and winning by a few miliseconds, although still below beekeeper and Dillon's times.

thumbnail

...Yeah I didn't exactly foresee the few patches of offroad happening to be pivotal to Time Attacking, but it's cool to see. More so when three of the offroad clips require you to needle straight through spikes or else lose the run, which despite being intended [offroading is kind of cracked in here, which is why tripwires exist, so I threw those to deter the greedy], still has me flabbergasted to see someone actually monster truck through those spike fields EVERY LAP.

In any case, for those Time Attack fiends, if you can somehow get past the 1'46 threshold consistently to beat times like mine and Phoenix's, then you'll still have a challenge awaiting with those 5 master ghosts awaiting that push the limits of the track.


THE FINALE

Revision 1.3, which would end up being the final release [or at least should be at the time of writing this if nothing bad happened post-launch] was made to address a single petition: Moving the item box set from right before the turn to be in the middle of it...outside of Time Attack.

thumbnail

Obviously, with how cool the TA runs have been and already are done, I wouldn't have wanted to destroy all of that by moving out the item boxes, but as someone suggested to just make them TA only, that's what I ended up doing - thanks to some assistance [haya, Magi, Tin Man] and reusing my code from Dual Angel Jam for cerv.id's all in one pack, which for context, had to be a track that doubled as both Race and Battle, using ACS to readjust the map to fit Battle mode and removing Race-only things.

And to add a detail I tended to ignore in previous tracks, I added a proper Encore effect...or more accurately, copied the Encore script and colormap from Green Hills to this map. It's not original, I know, but I did think that it would have fit with the rain and less colorful grass textures Green Hills's used.

...Oh, and Ace struck back with one more Chao ghost by the time the dust was settling for the final release with a 1'41"00 time, passing over the other ghosts above, yet roughly half a second away from Dillon's top time..