I'm going to refer to such RTSs from now on as "fun" RTSs, because all of them are.
Keep in mind that exponential growth means exponential resource usage - CPU, memory, power. Lets say we double our economies every week - a terribly slow pace for a game. Remember that if you're trying even a little bit in current Spring single player, you can double your economy, oh say, every 5-10 minutes or so. Lets say 10, for the average player (never mind pros).
Therefore, a weekly doubling will amount to an economic expansion rate something like
Code: Select all
50 weeks = 50400 minutes
50400/10 = [b]5040 times as slow[/b]
Now lets say that every roughly 500 fun RTS resource units, gives you a shiny new unit to store in memory. Pretty good number. Convert our resources-per-week into units-per-week:
Code: Select all
5000/500 = [b]10 units in the first week[/b]
--But wait, mister Dragon. Can't you, say, compress some of that data? Some of those resources those units would take can surely be compressed by some fancy pants compression algorithm!
Okay - then lets say we have a 5:1 compression ratio. Hell, take a 10:1 compression ratio. A ten-to-one ratio of compression for models, location, pathfinding, simple AI, and whatnot. Okay, magical compression. Lets go with that. That means, memory-wise, we're more or less making
Code: Select all
10/10 = [b]1 unit in the first week[/b]
Can we come up with a formula? Yes we can!
Code: Select all
2^(N) = Units after some number of weeks N
Hey, wait a second, its my next birthday! One year later( 52 weeks for the Gregorian impaired), i can have
2^(52) ~=~ 4.504 * 10^15 =
Code: Select all
45,040,000,000,000,000
i spaem 45 quadrillion gatoer!
!!!!1111111!!!!!!!!!!!!!!!11oneeeoene
Lets say each compressed-unit-group takes up 500 kb (half a meg) of RAM for pathfinding, gfx, image, simple AI routines, whatever.
Code: Select all
(2^52*500)/1000
--But multiple people playing mean that many units die instead of being stored.
You still have exponential growth. Watch the end-game charts for Spring. It's just slowed by a measly factor of two or three. You're still dealing with trillions upon trillions of things to worry about. And it works both ways; don't forget that more people means more units too!
--Aha! The developers can artificially slow growth by only increasing the size of the maps, playing fields, and tech trees, very slowly!
This may be the only way to actually make a fun MMORTS even remotely feasible in the long run. But think about it:
1) We're already dealing considering a pathetically slow-paced real time strategy game
2) Make it too slow, and it ceases to be an MMORTS and becomes an MMORPG, in a funky way.
3) To make it mathematically feasible, you would have to slow expansion to a point at which it wouldnt even be fun to use as a screensaver.
--But doesn't Moore's Law tell us that computers will simply become faster to accommodate our RTS?
Moore's law doesn't matter here, because it says that computational capacities double every 18 months, or ~78 times slower than our Really Cool MMORTS.
After a while, the growth of any fun MMORTS will exceed the computational capacity of a server, a cluster, and after a while, every supercomputer in the world - combined. It might take a while. Say, two years. Or three. But we're dealing with an MMORTS here; that's a standard time scale for an MMORTS.
At the end of your game's life cycle, there will be more units in your MMORTS than atoms in the universe (around 6.3 years, to be precise)
Please, stop talking about TA-like MMORTS. There's a reason the games quit after a few hours at most.