Jump to content

Recommended Posts

With all due respect, I have enjoyed Hubert's SC series from SC1 up to the present. But I can not hide my disappointment that long turn times are not really going to be addressed such as taking advantage of multiple cores/multi-threading. As mentioned earlier by Kuniworth I believe, more realistic combat should have been implemented also. Just my two cents opinion.

Link to comment
Share on other sites

Come on aesopo, more realistic combat model? Like what for instance? For this scale, I think SC has just about got that part right. Remember, more complications equate to more incompetence in the AI model. Then we're going to have to listen to disappointments about that.:rolleyes:

If anything, for this release, I would like to see a bit more depth in the diplomatic model. I've been thinking about a few things that would involve the players more in the process of diplomacy. If any feature in SC goes unused in my games its the diplomacy mechanism. Maybe once or twice a game I make investments to sway countries' leanings.

So SC players, what uncomplicated additions would assist in a greater player involvement in diplomacy, based on the model we have now? My thinking is something passive, on the lines of the active convoy deliveries of MPPs. Let's face it, trade is what makes the world go around, and all we have in SC to simulate that dynamic is MPPs, so it has to be something that equates to an enhancement or reduction in trade favors in the form of MPPs when countries commit certain acts. They must be variable in nature and parallel the delivery nations' governmental philosophies and/or their ability to provide attractive goods/services, and perhaps can be activated or curtailed by decision events.

So :confused:??? Comments?

Link to comment
Share on other sites

For speed we have recently introduced a 'Quick AI' option that reduces the AI turn by 33%. With this setting on my machine, and remember that the main map is the biggest in the series so far, AI turns last on average about 4 minutes. For reference, I'm running a newer Quad Core Windows 7 64 bit machine.

Granted the AI will not be quite as optimized as it would be without the 'Quick AI' option but I doubt many will notice the difference as it mostly has to do with the accuracy of distance checks (for movement calculations and so on), which when set to be less accurate, has dramatically improved AI speed as mentioned.

Regarding multi-core and multi-threading it is something I've looked into and thought about over the years but there are some hurdles and it is not necessarily an easy and cost effective investment.

Multi-Core development is still not yet supported for all programming languages, Eiffel which I use to develop Strategic Command will likely have this in a few years, and even for those that do, there is some debate on just how well they will handle it as the future looks to even more parallel computing, i.e. more cores. For example, the world was moving more towards Object Oriented programming as seen in C++, Java, and Eiffel, whereas the more traditional functional programming is arguably more appropriate in dealing with multi-cores due to the challenges that multi-cores present to the Object Oriented code.

Here is a quick link on some of this discussion and there are plenty more to be found via searches on the net:

http://softtalkblog.com/2010/08/04/are-existing-programming-languages-really-too-broken-for-parallel-programming/

For multi-threading, much like multi-cores, as mentioned before it is honestly very hard for me to say just how much of an improvement we would see (if I were to go that route) as much of the AI process for this style of turn based game is linear and not really parallel in nature.

For example, if I could have the AI think about two things at once then there is arguably an advantage but it since it is IGOUGO it is very hard to find any real advantages. I could have it think about some items during your turn, but these basic items like various supply calculations all take very little time to process either way.

What takes the longest for the AI to handle is pretty much the combat and reorganization phase, but since each combat calculation is dependent on the previous results I'm not sure how much time will actually be saved for the extra effort.

As far as I've concluded, if we were discussing a real time game then taking advantage of multiple threads and multiple cores would show a much more significant improvement.

So in the meantime, my focus has been simply to improve the existing algorithms and speed up the overall logic as it exists as much as I can because these are instantly noticeable in terms of any speed improvements game play wise.

I hope this helps,

Hubert

Link to comment
Share on other sites

For combat, having not released the game just yet I would also argue it is a bit pre-mature to judge as we have added quite a few tweaks and improvements to the game system, especially for WWI, but I am still interested to hear what you might have to suggest if you are willing to be a bit more specific.

Link to comment
Share on other sites

What takes the longest for the AI to handle is pretty much the combat and reorganization phase, but since each combat calculation is dependent on the previous results I'm not sure how much time will actually be saved for the extra effort.

I thought it is the fact of "displaying" the AI combat phase that takes so much time, no?

For my case, i often simply watch TV, Surf or read while the engine is making it's turn. The only problem then is that some AI unit's that had attacked before a unit of mine and destroyed it are not visible any more.

For my personal case a option of "hide AI move", if this would make it considerably faster, would be a super salomonic solution IF, and only if there could then in the same time, visible the "last positions" of only the units that normally are hided by fog of War and where actively fighting in the AI turn.

The "last Positions" could be something like the Airfleet or ship with an "?" like the subs.

Just thinking loud., and i dont know if other players "watch" constanly the AI turn, but possibly some players do like i do, and maybe this could be an easy speeding solution, if ever the AI-move-display-time takes too much time.

Link to comment
Share on other sites

I could live with a solution like in the multiplayer game, where i get asked if i want to see what happened in my opponents turn.

Suggestion: play a song from the HD while the AI makes its hidden turn.

WHile the music plays, i know i don't have to watch the screen.

When its my turn again, give me the option to watch a review of the last AI turn.

If the music player would use music which i have stored in a folder on my hard disk, than i could even hear authentic music or whatever music i like to listen to.

Link to comment
Share on other sites

In terms of speed the AI animation does slow things down a bit but I will also be introducing a few new items based on some of these suggestions, which is the option to hide the AI move as well as to suppress all popups/messages in game as that slows down the AI turn as well.

I'll look into adding a sound to let you know when the AI turn is completed for those that like to Alt-Tab away from the game.

The nice thing is that I continue to find ways to speed up the AI turn with now quite a few options available to the player for fine tuning as they prefer.

Link to comment
Share on other sites

Im with Power here. I do something else when it runs. Personally I don't care if it takes 10m, a WIF turn takes 30m or more sometimes vs real people.

Replay option will solve watching the screen.

When your turn starts click the replay button and...

#1 click through each AI action or

#2 it flows like a movie (player can set speed) and pause/rewind/forward/restart/end the action anytime

You can't put a time limit on a solid programmable AI. I worked hard at my AI and I think its fairly decent.

Some suggestions for players:

#1 before turn ends window the screen reduce the resolutions and do something else. I play World of Warcraft or work on my mod between turns.

#2 Get a 2nd monitor. Play on one SC2, do something else on the other.

#3 Play with your kid for 10m while the AI is running, I do that too :)

Link to comment
Share on other sites

No disrespect, when I am engrossed in a game I don't usually take time out- waiting for the AI turn is a real serious issue that detracts from the game play whcih has led me to abandon playing SC as it is right now. I know other people can take a break and put a hotdog on the grill but really? At least I am gladdened that Hubert is seriously looking at this issue and for the issue and we need to give constant feedback to make this game better. With newer speedier CPUs and 64 bit software, quad and hexa cores, and multi-threading, hopefully in the future these new technologies can be put into use for this software or else it would be severely limited in it's appeal.

Link to comment
Share on other sites

×
×
  • Create New...