Long turn times from AI battles in-between turns that take up to 2 minutes to complete a turn is caused by the animation that plays when a ship battle occurs, specifically the kinetic animations, they are playing incredibly slow and each animation has to finish before the turn can complete whether you can see them or not.
I feel simply removing quick battle animations or speeding them up would solve this problem completely.
I've mentioned this before, however, it seems to be ignored or overlooked I'm not exactly sure why. That is exactly why I'm seeing my turns taking several minutes though between that and moving of all ships on the map even if quicker off screen. To me I feel why does it have to show all things off screen doing whatever/move/battle. Just do everything offscreen in data.
I am supposing that they have to handle all ship moves in a realtime fashion, so that they can give you the benefit of watching enemy ships during the turn processing. Albiet this is extremely useful in certain situations (early and early-mid game, where you are focused on 1-2 battles or enemy ship moves), it does certainly contribute to mid and mid-late game slow down, and it much less useful later in the game. I'd like to see an option to disable this realtime ship movement turn processing, which would lock your ability to interact during turn processing, for the sake of increasing the speed.
SD needs to implement efficiency improvements like this. I think they had no idea until late in the beta, that huge games would cause such a slow down late in the game, driving mad the customers that even have the most powerful PCs available. Its also an unfortunate failure in expectations, as the game is perfectly playable for several hours/days, and gets progressively worse the longer you play.
2 minutes x 30 turns = rage quit.
I hadn't thought of battles between turns. I do mine during the turn. Yes, that would be maddening.
I'm not a fan of the little time wasting mini battles that happen when you choose "Quick Battle". It's not quick when you still have to wait through the useless animation. I read somewhere that they cut that time down and even thanked them for it, but I'm not seeing any improvement.
Why, oh why would someone come up with a delay timer like that? On purpose even?
No idea huh? Makes you wonder just who the hell is coding this product at SD?
It isn't quite 2 minutes for me yet but it is well over 5 seconds from the beginning and each turn that is processed it gets a bit longer and longer and longer, until around turn 200 its like gee KD go grab a snickers, and eventually its go change the laundry and eventually the choice becomes go outside and go for a walk or go play something else and I end up putting GCIII aside. I know there is a decent game buried under all the rough edges but it just need a good 6mo-1yr of FIXIN.
Thanks for the feedback.
I'm not describing the battles that YOU initiate during your turn, I'm talking about battles and moves the AI initiates in between turns. AI initiated battles in between turns are always quick battles from what I have seen lately, and certainly are quick battles when it is AI vs AI. However, if you a) cant see it because you have no visibility cant see it because you currently are zoomed at a particular spot in space that is not showing the battles.....why the heck are the battles and moves conducted in such a slow way?? Seems to be a bit of lazy coding to me, which is slowing the turns down tremendously, when there are thousands of ships on the map.
When I end my turns, I move my view to a blank area outside of the galaxy. There are blank spots on each corner of the map that are outside of the active play area. Sure, it's a pain, but my turns only take a few seconds, even late game.
It's worth it as a work around. I agree that it shouldn't be necessary, but what else can you do?
I'll try that. Normally, I just make sure I'm still zoomed in on a planet with no starship action, and it still takes long. I zoomed out, where I could see starship action, and there was no difference.
I forgot to mention - I stay zoomed out to the icon level, but not all the way out. That way, I can still see what's going on and also be able to go to an empty map area when I need to. I've read somewhere that zooming in can slow things down a lot.
I'll test out zooming in to see if it makes any difference, but in my current game, I'm at the end of mopping up. Most of the ships out there are mine and I don't spam military ships. I never seem to have more than single digits in shipyards and generally only have the one until mid game. I think I have maybe 4 or 5 this game, with one of them shut down, and maybe a couple dozen ships total. I'll test it out anyway.
I don't understand why they don't make the AI fight out these battles while you are doing your turn, and then when you hit turn again it becomes simultaneous all over again. Each turn you take should last more than 10-15 seconds meanwhile each time you hit turn you should not have to wait more than 10-15 seconds to start doing stuff again. The whole game theory cycle where you sit and do nothing is broken. That is the part of the game that needs to be fixed too. If that means a major code re-write well do it now so you dont have to do it later.
This is poorly coded as is the stupid interruptions while I'm trying to do stuff managing my empire, stupid messages from the AI like others know what you don't its a big galaxy, nobody can hear you cry in space, etc, STFU and let me click shit. Or AI wanting trade deals, you know what, make them wait until I'm done with my turn, then make me click the the turn button and have the AI present to me at the very end of my turn. There is so much more smart coding of the timing of events on a turn that would make a turn flow better even if you don't have a CRAY to run the game on. Another thing I dislike which has to be a bug is when you are tyring to get into the races screen, sometimes you have to click off it to handle one of these "AI clue messages to the universe" and then back into what you want./
I recently discovered that modding the XML files FXMainMapBattle and FXMainMapBattleStation can remove quick battle animations completely. Just comment out (or remove) everything after line 8 (which reads <Type>Composite</Type>) and before the last closing </FXElement> tag in each file, and that should be that. This would seem to make the game "forget" which graphical effects to play during quick battles, and thus skip them completely.
And did you test it to see if it reduced turn times?
Or see if it creates more problems such as memory leaks or other bugs.
I did. I saw no difference zoomed all the way in on a blank spot on the map and zoomed out to icon level at the edge of the map. I loaded a game and ended the turn on the same turn in both instances and the time was right at 8 seconds.
I underestimated my ship count. It was 87 at the time of the test. A lot of these are constructors and transports, but there are some survey ships and carriers wandering around too.
Thanks! I'll try that.
Can someone link a save game with a 2 minute turn time. I would love to check it out. I'll test MottiKhan's suggestion of going to a blank spot, and gmaxson's suggestions about removing the particles.
Here is a link to one This game was started in the latest opt-in patch with 89 major factions all minors and pirates. Turn time is averaging... 3 1/2 minutes. to 3 min 40 seconds.
http://www.filedropper.com/110-1
Also Windows keeps giving message of program is non-responsive throughout each turn especially if attempting to click and move on the screen otherwise the cursor just keeps circling randomly during the turn.
I applaud the efforts Derek, but I'm starting to get concerned with SD's testing strategy, if you need a community save file to see this problem.
Using a save that a player is seeing the issue in is typically preferred as it avoids us spending time looking at a different issue that Seilore might not be reporting. Or (and this is more likely) keeping me from being unable to repro it in my time spent testing. If I load Seilore's save and don't have the issue then I know something is different between us (difference in CPU's available for threading, swapping to the hard drive, his prefs or resolution, etc). But if I create my own game to test with and don't see it then it tells me less (maybe its that Seilore plays with abundant pirates and I didn't try that, what map size is he using, etc).
So getting a save exhibiting the issue gives me better data in tracking it down.
Checking it out now.
Thanks for the save, it's very helpful!
First off, games with this many players are going to take a lot of time, there is no getting around that. Games on huge maps are going to take more time as the AI tries to figure out safe paths for each fleet over longer and longer distances.
Looking at your save we see the following:
ResetOldPaths 32s (seconds): this is each fleet recalculating the path to its destination
CheckForEndOfGame 16s: checking to see if anyone has won a research victory
CalcInfluence: 55s: lots of tiles on the map, lots of players influence to calculate
FindPath 81s + 37s: calculating the path to numeorus potential destinations around the very large map
UpdateObjectList 44s: go through and validate all the game objects
UpdateCivList 18s: go through and validate all the civs
I did test both for zooming off the map to see if it reduced turn time (it didn't with this save) and disabling combat particles (which didn't with this save). As well as noting that the time spent in the above functions wouldn't imply that either of those would be causes (in this case).
This definitely gives us some data to look at optimizing. We will never get this large of a game ot be as quick as a more normal sized game. But I bet we can make a serious dent in these times.
Thanks again for the help, we have some wok to do!
Great job and I think you identified a major time sink in the turns. Certainly slower cpus will show a greater time for processing. Looking at what you reported it looks like a category for review definitely is AI pathfinding and how much time the AI spends on its pathfinding, and the fact that it does this every turn.
I am somewhat surprised at the 16s to check for end of game.
Yeah, we were digging into that today. Its looking through every planet each time to see what improvements have been built. Still a horribly long time, but it is a huge map with lots of players. We are going to cache the data it is looking for, so when you build the improvement it is set instead of cycleing through all the colonies for every player each time and that 16s will be in the sub second range.
There are many great features available to you once you register, including:
Sign in or Create Account