The Nordschleife Project part 1

19.01.2025 Sunday.

Since the SLModders team gathered together, I am already working on a large map that I don’t want to discuss at the moment as it is in a very early stage but that made me thinking of creating a side project to test all the features I want to implement in the future.

I was not thinking about any official release of the map and maybe creating the most beautiful and famous racing track on the world, Nordschleife, the Green Hell, it’s a crazy idea but hey, dream big!

The whole project started as usual, as a modder you mostly focus on existing content and models instead of spending weeks, months or sometimes years to create it first.

Assetto Corsa.

We have spent billions of hours playing that incredible sim and its tracks look pretty detailed and accurate so my number one idea was to get the right tools and rip its Nordschleife map into my good old 3dsmax. The result was over 3 million polygons. Wow, based on my experience, the game Cross Racing Championship can barely handle more than 200 000 polygons so the idea landed to the bin straight.

Where else?

Need For Speed SHIFT.

1 440 185 polygons, slightly better to start with. Luckily most of the elements on the map were only tents, 3D crowds and many other useless objects that were common in the NFS Shift series, so after getting rid of all those stuff, I would say the poly counter stopped nearly at 300 000. That’s an ideal beginning.

The original model imported from NFS SHIFT

The whole project started with optimising the 3D model and gathering together all the useful meshes and textures and to make sure it will fit under the game’s engine limits. And of course it did not but I’ll explain this later.

Hey, hey, we are in the game!

So this is the part where the map still exists for experiments only and I was using the basic track surface to start my testing with the custom made splines. If you’re not familiar what splines are in games or racing games, that’s a basic procedure to define the layout and direction where the cars/characters should go. Like a script, so the game can use its data to create the minimap, (dynamic) camera system can also work if it has correct coordinates and not to mention, every AI is not that smart as you think, their movement is also based on the spline system.

Sounds good, right? Not a difficult technic, it has been invented since the early years of game development. However the reason I was curious about this is there was no information about how the system works in Cross Racing Championship, as Invictus-Games, the developer has never supported modders in creating custom made splines.

This tutorial does not covers the creation of new splines.

We have got tools released by the developer but without guidance, it is impossible to make it working unless you’re a genious and will understand all the code and figure it out. I’m not. Or I used to be. Or whatever, I tried and my theory made the tools working, well, partly.

First I had to understand what the coordinates do in the spline files and figure out how they’re connected. And why there is so many of them.
I would say I did quite a good job for the first try as the game started to create something similiar according to my drawings in 3dsmax. Not perfect but it got the right directions and the camera system started to work already.

One of the earliest attempt to export the spline, drew in 3dsmax to see what the game will do (bottom left corner)

-56.8479 49.708 1681.59		-0.838202 0.0333531 0.54434

The first 3 segment is the initial coordinates of the vertex followed by its direction where it’s heading.

-172.873 50.5161 1757.91	-0.77068 -0.00540923 0.6372

The third 3 segment is the coordinates of the destination vertex followed by the direction it’s heading to.

5.00     5.00     5.00     5.00

Vertical and horizontal road roughness, higher the number, road will be rougher in theory. I’ve never seen this feature implemented in the game however the file must contain those data.

0x0

This entry in every single line describes the type of the road. For example the section between the two vertex could be asphalt, mud, gravel, sand, snow, etc and the engine will calculate from all this data of what type of tire you supposed to use for the selected track and race. This is what you see on the screen when you select a specific race.

An example of how the game calculates the surface data

And the rest of the entries, I have still not figured them out but at this point, I am no longer interested as everything went better than I expected.

So the only thing I had to do now is to get those coordinates from 3dsmax and align them correctly in the spline files. Not that easy as the track is 20.63 km long and my custom made spline drawing in 3dsmax contained over 600 vertexes to cover the whole layout of the map.

So that’s the starting coordinates of vertexes (X, Z, Y), starting directions of vertexes (W, P, R), arrival coordinates of vertexes (X, Z, Y), arrival directions of vertexes (W, P, R). Just to do a quick math, 12 coordinates times 600 vertexes, thats 7200 entries (almost) by hand.

This is the final spline file containing all the vertex coordinates, reduced to 320 vertexes

OUCH! It was quite a painful process but I did it. See it for yourself!

There you go! Fully working spline included in an addon map, first time ever in history

I will continue this dev comment later in part 2 and we will jump into some serious stuff. Stay tuned!

1 thought on “The Nordschleife Project part 1”

  1. I never thought I’d see the day where this game comes back. I’m very interested to see where this goes.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top