Distributed computing and multithreaded ai

Might it be possible to implement the use of a 2nd or 3rd computer to help run the AI in the background, especially during the player's turn?

Not the whole game mind you, just an opportunity for more computing horsepower for the AI to take advantage of.

As a follow up question . . . What does the game do as far forecasting future moves? I'm thinking along the lines of chess programs that try to plan out every combination of moves for dozens of turns. Does Galciv work similar to this?

If in the middle of my turn I went to sleep, and woke up 8 hours later, would the game have spent those 8 hours cranking out possible moves and strategies?
404 views 11 replies
Reply #1 Top
Heh, its possible.... and an interesting idea. I don't know how GalCiv is setup... but i think it has a limited number of things it does. So there is probably a max time limit it spends.

That would be a very interesting twist to a strategy game. It wouldn't be very hard to program, to have it offload some processing to other machines. Course you could always go with a dual/quad processor box too.

Reply #3 Top
hehe, welll... you could get 2 p4 3ghz with hyperthreading ;) Although that doesn't really equal 4 processors :)

Using other local machines would work too.

Reply #4 Top
Why?

The higher level AI's can hand you your head on a plate every time! It doesn't need mroe time thinking!

Paul.
Reply #5 Top
The very highest levels of AI cheat though. I believe it was stated that 'Intelligent' is the smartest AI that doesn't receive any sort of bonus.

I'm sure with enough practice I should be able to win on this level fairly regularly. So if the extra processing power will help the AI play 'better' without cheating, I'm all for it.
Reply #6 Top
Yea, not saying GalCiv needs to be more difficult, would just be an interesting exercise in game AI :)
Reply #7 Top
In a way, what you are preposing is what multithreading is about. Instead of adding another computer, though, suppose you were able to add a processor chip to the computer you had. It would be much cheaper.

I have seen posts by Brad that comments on how well the AI's take advantage of hyperthreading, which I gather is a form of multiple processors. I am looking forward to getting one of those some day.

~SDC~
Reply #8 Top
'The very highest levels of AI cheat though. I believe it was stated that 'Intelligent' is the smartest AI that doesn't receive any sort of bonus.'

Only on the highest level does the AI get any bonuses (other than foreknowledge of the locations of yellow stars, which you can pick up rather quickly through research).

'I have seen posts by Brad that comments on how well the AI's take advantage of hyperthreading, which I gather is a form of multiple processors.'

Hyperthreading happens within a single processor.

All of the Pentium class CPUs are superscalar processors, which means that they could technically process more than one instruction at a time, but they (and their AMD and Cyrix equivalents) don't do it very well for various reasons.

Hyperthreading processors are superscalar CPUs that take full advantage of their superscalar capabilities (the P4 was the first desktop-class HT processor, from what I recall).
Reply #9 Top
Travathian,
if you honestly believe you will be able to regularly beat the AI on Genius level (second highest level and non cheating) then I'm really impressed. I don't think this is very likely though, especially as stardock will continue to provide new AI's throughout the next year adding player strategies. I usually only play intelligent on larger galaxies as I would like some chance to win!

Paul.
Reply #10 Top
"I usually only play intelligent on larger galaxies as I would like some chance to win!"


LOL soooo very true... travathian you'll just have to wait and see for yourself. I have been playing GC for a while now and have not yet won on Bright AI. I'm working on it, but just for kicks I am going to start a game with all AI on highest AI setting and see how long I will last. I'll let you know.


~SDC~
Reply #11 Top
For those of you misunderstanding how multithreading and hyperthreading work, here is a link to an awesome document detailing the differences and similarities.

http://arstechnica.com/paedia/h/hyperthreading/hyperthreading-1.html


Oh, and I didnt want to turn this into a debate about difficulty! lol, I want answers to my questions!