On the occasion that I am turning 28, I look back at the chapter of my life when I was a player and modder of games by Synetic: The Funfactory, a small German studio that, without meaning to, taught me to be a designer of cars, a scientist, and, somehow, a resident of Germany.
(Cover screenshot: a modded “Excellence” / [unlicensed Aston Martin Vanquish with a Jaguar face] in front of the alpine observatory in Crash Time 5: Undercover. Taken in 2016)
There is a notion that some things in life require a sense of perspective. Sometimes you simply gain it with the passage of time, and the natural order by which things drift. At 13, I could not have told you what Synetic GmbH meant to me. Now turning 28, writing this from Göttingen, weeks out from a birthday for which I am driving to the Nürburgring to camp and watch the endurance race to celebrate … I think I now can.
A few European game developers really left an impact on my childhood. Nadeo from France, now part of Ubisoft, Criterion from England, resurrected by Electronic Arts, and Synetic from Germany, which we will talk about today.
Synetic Games was a small racing games and physics simulations studio based in North Rhine-Westphalia. They went defunct in 2014. From 2006 to 2012 they were in charge of the Alarm für Cobra 11 games, known internationally as the Crash Time series, adapted from RTL’s long-running TV show about two highway cops who solve crimes mostly by driving very fast and crashing into things.
It is important to know that the titular “crashes” were more about the childish sensations of big machines going vroom and boom, and not the messy, fiery realities of traffic accidents. I am also deviated from a position that people expect when they read about a video game review: for my childhood, I had enough English to navigate the menus and eventually modding tools and fan forums, but never quite enough to finish the career mode in any of the releases. As such, for me they were more sandboxes than interactive TV shows. Probably much like a BeamNG a decade before its time.
Commercially, the Crash Time games were almost always reviewed as middling. The physics and graphics were competent but never Frostbite-level; the English voice acting was, charitably, a vibe, and some engine limitations inherited from the World Racing days of Synetic made some interactive segments — observing in retrospect — adopt more of a German Modellbahn vibe than immersive roleplaying.
For the last point, one salient example I remember was one mission where Semir and Ben supposedly arrest a bad guy. The mission then requires the police duo to drive the suspect back to Police HQ and question him on the way. Three people are talking, according to … logic … but because the game engine can’t update driver/passenger models on the fly, still only two people sat in the car.
By the end of the series’ lifetime it, creatively, became a desperate attempt to capture or clone the Criterion magic: Crash Time 5′s car roster, art direction and scene design signalled an attempt to move Seacrest County (Need For Speed Hot Pursuit 2010) to Bavaria.
Then the studio disbanded and the forums followed.
I’ve come around to write this essay, in part, because a separate team was able to re-publish Crash Time 5 on Steam with licensed properties stripped out (so no Semir or Ben), and rudimentary Steam Workshop support. It brought back the prospect of making and sharing mods and might motivate me to one day re-publish what I am about to describe.
I have to add, however, other than the pair of images here, for this essay I wanted to entirely work off my archives. No new images, but what I wished to keep from years ago.


Small team, small engine
Here is what Synetic actually pulled off, which I want to say plainly because hardly anybody else is going to: with a small team, a small budget, a publisher (RTL and then DPG) that wanted a small TV tie-in product, and a game engine they had carried forward from their own Mercedes-Benz World Racing (2003) and World Racing 2 (2005), they shipped six racing games over six years where you could drive across stitched-together fictional versions of German cities (CT3 was set in Berlin, right?). With realistically behaving traffic. With somewhat reasonable (of 2008) AI chase and pursuit logic. With physically computed deformable damage models, and with proper handling and engine sounds.

One technical achievement was the traffic simulations system. The AI for traffic and pursuit cars that picked their own routes through the world. On the one hand, the busy traffic and dynamic pathfinding meant no two chases played out the same, on the other, cars on the road feel more sensible, even than some racing games of the 2020s. For the traffic, some specific behaviours were coded. This one thing, despite the other creative challenges, make the world feel like a world.
For example, they’d part or pull over to give way to emergency vehicles with sirens, which the player often drives; they swerve sensibly to avoid obstacles; in later titles they park in spots realistically, such as in an Autobahn rest stop; I was also pretty sure I learned the rules of the traffic circle / roundabouts from the AI years before I’d driven a real car, especially how to correctly use turn signals.

Years later, as a working computational physicist, I find such a system and its story quite resonant.
Synetic was a small team in Gütersloh making a world simulation: physics, traffic, AI routing, damage, on a budget that, by AAA standards, wouldn’t pay for one trailer. The seams showed. Of course they did. But the ambition of the underlying simulation was enormous, and I think a lot of the joy of the games, even the joy I couldn’t articulate as a kid, came from feeling that ambition push through the budget. You felt the model underneath. You felt that someone had cared about the question of how cars actually move on a German road.
A decade later I work on simulations of dark matter, where the entire game is also: small team, finite budget (compared with TNG or FIRE), ambitious world-model, watch the seams, consciously decide which approximations to defend. I don’t think this is a coincidence.
A taxi and then a bus.
By 2007 I probably had a copy of Crash Time Demo on my family PC, the one with Windows XP and a screaming Pentium 4. I didn’t think too much of it. My story really began about a year later, with wanting a taxi on the road.
In the Crash Time games, the traffic system populated the world with a little roster of fictionalised German private and service vehicles. The games, owing to what they do to the cars … never had Mercedes/BMW licensing (except SEAT, briefly, to advertise their new LeonTM), so the cars were unbadged near-copies.
For one of the missions in Crash Time 2 you had to chase down some taxicabs, which were otherwise not seen on the streets. As it soon turned obvious to me, the game had a taxi model, but it was in the player vehicle list, and a different system controlled the traffic vehicles, so the car I wanted to see lived on the wrong side of the wall.
So I went and figured out how to move it across, from \Autos to \Traffic. First, I created a \Taxi\ folder in .\Traffic\, nothing. Then I had to look at how the official traffic cars folders were organised — mesh, textures, collision box, I got those — ah, apparently a .trf file that defined its attributes, what kinds of roads it drives on, how rigid and heavy the thing is, what sound it emits, . Gotta learn how that works!

This is the moment, looking back, where the scientific method snuck into my life under the cover of a hobby…. once you’ve successfully migrated a model and iterated out a set of sensible physics parameter set (weight, power, gear ratios, etc.), and the game has not crashed, and you see your taxi spawned around the corner for the first time — you start asking the next question. What if I added another car? What if it’s a new truck or bus with different attributes?
Another similar story happened with a long-distance bus model in the game, which the developers only intended to be seen in specific missions. I ported it into Traffic too, and limited it to go 90 on the Autobahn … One problem I soon discovered, was that the bus couldn’t climb a particular hill in the Crash Time 2 game map. It would get partway up, lose momentum, stall out, get rear-ended by traffic that could climb the hill, and create the kind of comical pile-up that, in the show, would have been the cold open of an episode.
It has turned out that 1) the performance numbers I copied from a light truck weren’t powerful enough for the mass of the bus and 2) … a funny one, the wheel model was too small to give enough clearance once the bus was over the hill to keep generating traction.
To reach the above conclusions I had to construct minimal viable models to isolate the problem to test the bus. I generated a world config that only spawned my buses, and gave different colours to buses with different parameters I was scanning: wheel size, engine torque, etc. Then I parked my patrol car at the hill and waited to see if anybody got up to greet me.
I was probably twelve. Nobody had told me this was science. Nobody used the word “controlled experiment” or “ablation study” or “reproducible minimum example.” I just wanted my bus to climb a hill, and the only way to make my bus work was to think clearly about which variable was doing what.

Over a few years — namely over tens of Fridays nights — I had recreated a great many of the cars on what I imagined was the German roads. Rental variants, taxis, estate-wagon variants. Tow trucks, and cars being towed. Taxi versions of cars that had no taxi version in the stock game… To make changes to models I had to learn LightWave 3D, which I taught myself. I baked my own ambient occlusion textures. I learned about UV unwrapping by getting it wrong many times. I saw the topological (abusing the word for the mathematician reading this) advantage of quads over triangles, and at the same time why games only used triangles.








An interesting thing about the first version of my traffic mod was that … I unintentionally broke the game’s economy. As the developers intended, playing as the police means every virtual fender-bender costs the virtual taxpayers and results in virtual paperwork and/or mission failures. Therefore, if one of my “Taxi” is spawned on the road, for example — I often didn’t change the car’s asset name — bumping into it will make the game write off the player version of Taxi’s full value, instead of the more balanced values for NPC traffic cars … Often causing instant mission failure.
Well, I considered it interesting because 1) the bug highlighted how I really just play the games as sandboxes and never quite bothered with the police duties, and 2) it did get me a few email feedback from the wider community.
The family VW Sagitar and the right-hand-drive Aveo
Two of my favourite mods were also two of the worst-looking ones, and I remember them more fondly than anything that came out polished.
The first was the family Sagitar (Jetta Mk5). We had a VW at home, and obviously the logical response to having a moddable racing game and a family car was to put the family car in the game. I did not, at that point, have the patience or skill to actually model a Jetta. So I took the game’s Semir car model (the main character’s E90 BMW), reverse engineered its UV map, and wrapped it in a texture made from photos of the actual car, and dropped it onto the road. It looked terrible, but also unmistakably personal. There is something specific about the experience of driving your own family car at full throttle (I did at least put in the EA211 performance numbers), badly modelled, in a fictional Cologne. The often hard-to-describe yet specific joy of having put a piece of your real life inside a simulated one. Not vouching for Metaverse.
The second was a friend’s family Chevy Aveo. The model I found for Google SketchUp. When converting it across software — I did not understand basis vectors yet, and so when I imported the car, the entire geometry came in mirrored. The steering wheel was on the right. The driver’s door opened on the wrong side. The badge text was reversed.
Annnnd I committed to the bit. I gave it a UK license plate, decided it had simply emigrated, and shipped it.

This is, I will note in retrospect, also a thing that happens in FW’s physics. You do math. Something comes out subtly wrong in a way that’s clearly a sign convention or a coordinate handedness. Sometimes you fix it. Sometimes you label it carefully (or post it on r/physicsmemes) and move on. The 13-year-old who gave a backwards Aveo a UK plate is the same person who, last year, caught a units conversion bug in his Lyman-α pipeline by noticing that one axis of a power spectrum looked offset: if the symmetry of the output doesn’t match the symmetry of the world, something has been mirrored somewhere, go find it. Some call this the Feynman operation.






LUA, my first real programs
The other thing Synetic games quietly did to me was teach me to program.
The games used LUA for asset definitions and mission scripts. This meant that under all the modding I’d been doing — model files, texture files, parameter tables — there was a layer where the game’s behaviour was defined in actual code that you could actually edit. Maps had LUA files. Missions had LUA files. The traffic system had LUA files.
LUA is a gentle first language. The syntax stays out of your way. You can read a script and basically guess what it does. There are no build system to fight, and the thing either works or it doesn’t — and if it doesn’t the crash dump often tells you which line. For a kid who had been modifying parameter values in config files, the jump to “I am writing actual programming logic that the game executes at runtime” was huge and also, crucially, not scary. By the time I encountered Python at university I had already internalised, through LUA, the basic posture of a scripting language: the file is a list of instructions, the instructions can branch and loop, and the world responds.
This is, I will guess, the single most underrated thing AFC11 did for me. The cars and the modding and the bus and the method are all the visible part. The invisible part is that I learned, without noticing, that programs are texts you write. By 17 I was writing simulation code without thinking of it as a different activity from writing a Cobra 11 mission script. It was all just: open the file, write the logic, save, see what happens.
I sometimes joke that I sank enough hours into all my Crash Time mods that, if it had been pointed at a research question, it could have been a hefty paper. Well, the hours were real, and only later came the realisation that the thing I was already doing for fun was the thing professional scientists do for a living, — and that you were allowed to keep doing it after you grew up.
A German road
I want to come back to the world simulation, because there is something I can only see now that I live here.
When you drive in Crash Time, even badly, even as a kid in Jinan and later Auckland who has never been to Europe, you are absorbing a grammar of German traffic. etiquette, discipline. The way an Autobahn-Ausfahrt curves. The kind of light a hazy afternoon makes on a Cologne side-street. The sound profile of emergency sirens. The architectural cadence of an industrial estate behind a Bahnhof. Synetic’s city design wasn’t a real city, but it was assembled from real reference photos of real industrial buildings and inner-city districts and railway stations, and that reference shows up in the texture of the world.
I now can read the German in the textures I inspected and road signs I blur past — and do confirm that streets here look the way I expected streets to look, because some part of my visual vocabulary for “street” was set, age twelve, by a budget racing game made by a studio one Bundesland over. It is a small thing. It is also, I think, not nothing. A studio in Gütersloh modelled their region carefully enough that a kid in the other Hemisphere absorbed it as a default, and a decade later that kid moved here for a postdoc and the city did not feel foreign.


Thank You, Synetic
I guess I wanted to end this review with the following.
Thank you for being ambitious on a tight budget. Thank you for caring about the world simulation when you didn’t have to. Thank you for the sophisticated yet accessible physics engine. Thank you for shipping cars that weren’t quite licensed Beamers and Benzes, because it taught me to look and imagine. Thank you for letting your data files be moddable enough that a thirteen-year-old far away could move a taxi from one registry to another, and then learn LightWave to make a tow truck, and then accidentally learn the scientific method by making a bus climb a hill.
I’m 28 soon. I run my own physics simulations now, on much bigger machines, of much weirder physics. I write my own code. I make my own renders. I model my own things. I live in Germany. I am, in a way I didn’t plan, exactly the adult that the modding made plausible.
Synetic, you are gone, but you are in here. Happy birthday to me, and vielen Dank to you.







Leave a comment