Interesting discussion. Chris, would you care to hop in the DeLorian you have parked out back, set the clock forward a decade or so and predict for us how we're going handle these types of things in the future?
Heh, I love the reference, and I wish I had one of those DeLorians.
I've seen some articles around from some of the "greats" in the industry like John Carmack, and Gabe Newell on how we're going to crack the Moore's Law problem -- namely that we're getting close to reaching a physical speed barrier so far as processing cycles go.
Lately the trend has been to more and more parallelization of hardware. Rather than faster cores, we just get more of them. The problem of course for gaming is that it doesn't always take being multithreaded too well as we're discussing.
Well, John Carmack and Gabe Newell both make action games. I'm fairly certain that neither one of them have ever contemplated the synchronous model of a strategy game in depth -- why would they? It's a fiddly, desync-prone way to do things, and outside the strategy genre most developers won't touch it with a ten foot pole. In strategy companies, you often have a programmer just dedicated to finding and preventing desyncs.
For action games, it's clear that parallelization is the future. There is comparably little data (next to a strategy game, anyway), and a lot of the data never changes: why do you think more games don't have destructible environments, especially in multiplayer? So there are still many challenges there, but they are different challenges and very much more oriented in a direction where parallelization is an awesome solution when you're bumping up against Moore's Law. Even with strategy games, parts of them lift right out really easily: sound and graphics, for example. Parallelize away with those, it's been done for years and doesn't affect the must-be-desync-free-simulation in any way. Even networking is multithreaded for most of us.
What needs to happen for the next breakthrough
We need a faster Internet, and it's coming. In 20-30 years, when the speed of the Internet is the speed that our CPU bus currently is, there will NEVER be a need for a synchronous multiplayer game like all current strategy games. The only reason we do things synchronously is because we can't transmit 30mb+ of data across the Internet 20-30 times per second. When and if that is no longer a barrier, then parallelization for strategy games becomes identical to that of action games.
Short of that, we need some math genius to bend the laws of reality and come up with a way to divide up the processing of a single-threaded application amongst multiple cores without affecting the result or requiring coding changes. I believe Intel or IBM currently has a $1 million prize for the individual or team who figures that out. I think they, like most people, don't believe it is even possible (but certainly it would be worth more than $1 million if someone figures it out). Personally I think they likelihood of more-than-lightspeed Internet is greater than that particular problem being solved (they've already figured out how to teleport electrons, just under really specific circumstances -- there's a lot of potential as quantum physics progresses).
Also, if AI War were purely a single player game, then it could be just as multi-threaded as Half Life or whatever. Only multiplayer strategy games have the constraints I mentioned.