Slipstream
Track Editor
I love this game. I believe it's the best "outrun-like" games that I have seen on Steam. The graphics is a near-perfect remake of the original racing games of the '80 (Outrun, Chase H.Q, Hang On, Continental Circus, etc...), the music is - obvi9ously - a good outrun compilation, the stages are really good (I wished for a submarine and it's there!) - overall I consider it a really good game.

I think I've read somewhere of the chance for a track editor (I don't know if it was the author or someone relating something similar), and I think it would be a nice and unique feature for this game. But I'm not thinking to tracing straight ways and curves: the thing I would really like to see is an editor like Lotus Esprite Ultimate Challenge: a screen where you set various slider, and the game generate the stage based on the slider values. You would have settings like: amount of curves, tightness of curves, steepness of the track, amount of obstacles on the side of the road, length of the track. And it generates a sort of serial number to replicate the settings and the seed for the generation.

Now, I know it's not that simple because we're talking about disassembling the code for the trakc and adding parameters everywhere to add more or less of a defined feature. But it would be really cool, in my opinion. Add two or three "scenario" settings where you can have a preference for the type of graphics for the track (like, city/park/tunnel for morning city, or palms/sea/village for resort islands, things like that) - it woule be a blast.

But anyway, I appreciate the work of the developer, thank you for a modern version of Outrun faithful enough to the original but with an own identity.

(And more stages! I would pay for more stages)
< >
Showing 1-5 of 5 comments
Xegethra 24 Jul, 2023 @ 8:50pm 
There was the idea of a track editor, in a recent update I think too.

From this update post.
https://steamhost.cn/news/app/732810/view/3695811362844172401?l=english

"* Modding v0.1
The user content system is now finished and stable. There was a version in v1.2, but it was a little buggy and not properly tested. Now it's 100% functional, save for the occasional bug that's probably still hiding in there. However, I'm calling this "v0.1" instead of v1.0 because there are still many parts missing.

A real modding system requires three things:
Support in the game code itself. [finished]
Specialized tools, like a track editor. [in alpha]
Documentation on how to do it. [not started]"

I think there was a mention about it in a much earlier post as well at one time. Still, it's not a given.
Last edited by Xegethra; 25 Jul, 2023 @ 6:55pm
Cyris Winheim 24 Jul, 2023 @ 9:41pm 
If you look into the JSON files for each racetrack, the tracks are divided into "sections", each with the following properties:

"Length": The length of the segment. The sum of all of a track's lengths always add up to 5000, so each unit is roughly two-thirds of a meter long, and each length value is always divisible by 50.
"Curve": A negative number for a left turn, a positive number for a right turn, and 0 for a straightway. The further away from 0, the sharper the turn.
"Slope": A positive number for an upward slope, negative number for a downward slope, 0 for a flat road. The further away from 0, the steeper the slope.
"Split": Whether or not the track splits into two lanes.
"Flags": Not sure what this does. Might have to do with changing the road's width.
"Patterns": Determines the scenery along the sides of the road.

I could see a random track generator working by picking one of the game's track themes, along with its decoration setups, and create a series of track segments whose total length adds up to 5000, each having somewhat randomized values for length, curve, and slope, as well as random chances for split roads. I'm already quite sure that the "Reverse" race modes just load the track segments backwards and invert the curve/slope values, so a random track generator could theoretically work within certain parameters.
Zacabeb 25 Jul, 2023 @ 6:53am 
The flags for the segments seem to be unused and just reserved for future use. The flags for the patterns control how the props (i.e. sprites) are drawn.

Add up the following values to get the desired pattern flags value for controlling props:

1: Mirror prop on the other side of the road
2: Flip the prop horizontally
4: Use sinusoidal distribution of props instead of random distribution when scattering them horizontally (used in combination with the Period and Amplitude parameters)
8: Flips the props horizontally in a random fashion
16: Use a random frame of a multi-frame sprite, if not set to animate in props.json (AnimationSpeed = 0)
Last edited by Zacabeb; 25 Jul, 2023 @ 10:55am
BeeTLe BeTHLeHeM 25 Jul, 2023 @ 12:58pm 
You're right, I hadn't notice that the tracks data is saved as a json file. I want to create a small application to change the track segments properties and watch the effect - it could be possible to write an external random generator.
BeeTLe BeTHLeHeM 7 Aug, 2023 @ 6:12am 
I'm working on the track generator, I managed to create a new track using the "global" parameters from the original tracks, and choosing the patterns for every segment considering the values of split, flags (even if I still don't know the meaning) and length, to try to choose the proper scenario without interfering with road width.

The result are nearly acceptable, I have to balance curve creation and to refine the split road management. I can add a few info about track data:

Global attributes:

- Name: track label
- Background: reference label, link to "\backgrounds\backgrounds.json"
- Texture: road texture reference label. First part select the pack ("vanilla" or "blue-hour"), second part links to the "textures" folder of the package.
- Flags: still unknown
- RandomSeed: a seed to generate random data (purpose unknown)
- Colors: array of int colors (purpose unknown)
- Sections: track sections data

Regarding the sections:

- Length: i used the same values of the original, in the 50/600 range. I could use random values (50 * 1-12) but I don't know if this can mess with the patterns (I don't know if patterns are set considering the segment length too).
- Curve: steepness of the curve; values in the -4/4 range. Negative is left, positive is right, 0 is straight ahead.
- Slope: road inclination; values in the -4/4 range. Negative is down, positive is up, 0 is plain. I noticed that descending too much mess with the background graphics, so I calculated a sort of "road height" and I put limits to avoid the issue.
- Flags: still unknown
- Split: road width and split. Values in the 0/5 range with the following meanings:
0 - single road, default width (should be 3 lanes)
1 - single road, large (should be 4 lanes)
2 - single road, larger (should be 5 lanes)
3 - split road, small gap, (3 + 3 lanes)
4 - split road, large gap, (3 + 3 lanes)
- Patterns, array of pattern objects
< >
Showing 1-5 of 5 comments
Per page: 1530 50