Brad Wardell's views about technology, politics, religion, world affairs, and all sorts of politically incorrect topics.
Wah, the difference between ideas and reality
Published on May 18, 2006 By Draginol In GalCiv Journals

I blew most of my writing wad writing this article on Windows Vista today.

Yesterday I did a lengthy audio interview with Apolyton.net. We touched on what features we had to cut out of the game that we wanted to have in there.

Two of the features I wanted in were asteroid fields and dedicated legions of troops.  The dedicated legions of troops involved having to raise armies. In this way, your planets would be populated by different aliens and that their approval and productivity would be based on different races and how you were getting along with any major civilization led by that race.  There was a bit involved in it but I would have enjoyed seeing scenarios where players might be governing a planet full of Drengin or wanting to populate a planet with Yor because they were more productive or moving Torians around because they had a higher population growth.

But like many features, it boils down to balancing and making sure the computer players can make use of those features. It's something that comes up time and time again -- features are easy, putting together AI that effectively uses it is hard.

As I joked on the podcast (Which we'll announce when it's public), every critic who posts always starts out with "I've been a programmer for 20 years.." and then launches in to how easy such and such would be to code.  Look at how obnoxious it's proven to get the AI to build improvements on its planet effectively. You'd think that would be trivial to get right. I know I thought it would be. And when I play the game, the AI always uses its planets seemingly with perfection. Yet I'll see a screenshot of someone who has gotten a planet where the AI built nothing but entertainment centers or embassies. How the heck did that happen?  Like I said, features are easy, making a smart AI to use those features is not.

That's one of the reasons the asteroid fields weren't put in too.  How do you balance them? How do you get the AI to mine them effectively versus building starbases versus making freighters versus making defenders versus building fighters versus building ships to escort.  And people think tactical battles would be great.  Sure, it would take a few hours to program in tactical battles but a good month or two to get a solid computer AI to use them well (that is, once we added in features to make tactical battles worthwhile in the form of other types of modules such as ranged weapons, battle engines, tractor beams, etc.).

Many of those things are the kind of thing that would possibly be held over for some future sequel. We'll have a better idea based on the sales of the expansion pack. The general line of thinking is that expansion packs do around 20% of the sales of the original game. And that expansion packs are typically half the price of the original game.  So you're talking (at best) 1/10th the revenue of the original game which means 1/10th the budget of the original game.  In our case we are currently planning on making it a digital release (download only) since digital sales of the game have been so strong. But there is also some talk about maybe having it available at a single retailer.  What we don't want to do is have a scenario where a retailer is bumping GalCiv II off the shelves to put up the expansion.  We'll see.

 


Comments (Page 1)
2 Pages1 2 
on May 18, 2006
Yet I'll see a screenshot of someone who has gotten a planet where the AI built nothing but entertainment centers or embassies. How the heck did that happen?


Nice to see you saw my screenshots. BTW the AI in my latest games seems to be less weird for embassy and morale. Did you tweak some planet management AI in 1.11.029? Or is it that I am now playing at Maso?

I like it when our feedback gets results. I hope you appreciate the feedback, most of us are only trying to help, even if/when some of us do so in a spoiled brat kinda way
on May 18, 2006
Brad, will you be making the game available in CD form as well--even if it's only available for order through Stardock? For as convenient as it is being able to download the game, I still also like having a physical disk that I can put in a jewel case. (I'm strange that way.)
on May 18, 2006
Having it available on CD would be really nice for those of us with dial up connections.
on May 18, 2006
We would have a CD version as well.  What we are probably going to do on an expansion is bypass retail or at least wide-release retail since the margins are so small.
on May 18, 2006
Well, all I know is that barring any extreme change happening (for the worse) I am going to get the expansion when it comes out. I look forward to finishing up more of the campaign and then getting to play around with anything new you guys toss in there. Like most people have said, and I know I have said it before, thank you much for a great game. It has been awhile since a game has come out that I can really get into like this one. I think that MoO2 was the last one. Keep up the good work!
on May 18, 2006
every critic who posts always starts out with "I've been a programmer for 20 years.." and then launches in to how easy such and such would be to code.


i usually stick to the "i'm not a programmer and have no idea how difficult this would be" method of describing what i'd like.

and yea, i still get the occasional planet that's got WAY too many emabasises and entertainment centers... actually just happened to me. i invaded scotlingas, which had 4 embasies and 4 morale centers, but no farms. subjectively speaking (i.e., if i was going to describe the AI's behavior in human rather than computational terms), it's like when the AI is worried about its influence and morale, building those structures is the only thing it tries to do to fix the problem. as an actual human, when i'm worried about my influence, i have a few priorites. i attempt to trade influence points from other players. i attempt to research the requisite techs for cultural exchange centers and better morale structures. i build more farms to boost my IP (last i knew IP was directly dependant on population, followed by bonuses provieded by plantary structures and starbases). which brings me to my next point, i also build star bases around the planets i'm concerned about. it seems like even generally peaceful AI players don't put enough focus on the 'yellow' techs. i never trade my diplomacy techs (including gov't and ethics). it also seems like a timing issue. when one empire rises to power earlier in a game, it seems like the rest of the AI have neither enough diplomatic power to ally (not even the alliiances tech), nor the military power to fight back. the AI almost always seems to focus on its own military power.

when i look at the various player graphs, i also notice the AI seems less flexible. here's what i mean and my reasoning. if i really need some tech, i'll turn my research as high as i can afford, and focus all my planets on research. it might take a few weeks, and for that time my development in other ways suffers. but then i'll have some wonderfully expensive tech that allows me to focus my development in some other area i need. or maybe i'll rush-buy something i really can't afford and be working myself out of the hole for a dozen turns or more. so as a result, the graphs for my research and economy can jump around. but i rarely see the AI's graphs doing this (sometimes it seems like they're upgrading ships, and in those instances i see drops in their economy... can't tell for sure).

yes, i am kind of rambling. this isn't a bug report. rather, i'm kind of reflecting on what you're doing (and more importantly, what you've done).

in this game and scenario, the sconlingas might have fared better if (they weren't a minor race) had the ability to 'take a step back to evaluate their overall situation' a little better. they specifically seemed to be (for a minor race at least) overracting to the influence boarders, and the fact that they were in altarian culture.

sidenote: could you get the AI to stop building permanent structures on bonus tiles?

but anyway, i need to get to my point. i do get a sense the AI does all ready 'evaulate its overall situation' pretty well, for being not human. i really have no sense of what you've done on a technical level to make the AI what it is (except for the fact that you're not using scripts: i do understand the significance of that). from what i do understand about programming, the most comprable achievement to compare unscripted AI is Deep Blue. So rest assured, I think what you've done so far is amazing. i can't stress that enough, so instead i usually just get it over with and get down to business when i intend to share my thoughts with the development team.

though it's not directly my life's passion, my education is primarily in sociology and social psychology. i can only wish i had the technical know-how to try and translate some of that into formal logic. but then again, i a D in intro logic (though i got an A+ in "wisdom").

so enough about me. a pretty basic part of human psychology and intellect is our reflexivity, or our ability to look at ourselves through different lens, removed from a situation, in another's shoes, etc. in its most basic sense, it's the ability to account for your own thinking and capacity to think when you think about something else (an by extension, you ability to think about another's actions, thoughts, and even their own reflexivity, ability to account for your thought, abiltity to account for your accounting of their accounting of their own and your thought.... yeah, it gets scarry).

a strikingly similar concept in mathmatics is recursion (hey, i wanted to be an engineer when i started college). i'm hoping i don't really need to explain recursive math, because i don't think i can very well. an iterative equation in which the dependant variable for one iteration serves as the independant variable in the next iteration. is that remotely accurate? it's the kind of math that fractal geometry is based on.

anyway, the AI's recursive-ness (?) will hopefully never beat human reflexivity. so getting down to it, there are some human behaviors i don't get the sense the AI quite has (or uses). i think it's a matter of seating individual decisions in larger pictures.

when the AI decides how to place a structure on a planet, how much does it:
look at the planet's bonus tiles to determine if it naturally lends itself to focusing on anything?
look at what's all ready built, and balance that against how much the planet's developed and what it still needs?
consider alternate methods, if available, to meet its needs?
consider adjusting a larger aspect of its strategy to help this planet?
etc etc.
in terms of other problems as well...
does the AI analyze the tech tree for a tech or series that might help the problem, and consider adjusting its research accordingly?
does the AI consider diplomatic options, and how their possibilites might be improved (gifts or diplomacy research)?
before making a decision, to what extent does the AI weigh possible reparcussions?
is it willing and capable of identifying extenuating circumstances, and making extreme or unusual decisions?

how balanced the multitude of both discreet or concrete decisions and abstract, general or long-term choices - that balance is an issue of personality. in short, and this is my main point in responding to you, you've all ready improved the AI vastly by doing this. i have no idea how much further you'd be capable of taking it. what i'd have no way of knowing is how much use insight into psychology would be in addition to insight to actual human tactics. but not knowing, that's why i shared. i'd always be happy to - dystopiafollows@yahoo.com - not that i'm do arrogant as to think "you need me" to create good AI. you definately don't.

okay, going back into tangent mode. does the AI think in the big picture? it certainly does, and here's a very clear case: surrender. surrendering could be adjusted to be more realistic. for example, in my mind a surrender is only what you do giving up to an enemy. in this game i was talking about with the scotlingas, the altarians were close to crushed by the drengin. i had come to their aid too little too late, and they surrendered to me (terran... fitting i think). i had also declared myself good. then the yor, who were right next to me where the dringin were across the map, declared war on me saying "we can tell we're next". and they were, little F*****ers.

i thought this was.. free-ken COOL!!!! what an awesome game! what an awesome turn of events. the yor were in the corner. i was on one side, and the iconians, my ally, were on the other side. a turn or two later i get a message from the arceans saying something like "the iconians are waging a senseless war on the yor, we are going to thelp the yor in the name of galactic balance." or something like that. well, that kinda sucked, especially since we were all evenly matched and markedly below the drengin, who weren't interested in peace with me. i hit 'speak to' with the arceans and paid them off. but the alliance popup kicked in anyway, "will you honor your alliance?", even though they weren't at war anymore... le'sigh. i hit no. that's about where the UI screwed up completely (screens were overlaying on each other but not really coming up... you couldn't really tell what you were doing... it's happened once before... next time i'll try to get a screen and a debug.... that's what i get for trying to do stuff between turns).

good stuff. the one single thing i didn't like in terms of an enjoyable experience, thinking (yes, this is how it should be going), was the korx surrender. the torians had mostly beat them into the ground when they gave up to the thalans, who "made the best offer." excuse you, why didn't you call me? I'd'e paid bank. for that matter, why didn't you 'surrender' to the drengin, your other neighbor about as close as the thalans, and with whom you morally see eye to eye.

but they again, it's not surrender unless it's to your enemy. to anyone else, it's taking assylum. ending in a roundabout way for this tangent, it'd be kind of cool if a crippled empire had to actually seek assylum (and the host empire thus run the risk of incurring the invader's wrath).

you could even throw in a new movie for it. weren't you looking for ideas for expansions?

Many of those things are the kind of thing that would possibly be held over for some future sequel.


i'm glad you're all ready thinking about that too
on May 19, 2006
i should have proof read a bit better, and now i can't edt. can you tell i want to be a writer?

what i was trying to get at is that the more closely you pay attention to the way humans play, and account for or even copy that in the AI, the better the AI gets. the bigger gap comes from human ability to anticipate future events and see potentials. but humans do it in an abstract and fluid way. at least in a very superficial way, that sums up my experience of the AI. i was speculating on how trying to mirror that might yield AI improvements.

now why did i need so much space to say that the first time? i work on posts between turns, and i lost track of what i'd said all ready. and your post got my brain going.
on May 19, 2006
what i was trying to get at is that the more closely you pay attention to the way humans play

Well, I guess some would advicate that it would be better if the AI could be "trained" from games played only by humans. In short, what are the best strategies or the more efficient uses of starbase/planetary bonuses ... to counter a human player
on May 19, 2006
every critic who posts always starts out with "I've been a programmer for 20 years.." and then launches in to how easy such and such would be to code. Look at how obnoxious it's proven to get the AI to build improvements on its planet effectively. You'd think that would be trivial to get right. I know I thought it would be. And when I play the game, the AI always uses its planets seemingly with perfection. Yet I'll see a screenshot of someone who has gotten a planet where the AI built nothing but entertainment centers or embassies. How the heck did that happen? Like I said, features are easy, making a smart AI to use those features is not.


I've only been a programmer for 10 years, but I would say coding a feature, or in this case an AI behaviour is simple...if you look at it in a vacuum. It's when you incorporate it into the whole is when it becomes complex. You then have to find out how it interacts with all the other features/behaviours you have already incorporated. Does it complement them, does it make them redundant or obsolete, or does it do something strange and unexpected. The really difficult part is finding the answers to these questions because rarely is it obvious. You have to find ways to test for things you haven't thought of, that is very difficult.

Of course my favourite (ie most frustrating) part of programming is when you think you have troubleshot all the errors and got everything working the way it's supposed to then put it in front of the tester and watch them do something that makes you say "Why the #$#%@ would you click there/press that/do it that way?" as an error message pops up on the screen.

Programming would be so easy if everyone just did things my way
on May 19, 2006
Well, I guess some would advicate that it would be better if the AI could be "trained" from games played only by humans. In short, what are the best strategies or the more efficient uses of starbase/planetary bonuses ... to counter a human player


do you, or does anyone else, remember the flavor text for the "Polymorphic Software" tech in Alpha Centauri?
on May 19, 2006

Of course my favourite (ie most frustrating) part of programming is when you think you have troubleshot all the errors and got everything working the way it's supposed to then put it in front of the tester and watch them do something that makes you say "Why the #$#%@ would you click there/press that/do it that way?" as an error message pops up on the screen.

Programming would be so easy if everyone just did things my way

Amen to that.  I don't like to code for things like people obsessive compusively pounding on random keys on a given menu (it did odd things on the title menu) and I usually don't come up with enough weird things to test while coding. Then we inevitably get reports from testers who have done something whacky like that.

on May 19, 2006
IE the ctrl + N issue, or the CTD when retiring on first turn LOL Not something ever envisioned in testing.
Not being rude to the person who found it (thanks ) but who in their right mind retires on the first turn??
on May 19, 2006
i'm hoping i don't really need to explain recursive math, because i don't think i can very well.


Recursion is a basic tool in any programmer's mental toolkit. Indeed, I don't think you can call yourself a programmer (certainly, you're not getting hired to do anything more than Visual Basic) if you don't understand recursion.

I would say coding a feature, or in this case an AI behaviour is simple...if you look at it in a vacuum.


There's even more to it than that. Coding the feature alone may not even be simple, depending on the code cleanliness of the area in which that feature will reside.

Obviously, programmers all want to write clean code, but when deadlines loom, ugly hacks are the order of the day.

And then there's the times when the original software design itself is getting in the way. Decisions you made on day 1 with the best of intensions can make certain, unexpected later actions either impossible, require significant rewrites, or possible only through massive hacks. When deadlines loom, significant rewrites aren't a possibility, and impossible won't be accepted, so here comes the brutal hack.

So, yes, a feature can, in theory,sound like it could just slip right in there. But then again, everything works in theory. It's practice that tends to show when something does or does not work.
on May 19, 2006
Recursion is a basic tool in any programmer's mental toolkit. Indeed, I don't think you can call yourself a programmer (certainly, you're not getting hired to do anything more than Visual Basic) if you don't understand recursion.


and that's why i never called myself a programmer i figured recursion was probably a central part of contemporary programming, but w/o any experience i didn't want to assume. it fascinates me because that very basic tool of programming is also a very basic tool of thinking. maybe it's just the side of me coming out that wanted to major in cognitive science (a major aspect of which is computer modelling of human thought and perception behaviors).
on May 19, 2006
I know that it's slightly selfish of me to ask this, but I would LOVE for the expansion to be available through the retail medium (is that correct usage of the term 'medium'?) So long as it were not, say, to a US-only chain, like Target.

EB Games would be ideal.

The reasoning for this is that I'm the sort of person who relishes the retail box and paper manual, much like I enjoy the texture of a salad as opposed to the right combination of vitamins and suppliments.

Also, I'm not entirely comfortable with the idea of purchasing data with no real hard backup with it. Call me a dinosaur.
2 Pages1 2