Brad Wardell's views about technology, politics, religion, world affairs, and all sorts of politically incorrect topics.

imageWhy are computer players so often so dumb? The answer is that we expect computer players to make complex, intelligent decisions super-fast.

When we make computer games, we know that players have a very low tolerance for waiting for computer opponents to “think”. Historically, that has meant that computer players either cheat like crazy or are play terribly (or both).

In one of the minor video game history footnotes, Stardock’s Galactic Civilizations was the first commercial computer game to have a multi-threaded computer AI. This meant that while the player was taking their turn, the computer players could generate their strategy in the background.

The last version of Galactic Civilizations came out 6 years ago and a lot has changed. These days, most people have computers with multiple cores. Dual-core. Quad Core. 6-core, etc. Each core is, effectively, its own CPU. When it came time to design the computer AI for Stardock’s upcoming Elemental: Fallen Enchantress, I had the opportunity to think about how to make of all these cores.

The result is that not only do computer players "think” while the player is taking their turn. It can “think” all the time because each computer players gets its own core (ideally) or at least is shuffled off onto another core. So your animation and mouse input and sound can play on various CPU cores and the computer players are explicitly sent off to other cores so that their thinking doesn’t slow down the game.

This extra CPU horse power matters because Fallen Enchantress is a fantasy strategy game. Fantasy strategy games are notorious for having terrible computer players because the number of choices a computer player faces every move is massive. Fantasy games usually involve having to cast spells, deal with units that have special powers, deal with Heroes/Champions who are leveling up or upgrading.

If you’re playing Diablo 3, or have played some other RPG, you can probably appreciate the challenge in deciding the “right” powers, abilities, and spells to use. Now, imagine having to make those decisions in less than 30ms. Now imagine having to do all that except instead of controlling one unit you’re controlling 1,200 of them.

It seems a bit ironic that it’s not first person shooters or other seemingly cutting edge games that benefit the most from these hardware advances but rather good old fashioned strategy games. Smile


Comments (Page 2)
2 Pages1 2 
on Jun 03, 2012

Heavenfall

Quoting Timmaigh, reply 11
Quoting zigzag, reply 2
Quoting Timmaigh, reply 1So The Fallen Enchantress is going to be multithreaded, am i reading this right? And you cant do the same with Rebellion why exactly? 

Because Fallen Enchantress was designed, from the beginning, to support multithreading. It also has different requirements (e.g. no multiplayer). Implementing a multithreaded program isn't simply a matter of taking a single-thread, sequential program and "multithreading" it.

So does Fallen Enchantress have completely new engine from ground up? Is it not reused engine from some older game (Elemental?), just with reworked AI part to be multithreaded? 

I am not a programmer, therefore i ask.  

The FE code is vastly different from the Elemental code. The Elemental code was the basis for the FE code, but so much more has been changed than just reworked AI.

Why the Iron engine could not been changed in similar manner for Rebellion then? We have been hearing things like making Sins multithreaded, 64bit,etc... would be too much work, not cost-effective, etc... and now, out of blue, this is not the case with Fallen Enchantress... Why? Are they expecting to sell more copies of FE than Rebellion? Or, as Zigzag suggested, is it the thing, that reworking the Kumquat to be multithreaded is far easier thing to do than in case of Iron engine?

on Jun 07, 2012

 Its 2 different development teams. 2 different engines. And if thats not enough, i'm sure that the main reason why FE gets these things is cuz Brad wants em and he has alot of power in the company. If thats not enough, Brad is so bad at leadership he ends up doing all the work himself! 

 

I hope that soon that people will stop using XP and 32-bit and single-core cpus and we can start taking advantage of technology thats 10 years old when making games.

 

2 Pages1 2