Idea I know multithreading is complex when it comes to the overall game engine, I always hear of all sorts of potential issues between timings, waiting for the other thread to complete, etc. etc. and that's why it can be extremely complex and much more difficult than it seems, however... Is there a way where ONLY the physics of the A.I. can "dynamically" be multithreaded? What I mean by "dynamically multithreaded", is, let's say you have a 12-thread CPU (Intel i7-5930K, 5820k, 4930k, and many others). Ok, so we have the "base game" which currently uses two threads (RF2 is currently a dual-threaded program). The game recognizes how many threads your CPU is capable of, so let's say RF2 knows you have 12-threads. Let's say it uses threads 1 and 2 (just an example, I believe the operating system's task scheduler decides which particular threads to use) for the base game, leaving threads 3-12 unused. Then, as soon as you add an A.I., the physics of that A.I. run in it's own thread, lets say thread #3. Then, you add another A.I., that A.I.'s physics are fully run under thread #4, and so on and so on. The 10th A.I. will be run on, in this example (12-thread CPU), thread #12. Then, the 11th A.I.s physics will be run on thread #3 (shared with the first A.I.s physics), the 12th A.I. will run under thread #4 along with the second A.I., and so on and so on. What Would This Achieve/Allow? Using the power of all our CPU's threads - of which most people have 4 or 8, and quite a few with 12 (and some even higher, but rarely) - would possibly allow the A.I. to use absolutely, 100% full, true, player physics. Exact same physics engine, exact tyre model, exact physics update rate, etc. Literally, the exact same physics engine in every way, shape and form to the absolute smallest detail that the player's car uses. Each car's physics will be on it's own thread, so I'm assuming (but I really don't know much about this stuff), that this would, for the most part, eliminate the complex and problematic timing issues of a particular workload being shared/divided between threads. Remember, the "base game" would still be running as it is now, just two threads, no changes there. It's just that each A.I. get's it's own specific thread. The Knock-On Effect Each A.I. getting it's own separate thread, and separate from the two threads the "base game" runs on, would be the freeing-up of the "base game's" threads those threads don't need to worry about A.I. physics calculations, leaving the "base game" with much more power available for it thereby increasing all sorts of potential of doing even more. The Battlefield Series: A Sort-of Example Battlefield is a great example - particularly BF3 and BF4. It's slightly different as it works for the online multiplayer opponents. When you play online, the more opponents there are, the more a higher threaded CPU will make a positive performance difference. With Battlefield, the game takes advantage of more threads for the online multiplayer data - slightly different than my rFactor 2 idea, but in Battlefied, it's still the same general idea being: The "base game" does not really take advantage of anymore threads than it was coded for; you can see this by playing offline single-player, there is hardly any difference between 4 threads, 8 threads, and 12 threads. Then - once you go online - the game knows how many threads your CPU has, and the more players online (I believe the max is currently 64) the more the game will take advantage of whatever amount of CPU-threads you happen to have. Doing It "The Battlefield" Way (MP opponents instead of AI) If the whole AI-with-full-physics-and-each-devoted-to-a-particular-thread thing I explained above cannot be done, then how about the Battlefield way where, single player doesn't take advantage, but online does (especially the more opponents there are)? Would that work? Remember, the "base game" doesn't have to change, it can still run as is in order to avoid all the complex timing issues associated with certain workloads across multiple threads. Final Thoughts The "AI way" would, I feel, would make a HUGE difference to the game. I believe there are a lot of people who play rFactor 2 offline and really, really value and cherish the whole offline experience. I can't believe how many threads I read about people still playing against AI, talking about AI driving styles, how to improve them, creating AIWs, videos of offline races, asking for championship/season creators, etc. In-fact, I was shocked the other day when I spoke to a forum "regular" who told me that he as almost NEVER been online with RF2. Well, imagine playing against A.I. with absolutely 100% player physics in every way, shape, and form. The "AI way" would also be much, much more demanding from a PC point of view and would really, really need to use the power of multiple threads. It isn't as vital to do the "Battlefield MP" way as, as it is, most people have no issues with large grids of cars online (or hardly), but then again, I've hardly raced in large grids - almost always under 10 - so I could be wrong.