Greetings again. This post is to ask nicely to our Stardock Devs about Gal Civ III. I have been in Alpha and have logged over 1100 hours in GCIII. I rememeber reading that Frogboy said that Gal Civ III will utilize a thread for each ai in the game and that a system with 20 threads will process the ai 'faster' than a system with 4 threads. Which leads me to this recent article from Tweaktown about intels Skylake X line hopefully released near the end of this year.
I take issue with this paragraph.....
"We should expect Intel to launch its seemingly watered down competitor to AMD's revolutionary Ryzen processor - even compared to Intel's latest and greatest which is nearly a year away, with no mention of anything AI-related or next-generation over the current Z270 chipset, which is a much cheaper mainstream part. No games will use the will power of a 10-core processor, and there's only 24 PCIe 3.0 lanes, marking a shift away from multi-GPU setups (at least for now)."
My understanding is that both Ashes of the Singularity and Gal Civ III would make use of such a processor and benefit from it over say an I6700K.
Would it be possible to hear from you tech folks at Stardock and clear it up?
I don't work at Stardock, but I'm a senior Software Engineer with experience in multi processing.
Stardock don't need to write any special code to take advantage of that not so revolutionary processor
(Seriously, read up on NVidia Tesla co processor if you want to see revolutionary,
but Tesla is for scientific applications and AI with a price tag above 5K$ for entry level)
Back to what Stardock need to do / are already doing.
They probably split the AI load across available threads
probably keep the main thread for core processing (GUI/etc)
maybe reserve another thread or 2 for special background tasks
so on a 6700K that still leave 5 threads to split among AI agents.
Now keep in mind the amount of work of those AI agents (civilizations)
will be asymmetrical and depend on the size of their empire and fleet.
Probably more efficient to use a R-Tree to identify hot zones
(this is basically like reducing time needed for AI compute by a factor equivalent
to taking the square root of the load, far more efficient than spreading across threads,
which will only divide by 20 for that not so revolutionary processor)
To give you an idea
let say ai processing is 100,000 operations
assuming you could spread evenly across 20 threads
that's 5,000 operation per thread
in comparison an efficient hot zone detection algorithm
will reduce that to 3,000 without distributing across threads
which you can still do
on your dream processor it would reduce further to 150 per thread
if split evenly. but it never split evenly.
and whatever ai is the largest will block your traffic !
you'll be lucky to gain 75% speed from threading on AI stuff.
(rather than 95% gain as that 20-thread pictures try to make you believe)
(that's 750 instructions instead of the unrealistic 150 instructions above)
As you can see algorithms matter a lot more than anything else
I even remember an incompetent team at school
that managed to get their program running SLOWER on 10 processor
than on a single processor because they had a poor algorithm
where the processor were wasting all the time talking to each other !
the r-tree algorithm in comparison focus on splitting the battleground
(or any problem) into a tree like structure that's well balanced
then it try to estimate where to focus the effort for the results you want
(think a bit like occlusion culling when rendering a scene,
but here you want the ai to identify worthy and unworthy target
and avoid mistakes commonly seen in games
like mount and blade where the ai declare war on someone at the other end of the map)
Anyhow, I don't know how stardock wrote their AI
but that's the sort of things to think about for optimization
and "sanity/believability" of AI actions
you can also use a tree structure to control the fleets empire wide
splitting them between assault forces, patrols, etc
to avoid them moving in a disorganized manner that just waste cpu
In any case, the point is it doesn't matter if you got amd or intel under the hood.
you talk to windows for threading. we're not in the age
where Cormack (ID Software) had to write DOOM in machine language to get the 3D working in real time. LOL !
anyhow, I hope it reassure you
and give you all the TRUTH you wanted
This was exactly what I was looking for. Thank you!
There are many great features available to you once you register, including:
Sign in or Create Account