Racing is dangerous

I’m getting back into the groove here and have collected some thoughts I wanted to write about for a while. Last weekend I went to the Le Mans 24h for the first time, and got to experience it with people who “introduced” me to the place (thanks Mark!), but that’s for a later post.

While I’ve been busy at work and with trying to make Blender work for me, something else happened in real life. At the first VLN event on the 28th of March Jann Mardenborough’s Nissan GT-R crashed at the Quiddelbacher Höhe of the Nordschleife. A spectator died when the car flew over the guardrail and catchfence, landing in the spectators’ area.
I’ve started helping out on some admin and organizational stuff at the VLN in April of 2014 and I was at the track that day. Before the race I helped guide the cars into the grid positions (and be available for spectators and mechanics looking for their car in a field of 170+ cars), while the day before I helped hang up the advertisement banners on the catchfences around the track.

I was on my way to another spectators’ area with my partner when the crash occured. On my way to a similarly structured part of the track – Pflanzgarten, where like at the Quiddelbacher Höhe, the cars come over a crest, momentarily losing contact with the ground while heading straight for a corner. I felt queasy there before (like at the Quiddelbacher Höhe) but wanted to share the extraordinary sight for a few moments. There’s another place I felt queasy, at another track, in Zandvoort. Roughly at the Rob Slotemakerbocht, where cars come over a crest. It’s fairly easy to imagine cars having wheel to wheel contact and climb over the guardrail there – I did move on quickly on my way around the track there.

This isn’t to claim those sections should be changed, although there probably is room for improvement for protecting spectators. Even on more sterile track with larger run-offs can produce freak accidents in which spectators can get hurt. A piece of debris flew over a grandstand and injured a spectator behind it at the IndyCar race at St. Petersburg this year. The forces involved are such that you couldn’t completely make racing safe even just for spectators, let alone for track and pit personnel or drivers.

My enthusiasm for racing has changed since that VLN event. I cringe a little on the inside when I see people bringing their kids to risky places, like a live pit exit or pitlane like at the VLN. I’m not going to drag my partner to more risky places at a track unless she asks to come. The Rob Slotemakerbocht is not a place I’ll visit again during a race, and I rather watch my Nordschleife races from my favourite spot at Klostertal than from Pflanzgarten now.

Be aware when you’re at the track. Listen to discussions about driver/track personnel/spectator safety and don’t discard them too easily.

Is it a failure yet?

I haven’t been able to work with Blender as quickly as I had first wished. Some elements I was able to work with far quicker than I feared. Instead of only tackling smaller features first, I wanted to do a more crucial one first – and one that is more representative of what I need to be able to do on a consistent basis.

So I worked on re-laying the track surface on the final part of the Hunaudières straight, just before Mulsanne. There is a rather large hump on the current version of the track that was made safer in the late 90s, probably in response to the blowovers the Mercedes suffered back then.
The process essentially includes removing the old road surface (that followed the much larger hump) and laying down a new one, with a reduced hump. Usually, I do this through a process called lofting. You define a path along which you “drag” a cross-section that “lays down” the 3d mesh. It’s a bit like the path defining the way the paving machine takes and the cross-section defining the shape (width, ondulation, but also height and all sorts of angles if you use a more complex one) of the paving machine’s output. For roads the output is rather simple, as it’s just a straight line with a given width.

When I tried this, I could get some quick results. But I also ran into lots of deal-breakers with what I tried. In an early try, I ended up with points where the resulting road would rotate around the path’s axis, which is rather unrealistic and not very good for high performance driving. After a switch to a NURBS path, I got rid of that issue. However, now the ends of the path aren’t lining up correctly and are slightly distorted. This isn’t very good, to say the least. There is also far less control over the gradient in the path itself using NURBS paths. Too little control has generally been my biggest issue with the work I’ve done so far on this.

Now I don’t want to just drop everything I tried with Blender and go back to what I know well and have been using for years. There are good reasons for Blender, chief among them that the scene of Le Mans has gotten so complicated and large that I need a more lightweight (and 64-bit) modelling program to keep growing the track. Collaboration and allowing newcomers to track modding to learn and grow should also be tremendously more accessible when using free software like Blender rather than modelling software that costs several thousand dollars.

The point to admit failure and move back to what worked in the past (and trying to deal with performance in some other way) has not quite come yet though. I think I may have moved too fast in trying to re-learn basic techniques in a full and complex scene. Instead, I’ll spend a few days building a track up from scratch. The first step in that? Lofting the road surface.

Learning 3d modelling all over again

With the scene all cleared up now I made a first attempt to move it over to Blender. It’s blistering fast so far, but I have to re-learn everything I learned in the last years about how to handle the modelling software.

Things I had to re-learn today included:
– How to navigate through a large scene (tracks are large environments in 3d modelling terms). There are two key toggles to tag in the User Preferences: Auto Depth (which means zooming about won’t arbitrarily slow down or stop because the point of reference needs to be moved as well) and Zoom to Mouse Position (which, uhm, allows you to point at something and zoom there)
– How to export only the object currently selected instead of the whole scene
– How to select more than one object (yeah, Blender does it in a not very intuitive way, but it is still quick, so I can hardly complain)

Clean-up on all aisles

Le Mans is still getting cleaned up. The up and downsides of even just considering switching modelling software are that you have to really clean up everything before moving all the meshes over. It’s a downside because it takes a ton of time and there is no immediate progress on the track itself. It’s important and useful work, but there aren’t any new objects or updated surfaces on the track because of it.

It’s an upside because it cleans up the scene, making it faster to work with and easier to maintain. It also makes you spot inconsistencies that weren’t of high relevance before – because the modelling software and the engine don’t throw fatal errors. It allowed me to – or ended up coinciding with – a separate pass through the materials to see if they’re still in use or can be dropped (making the scene even cleaner).

As far as I can currently tell, there’s only a bunch of objects with isolated vertices left to clean up, then the first complete try to move the meshes can take place in earnest. Isolated vertices (ones that aren’t connected to anything else) can happen when you’re attaching/detaching objects or cutting them up a lot, which is something that has happened a lot during the development time the track has seen so far.

The house is starting to look cleaner

As I mentioned I spent the last few days cleaning up the scene file in an effort to tidy up the materials, prepare for collaboration and possibly the use of different tools.

The first main material is about done, and of nearly 400 sub-materials, about 250 were either outright unused or were easily replaced with a nearly identical material. A lot more can be atlas’ed later, reducing the number of remaining materials even further.

And then I also found something I am not proud of. There was an entire material left in the scene that was only applied to a single object. This can make sense – and I used this intentionally for the objects (mostly grandstands) that I baked ambient occlusion maps for – but here it was clearly an error. For some reason, that material, which did not reside in the material editor and thus was not immediately visible, was a direct copy of pretty much every other sub-material in the scene. It had over 600 sub-materials. No wonder the scene had become so bogged down lately it was hard to work with it!

Now the project has some aspects that make such a thing more likely. Sylvain Glapa started it way back in 2006. I can only guess how many re-organizations the scene file had since then. We got the 1991-96 version out of the door using it. The caretaking author changed and the project morphed into the current layout of the track. It feels stupid and unnecessary, but such is the way of projects. And if you read this as an interested user but not a modder yourself, consider what it must be like for people just starting out modding if such a thing can (still) happen to someone who has been at this for a good while.

Unsexy work

I’ve been going through the materials with a fine-tooth comb and check whether or not they’re still needed. The immediate benefit of getting to remove materials is that the scene file will become more tidy, reducing the memory footprint and hopefully increasing stability.

The secondary benefit is that the project becomes more feasible for collaboration. Working with multiple people on the same file that has a hugely bloated material count just exacerbates the hurdles you face anyway and I’d like to remove as many as I can.

As a side effect, I get a better feeling for which materials do not need to separate and could be put into a texture atlas, which eventually will improve memory usage and performance of the track in the simulation itself (through the smaller number of draw calls needed for certain objects).

It’s not the sexiest of work though. There’s nothing to show, as the content does not visibly change. There’s nothing added outright. But it’s beneficial in the long term, if not actually necessary for keeping us sane. 😉

Podcasting special (in German)

I was interviewed about simracing in general by Racingblog.de, a German motorsports blog, recently. The end result of that is now available at their site, a podcast of about 80 minutes.

Some housekeeping needed

The last few days have been largely been about housekeeping the project for me. The current Le Mans version now has issue tracking, which currently is more of a stuff-yet-to-do-tracking tool. 😉

MHansen has contributed work to the track by building the timing tower at the end of pitlane. It is great to not be the only one working on such a huge project.

Sadly, I also experienced a lot of full scene crashes lately. Correlated to this, I’ve been seeing issues with the hard drive I have all the Le Mans data on. No worries, I have backups, and so far nothing has been lost.
However, I’ve chosen to order a new disk and replace the old one before I run into more serious trouble. So now I’m spending my free time after work by archiving and moving the relevant files. Not much progress on the track, just unsexy but necessary work.

2014 track visits: Zolder

My second to last track visit in 2014 was a spontaneous decision, despite it having been on the plan since the beginning of the year: The Blancpain GT Series race at Zolder.
It was sandwiched between the last VLN race of the season (and the last race I could reasonably attend in 2014) and the VLN race I helped organize. After having spent two days at the Nürburgring the week before, I had mentally set aside the weekend for a bit of a break and relaxation.

In the end we decided to go late on saturday evening when the weather report was looking absolutely fabulous, 20°C and sunshine in mid-October.

Zolder sun
An Audi R8 LMS before the second chicane

For the Nordschleife and Spa I’d recommend going there, even if it meant a 20 hour plane ride first. I can’t quite say the same about Zolder, but it is a very, very nice track in its own right. It has a very rustic pit building and main “grandstand” that both outright emanate history. The view into the first and second corner is fantastic and the speeds the GT cars carry through T1 are great to watch. The chicane on the backstraight makes for some nice action, and the whole section after that through the forest-y area has a great natural atmosphere.

There are quite some great viewing places, and I’ve only seen the chciane on the backstraight be a bit overcrowded. I particularly enjoyed the view of the hill after the first chicane and the run-up to the second chicane, where I took the above photo.

I’m unsure if we’re just lucky having so many great tracks in a fairly small area of the world, or if I might just enjoy race tracks with whatever quirks they have. And I still have some tracks to visit. In 2015 I’d love to finally visit Hockenheim (although honestly I’m not holding my breath on that one) or make a slightly longer trip to the Sachsenring (which I actually am rather enthusiastic about). Perhaps Le Mans is a possibility. It would be fitting and very helpful for recreating the track in rF2.

2014 track visits: Zandvoort

Zandvoort was a first for me in 2014 as I had never visited it before. We went for the ADAC GT Masters race in mid-may (just a week after the FIA WEC race at Spa). The weather was pretty atrocious, I don’t think I’ve ever been that wet in my life. Before that weekend I had considered by rain jacket as a pretty good one but I was so thoroughly wet I haven’t used it since. The combination of the hard rain with a hard wind from the sea was ruthless. But still, the stupid pride in me meant I had to walk around the track during the one-hour race.

The car that would eventually win the championship (Rast/van der Linde)

The dunes of Zandvoort are thoroughly beautiful, although I guess they’re more so on a more sunny day. Better than that though, they offer a great view of the track. Not entirely unlike Oschersleben, you’re a few meters above the track almost the whole way around the track. Most corners are quite great to watch, even the slightly artificial and awkward chicane.

It is a bit of a pity that no “big” series run the track. GT3 machinery – and I guess whatever you call the DTM cars these days – make for great watching there though. It’s a beautiful and very naturalistic track.