Pretty much nobody's satisfied with how cars sound in video games. That's why one programmer decided to build an engine simulator from scratch, just to nail realistic sound—only to find the task more complex than most people could imagine.
YouTube user AngeTheGreat revealed the simulator in a video uploaded this month, explaining why it was created and how it works. In short, he wondered as a kid why games like Gran Turismo didn't simulate entire engines for more accurate sounds. As an adult, he decided to answer the question by programming such a simulation himself, which turned out to involve a staggering amount of research.
Engine sounds are dictated by a variety of factors, from throttle position to rpm, load, head design, and so forth. Accounting for all of these required reading into the subtleties of combustion engine operation, down to fluid dynamics and the way flame fronts spread inside cylinders during ignition. With all these in mind, AngeTheGreat set to work programming the sim using his own homemade physics engine to run at a refresh rate equivalent to 80,000 frames per second. For reference, many movies play at just 24 fps.
From there, the software feeds its outputs through a complex audio approximation system, resulting in what AngeTheGreat calls "some of the best procedurally generated audio for a V8 engine I've ever heard." Once you hear it, you'll agree. The sound isn't all that's accurate, either; the sim has shown the ability to predict power outputs within 10% margin of error. This was proven using a 1974 GM 454 big-block V8, though the sim can apparently do any engine format, even down to screwy stuff like asymmetric V engines. So, a Chrysler slant-six should be doable, too.
Perhaps best of all, the whole shebang is open-source, and downloadable for free from Github. It's the kind of DIY software project you'll still need a modicum of computer literacy to run, but that'll be no hurdle to the kind of technical brain that's required to get anything out of a toy like this anyway.
Got a tip or question for the author? You can reach them here: email@example.com