Optimizing for Speed
Moderator: Moderators
Optimizing for Speed
The #1 I would like to see in Spring is larger maps. Unfortunately, we can't play well on some of the largest maps we have, because the game slows to a crawl.
Supreme Commander is supposed to be able to do real planetary scale combat. I'm not sure I believe that, but it would be nice to be able to do something larger than 50 city blocks on a side. Perhaps 50 miles on a side? Obviously, this would need to be a fairly major overhaul of the engine, unless there are some major ineffeciencies in there (has anyone profiled the engine looking for O(2^n) things that are slowing it down, for example?).
I don't know why you play spring, but I play it because I enjoy pretending to be an evil overlord and crushing my enemies before me (not to mention the strategic thinking). Obviously, the evil overlord in me wants as much power as possible, and larger areas of map to dominate are key to fufilling this desire.
So the feature I am requesting is this: either optimizing for speed by removing gross inefficiencies from the engine, or beginning to think about creative ways to massage the codebase we have into supporting much larger games.
Supreme Commander is supposed to be able to do real planetary scale combat. I'm not sure I believe that, but it would be nice to be able to do something larger than 50 city blocks on a side. Perhaps 50 miles on a side? Obviously, this would need to be a fairly major overhaul of the engine, unless there are some major ineffeciencies in there (has anyone profiled the engine looking for O(2^n) things that are slowing it down, for example?).
I don't know why you play spring, but I play it because I enjoy pretending to be an evil overlord and crushing my enemies before me (not to mention the strategic thinking). Obviously, the evil overlord in me wants as much power as possible, and larger areas of map to dominate are key to fufilling this desire.
So the feature I am requesting is this: either optimizing for speed by removing gross inefficiencies from the engine, or beginning to think about creative ways to massage the codebase we have into supporting much larger games.
The Problem is not on the Technical Side - it is the Human Mind... you can only concentrate and focus on one Point of the Map, no matter how good the automatization works (Spring and TA are still leading in this Point (because of the Queuorders) - Playing on Big Maps not just ruins some Tactics (pewee rush) but really sorts out Players - not by strategic Ability, but by simply Awareness Speed.
There are already some really Huge Maps (Surpreme Battlefield, Epic)
What could be usefull would be some Long Range UnitMass- Transports, that speeds things up (Surpreme Comander uses this thing) - but that must be asked Mod Specific, to avoid unbalancing things)
Chessfields could be way bigger, and have more Pawns. But would it still be chess - and could you still controll it, without handling a part of your Pawns to an AI ?
There are already some really Huge Maps (Surpreme Battlefield, Epic)
What could be usefull would be some Long Range UnitMass- Transports, that speeds things up (Surpreme Comander uses this thing) - but that must be asked Mod Specific, to avoid unbalancing things)
Chessfields could be way bigger, and have more Pawns. But would it still be chess - and could you still controll it, without handling a part of your Pawns to an AI ?
Although I like the aesthetic of a large maps, the most popular maps are mostly not large. This suggestes that the best gameplay and fun are found on those maps.
Bigger maps mean that you must cover more distance leaving less time for micro, it is likely that on a bigger map you would have more units to control. Which leads me to think that most of us would need a little help to manager everything, be that more helper AIs or more players per team.
Bigger maps mean that you must cover more distance leaving less time for micro, it is likely that on a bigger map you would have more units to control. Which leads me to think that most of us would need a little help to manager everything, be that more helper AIs or more players per team.
Some of the issues about bigger maps not being as fun are due to the mod/map. Quite often all territory is giving a reasonably equal value, which means theirs no points to really focus on, compared to real war where places are given high strategic value such as cities and recourse rich areas, but large swathes are open land leaving you free to manuever and get really strategic.
First off, scale is relative. There are some absolute scalar representations where Spring starts to have trouble detecting hits, but now that we have better tools for managing that behavior... it's really quite small. Any mod using S3O (or the new formats JC's working on now) will be able to be quite epic in scale. As for old 3DO mods... well... I'm sorry, but if you're wanting AA in larger and larger scales, you'll have to wait for Caydr to finish working on the new models.
Secondly, larger and larger numbers of units =! better gameplay. I say this with authority, since I wrote NanoBlobs, which features the highest unit-count of any mod out there right now (with the possible exception of KDR's latest). What makes gameplay actually interesting, in my opinion, is that there is a reason and a value to micromanagement and macromanagement.
Too much macro = Sim City. Eventually, no matter how good the AIs are, you're going to end up with something that you cannot actually control, and then you're pretty much reduced to giving vague orders to hordes you cannot even see at game-scale. It's detrimental to gameplay, imo.
Also, you have the real-life factors. If you make the scale grand enough, then games will take hours and hours to play out, because both sides will be so far apart. Or you'll end up with severely retarded slippery-slope gameplay, where the first big clash (of your uber-robotic puppet armies) is pretty much the game.
In short... I really have severe reservations about this whole "big is better" stuff. I personally think that Supreme Commander will, by the time it's released, only have the really huge maps for the single-player campaign... and I strongly suspect that multiplayer will immediately gravitate towards maps that are smaller, tighter, and generally more friendly to gamers who want a casual bash, not an epic, 24-hour struggle. And if SupCom doesn't have initial gameplay that suits this, then mods will very rapidly appear to fix this problem.
I don't know about you... but I simply don't ever have time for that kind've game. I want it to be over in an hour or less.
Lastly... tournament play for RTS games is just not done on huge maps. Why? Because it doesn't reward the uber-skilled, leet player who can use macros, incredible timing, and the mental gymnastics of the terminally-cafeinated to defeat lesser players in 15-minute match play.
In short... quit implying that somehow if Spring were just more efficient, that bigger would be possible, and thus better. It's not that Spring doesn't have large areas of the code that aren't optimised yet- this is certainly true. But all of my experience actually playing Spring mods and building them says that you're premise is incorrect. True evil overlords can handle crush play on Ashap Plateau
Secondly, larger and larger numbers of units =! better gameplay. I say this with authority, since I wrote NanoBlobs, which features the highest unit-count of any mod out there right now (with the possible exception of KDR's latest). What makes gameplay actually interesting, in my opinion, is that there is a reason and a value to micromanagement and macromanagement.
Too much macro = Sim City. Eventually, no matter how good the AIs are, you're going to end up with something that you cannot actually control, and then you're pretty much reduced to giving vague orders to hordes you cannot even see at game-scale. It's detrimental to gameplay, imo.
Also, you have the real-life factors. If you make the scale grand enough, then games will take hours and hours to play out, because both sides will be so far apart. Or you'll end up with severely retarded slippery-slope gameplay, where the first big clash (of your uber-robotic puppet armies) is pretty much the game.
In short... I really have severe reservations about this whole "big is better" stuff. I personally think that Supreme Commander will, by the time it's released, only have the really huge maps for the single-player campaign... and I strongly suspect that multiplayer will immediately gravitate towards maps that are smaller, tighter, and generally more friendly to gamers who want a casual bash, not an epic, 24-hour struggle. And if SupCom doesn't have initial gameplay that suits this, then mods will very rapidly appear to fix this problem.
I don't know about you... but I simply don't ever have time for that kind've game. I want it to be over in an hour or less.
Lastly... tournament play for RTS games is just not done on huge maps. Why? Because it doesn't reward the uber-skilled, leet player who can use macros, incredible timing, and the mental gymnastics of the terminally-cafeinated to defeat lesser players in 15-minute match play.
In short... quit implying that somehow if Spring were just more efficient, that bigger would be possible, and thus better. It's not that Spring doesn't have large areas of the code that aren't optimised yet- this is certainly true. But all of my experience actually playing Spring mods and building them says that you're premise is incorrect. True evil overlords can handle crush play on Ashap Plateau

- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
Argh, pretty much hit it on the head.
I highly doubt supcom's map system will work like you think it will. Also, for the record, while I love KAI to fight against and share a comm with, I would hate to have to use an AI for games. I simply can't handle that much area, and I'm quite sure my sentiment can be echoed. I imagine in supcom, x number of players will probably be sharing a commander... At least I wouldn't be suprised. Either that or one bad ass AI.
Bigger != better in all situations.
I highly doubt supcom's map system will work like you think it will. Also, for the record, while I love KAI to fight against and share a comm with, I would hate to have to use an AI for games. I simply can't handle that much area, and I'm quite sure my sentiment can be echoed. I imagine in supcom, x number of players will probably be sharing a commander... At least I wouldn't be suprised. Either that or one bad ass AI.
Bigger != better in all situations.
-
- Imperial Winter Developer
- Posts: 3742
- Joined: 24 Aug 2004, 08:59
Its possible to have to-scale maps (not in Spring, just in an RTS in general), however in terms of gameplay you'd have to address a few factors. I'm going to use the example of HW2: Warlords, a star wars mod I was involved in for a little bit as a webadmin before it blew up and became huge.
Exponential growth. This lends most RTSs their fun as well as their pain; skilled players can maintain essentially exponential growth due to the nature of resource collecting and multiplying via builders, mines, and resource generators.
You can cap this artificially (see: any game with retarded unit caps - Homeworld 2 etc) but it leads to frustration on the part of the player and may be a turn off at the higher levels and lowerl evels of play.
A better option perhaps is to design the gameplay such that it is exceptionally difficult or impossible to maintain growth after some point. Once again, Homeworld 2 did this as well, and it got frustrating because one would quickly hit the ceiling and run out of shit to harvest.
This is one reason that Homeworld 2: Warlords (it was a to-scale Star Wars space RTS that was made by 1 dude and is better quality than every other star wars space RTS ever made) really sucked. See, it covered everything from tiny starfighters to gigantic capital ships many miles long. The only possible way to play was with Resource Injection (basically free resources every X amount of minutes) and a gigantic starting resource storage.
Of course, this meant that terrtiory, real,actual territory, was pretty worthless, (asteroids gave insignificant amounts) and it all came down to whoever could powerbuild XYZ medium frigate faster than the next guy, or SSD, or what have you.
ANother huge issue is control interface. You have to be able to access all points of the map instantly; the TA minimap does this well. HW2 does not have a minimap, but rather a spacebar mode where you see the whole 3D battle area and then you have to move and space back out, etc.
Following with this, you have to be able to issue orders within, at most, two clicks, to any unit doing any thing - one to get into the area where the unit is you want to command, two, to issue the click/command itself.
TA is awesome at this (OTA was anyway) because you could clicko on any unit on the minimap and then order it to do whatever. The battle screen was for precision micro and reclaiming, etc. There's not a lot of other RTSs that pull this off.
Okay, so all of these things work well at a moderate-to-semi long game. But what happens with exceptionally long and or skilled games (for whatever reason) is that the growth is unmanageable. It turns into a contest to see who can maintain the most number of (efficient) clicks a minute. In other words, even a solid 2-click-per-command interface (ala TA) breaks down, because if you want to chnage something - say, suddenly you decide to shift all prodcution over to anti air units - yuou need to do two clicks PER FACTORY; if you want to redirect an attack force, you have to select the whole damn force (or hope that you made a control group).
Meta-commands are a huge step forward in the right direction; AI at several levels is another step. Controll groups may be an example of meta-commands, as well a lot of keyboard shortcuts; intelligent automation of some aspects of base control is not seen so much because its very tricky to find a balance between deliberate user action and helpful automatic guidance.
IceXuick's GUI was a step forward in the right direction as well; the various random bits of info are actually hugely useful as the game scales.
Another huge step forward may be an on-demand inverse mapping of commands to units; IE you can select all the units that currently are attacking the commander and do something else with them.
So there's my brain dump. Blast away!
Exponential growth. This lends most RTSs their fun as well as their pain; skilled players can maintain essentially exponential growth due to the nature of resource collecting and multiplying via builders, mines, and resource generators.
You can cap this artificially (see: any game with retarded unit caps - Homeworld 2 etc) but it leads to frustration on the part of the player and may be a turn off at the higher levels and lowerl evels of play.
A better option perhaps is to design the gameplay such that it is exceptionally difficult or impossible to maintain growth after some point. Once again, Homeworld 2 did this as well, and it got frustrating because one would quickly hit the ceiling and run out of shit to harvest.
This is one reason that Homeworld 2: Warlords (it was a to-scale Star Wars space RTS that was made by 1 dude and is better quality than every other star wars space RTS ever made) really sucked. See, it covered everything from tiny starfighters to gigantic capital ships many miles long. The only possible way to play was with Resource Injection (basically free resources every X amount of minutes) and a gigantic starting resource storage.
Of course, this meant that terrtiory, real,actual territory, was pretty worthless, (asteroids gave insignificant amounts) and it all came down to whoever could powerbuild XYZ medium frigate faster than the next guy, or SSD, or what have you.
ANother huge issue is control interface. You have to be able to access all points of the map instantly; the TA minimap does this well. HW2 does not have a minimap, but rather a spacebar mode where you see the whole 3D battle area and then you have to move and space back out, etc.
Following with this, you have to be able to issue orders within, at most, two clicks, to any unit doing any thing - one to get into the area where the unit is you want to command, two, to issue the click/command itself.
TA is awesome at this (OTA was anyway) because you could clicko on any unit on the minimap and then order it to do whatever. The battle screen was for precision micro and reclaiming, etc. There's not a lot of other RTSs that pull this off.
Okay, so all of these things work well at a moderate-to-semi long game. But what happens with exceptionally long and or skilled games (for whatever reason) is that the growth is unmanageable. It turns into a contest to see who can maintain the most number of (efficient) clicks a minute. In other words, even a solid 2-click-per-command interface (ala TA) breaks down, because if you want to chnage something - say, suddenly you decide to shift all prodcution over to anti air units - yuou need to do two clicks PER FACTORY; if you want to redirect an attack force, you have to select the whole damn force (or hope that you made a control group).
Meta-commands are a huge step forward in the right direction; AI at several levels is another step. Controll groups may be an example of meta-commands, as well a lot of keyboard shortcuts; intelligent automation of some aspects of base control is not seen so much because its very tricky to find a balance between deliberate user action and helpful automatic guidance.
IceXuick's GUI was a step forward in the right direction as well; the various random bits of info are actually hugely useful as the game scales.
Another huge step forward may be an on-demand inverse mapping of commands to units; IE you can select all the units that currently are attacking the commander and do something else with them.
So there's my brain dump. Blast away!
In OTA PD against a good player was just plain hard. Spring's GUI helps a little by being able to zoom out, and give orders to units under construction, but not being able to give orders via the minimap is a real pain. People say it will be in the new GUI but...Dragon45 wrote:smart stuffs
SOMEONE PLEASE MAKE A PATCH NOW.

The GUI dragon keeps eating coders.

- Guessmyname
- Posts: 3301
- Joined: 28 Apr 2005, 21:07
I think that this epic effect - can be reached rather Easily by adding som Graphic Effects (Running Away deer, blown over Trees, molten Wreckage -> the New Laser System) - the Game becomes rather Unepic the bigger the Landscape is - zoomed out, it is all just coloured pixels in the End, even the biggest Monkeylord.
Eye Candy is better then just slowing the Game down by Size...
So it is about optimizing the "PWND" Effect of the Current Scale - thats all that is needed.
Eye Candy is better then just slowing the Game down by Size...
So it is about optimizing the "PWND" Effect of the Current Scale - thats all that is needed.
That's really well-put. Altored Fracture!Das Bruce wrote:Some of the issues about bigger maps not being as fun are due to the mod/map. Quite often all territory is giving a reasonably equal value, which means theirs no points to really focus on, compared to real war where places are given high strategic value such as cities and recourse rich areas, but large swathes are open land leaving you free to manuever and get really strategic.