Draginol Draginol

Vacation bound

Vacation bound

Gone for nearly three weeks!

Tomorrow I'm off to Texas for 9 days. Then I come back and I'm off to Redmond Washington for meetings with some software company there for a week.

I heard someone on JoeUser say that only people from Texas would go to Texas on vacation. Well, okay, yes, I'm from Texas. And I'm going to Dallas to visit friends and then to the gulf of mexico.  But it's warm, it's sunny, and I'll get to spend some much needed time with the wife and kids.

It's been a real adventure since this past November.  We got WindowBlinds 5 out in November and then at the very end of February we released Galactic Civilizations II.  I won't deny that it's been a lot of work.  Between Thanksgiving and mid March I had worked every day (including Christmas) to make sure things got taken care of.  So it'll be nice to get away from the computer and such for a couple weeks.

We just released Galactic Civilizations II v1.1 yesterday and things seem to be going pretty well.  It's just as well that I'm going because I've already thought of some new things for the AI that I think could make a difference in how it plays.  And the engine team got my new option in -- "Allow AI to use extra CPU time" that people who are willing to wait (or have really powerful CPUs) can set the AI to use algorithms that are more time intensive. 

I don't think most people sit and and realize the restrictions on writing computer AI code is.  You can't do things like do a for loop of all the tiles that are uncovered by the FOW that a ship might travel on in its turn or the following several turns along with nearby tiles to see what might happen. Each ship has to decide its move in less than a milisecond. Each planet has about a milisecond to decide what it's going to build.  And this is on typical hardware mind you, not state of the art machines. The trick to writing good computer AI isn't just sittin gthere putting together clever algorithms, it's also being able to create algorithms that do their thing without using much time.

For example, one of the most intensive things that the AI does is design ships. Part of that reason has to do with the actual graphical assemblage which I don't fully understand what's involved on that part.  But I only allow the AI to design ships once per year right now. If I tweaked it to even 3 times a year I think you'd notice a significant difference, especially early on when human players have better ships because in 2226 the human player has gotten plasma weapons and the AI is still running around with laser 1 or something when it has actually researched Plasma weapons as well.  But I digress.

I've really had a lot of fun these past few months. There's not a real good business justification to be working on AI tweaks on weekends and such, but that's not what it's about.  It's about making cool stuff. If I weren't doing this on GalCiv II, I'd be modding some other game and at least in GalCiv's case, I have the source code. ;)

One of the real bright points of my day was the arrival of some really thoughtful goodies from Texas Wahine, a blogger on JoeUser.com. She and my wife are on-line friends and she's a really nice person. She lives in Hawaii and sent some really neat Hawaiian stuff. Thank you very much TW if you see this.

But that's the whole thing about on-line communities, I love them. You meet such great and interesting people. A lot of companies don't actually have their own forums and such. I think they miss out.  Even though I get flamed dozens of times per day (one irate user emailed me about the "Unpleasant like northern Michigan" joke that I put in the user manual, she didn't find it funny at all), it's still worth it to talk to people and hear their ideas.

So anyway, hopefully no one will burn down the place while I'm gone <g>. I will be pretty much off the grid. Hope you have a great couple weeks. When I get back, we've got new DesktopX builds, Galactic Civilizations 1.2, Multiplicity 1.1, a new IconDeveloper, SoundPackager, and a bunch of other stuff on the schedule to get out in a short amount of time.  And I have to start arranging interviews for game developers to work on Society.

Cya! !FROGCARE!  (Draginol/Frogboy)

66,645 views 53 replies
Reply #26 Top
But I only allow the AI to design ships once per year right now.

Oh my god. This explains a lot.


My reaction exactly.

Civilizations can be wiped out in well under a year. And what happens to the Civ when faced with 2 opposers using different weapon technology, especially if they declare war at different times (but still within the year)?

A '3 per year' option would be excellent. However, (in addition to the '1 per year') I would suggest a different solution:

Allow the AI the option to redesign ships whenever they declare war, or have war declared against them.

This would keep the early game relatively fast, but still allow the AI to deal with specific threats later in the game.
Reply #27 Top
Come on guys!! The man is TRYING to take a vacation!
Reply #28 Top
Have a great one Mr and Mrs Frogboy

And no we dont like ya MUCH !!!

Take it easy and soak up a few rays etc!!

DG
Reply #29 Top
Great to see so many Gal Civ 2 fans in support of more upgradining for AI ship designs.

List of the minimum amount of upgrading needed for each seperate AI:

AI reaches:

Impulse Drive
Warp Drive
Warp Drive Mk V
Each Hyper Warp tech
Every range module upgrade on large maps or bigger
About every 3 weapons or defence that AI gets
And every AI at least every quarter

If the AI's upgraded when achiving these techs then I believe they would probably keep on par with us players. Still would like adjustable CPU slider though!!


Lenius.
Reply #30 Top
Or better yet, upgrading every time they get a new ship component.
Reply #31 Top
Or better yet, upgrading every time they get a new ship component.


Do you change ship designs everytime you get a 'new' component? (Well, I suppose I can only speak for myself)

Sure, It WOULD be great, but not at the expense of game play (if it is as CPU intensive as Frogboy says)

I would just rather that it change designs at times that make sense, or else when certain technological thresholds are met.
Reply #32 Top
Or better yet, upgrading every time they get a new ship component.


Yeah i'd like this as well, my list was the minimum i believe to make the AI competent. Once per year which it is now means the AI doesn't stand a chance v decent human opp. My minimum list would hopefully make the AI competent and not be too CPU intensive.

Personally i tend to research things like weapons in blocks at 100% research so i dont upgrade designs straight away 'cos i know i will have even more weapons techs next turn. The AI splits its production between social,military and research so the need for it to upgrade when it gets something new is more important because the time it takes to get something better will take longer.

Hope Brad reads all this when he gets back

Lenius.
Reply #33 Top
Do you change ship designs everytime you get a 'new' component? (Well, I suppose I can only speak for myself)

Sure, It WOULD be great, but not at the expense of game play (if it is as CPU intensive as Frogboy says)

I would just rather that it change designs at times that make sense, or else when certain technological thresholds are met.

Well, I don't believe that the AI will be able to tell if it makes sense to upgrade his ships when he for example research Lasers III without actually trying to do so. I don't always know myself before I test to see if I can make a improved design.
Note that I only want this for the "Allow AI to use extra CPU time"-option. And yes, if I build the actual ship anywhere, then I will always make a new, improved design when it is possible.
Reply #34 Top
An "Allow AI to use extra CPU time"-option? Ahh, a good reason to upgrade to a dual core machine.
Reply #35 Top
The AI is always building ships because it splits production 3 ways constantly so in effect when it gets something new tech wise it should upgrade its designs every time.

Lenius.
Reply #36 Top
avagoodwunbrad
Reply #37 Top
Come on guys!! The man is TRYING to take a vacation!

Reply #38 Top
Wait, wait, wait, wait..... There's a UPer comment in the user manual?

edit: you mean now I'm going to have to read the manual?
Reply #39 Top
Wait, wait, wait, wait..... There's a UPer comment in the user manual?


What's funny to me, is that all of the yoopers that I have met (and I know a lot of them) readily admit the poor weather. Of course there are things you can do in the UP that you can't really do anywhere else.
Reply #40 Top
Please, add an "Intesive AI" option that would allow the AIs to do things like upgrade ship designs whenever a relevant tech is researched. I respect the desire to make the game accessible to people with older machines. At the same time, I don't think I'm entirely alone in my willingness to spend more time waiting in exchange for a, well, less crippled AI.


What would be cool is to instead have the Game detect the CPU/System specs and scale up its options so that the faster the PC, the more potential the AI has. Several games on the market already do this, and I think, from a gamer’s perspective, this would give them an even greater incentive to upgrade their PCs.
Reply #41 Top
What would be cool is to instead have the Game detect the CPU/System specs and scale up its options so that the faster the PC,


Um...I don't mind longer turn times...really I don't.

.....an even greater incentive to upgrade their PCs


No.
Noooooooo
Nonononononononono

TBS players DON'T upgrade their machines
Reply #42 Top
Have a great vacation Frogboy, you definitely deserve one. That extra CPU time option sounds great, I'd definitely be interested in using that. I don't care if a turn takes a few seconds more. I remember playing Master of Magic on my old x386-DX40 with 16megs of RAM, and it taking literally MINUTES to do turns with large worlds. If the game's good enough, I'll wait on it

Besides, in a turnbased game, you can read a book while you're playing, so that's cool.

TBS players DON'T upgrade their machines

*Jedi Mindtrick* You will upgrade. These are the Dual Cored Athlon64 processors you're looking for. You will go about your business and buy one.

Reply #43 Top
Ho.. Ho.. Ho... Ho...

Your Jedi Mind Tricks don't work on me..
Reply #44 Top

What would be cool is to instead have the Game detect the CPU/System specs and scale up its options so that the faster the PC, the more potential the AI has. Several games on the market already do this, and I think, from a gamer’s perspective, this would give them an even greater incentive to upgrade their PCs.


Nah, not cool. That idea is about 45 degree. So, not really cool.



I personally still would want the option to choose for myself. I wouldn't mind to wait longer to use the best AI, even when my pc wouldn't be seen by the designers as to be fast enough. I'm very tolerant to lag and waiting times in turn based strategy games.

Speaking about Texas. I'm currently reading the original Conan stories from Robert E. Howard. A compilation in three books (about 2500 pages) of all his stories in the order how they were written, with illustrations and comments.

I always thought nothing good comes out of texas, but it looks like I know now of at least two good things which come from there.
Reply #45 Top
You would need to be really careful with this AI slider. It's no problem to turn down the video if your computer can't match it, but when you turn down the AI you're crippling the game. So people like me who bought the game with a 2001-era graphics card would not buy it with a 2001-era processor. I'd wait until I could play the full game. But for everyone who bought it, it would be much excellenter, so hopefully it would work out.

I appreciate your being true to your vision of an adaptive AI, sure it seems like just a little scripting (research till you can build ship X) would fix this, but then it would be so tempting to just keep hard coding things in.
Reply #46 Top
"It's just as well that I'm going because I've already thought of some new things for the AI that I think could make a difference in how it plays."

Bring your laptop. You can code while the wife drives ... I'm sure she won't mind.

"And the engine team got my new option in -- "Allow AI to use extra CPU time" that people who are willing to wait (or have really powerful CPUs) can set the AI to use algorithms that are more time intensive."

Great! I will now give serious thought to becoming a fan boy. Personally, I'd be happy to wait 5 or 10 mins per turn or even much longer. If I was playing it PBeM, I'd have to wait a lot longer than that.

I wonder if there is some significant diminising returns in processing time after a certain point, or if it approaches a limit?, e.g. 5 minutes processing time allows the AI to make 50% better decisions (however you'd measure it), but waiting forever would only give 125%. Somewhere on that curve is probably a good trade off point. It would be nice to have an option to pick positions along that curve.

Any way, my short response is I'd be prepared to wait a LONG LONG time for a turn if I thought the AI was spending it hatching evil plans.
Reply #47 Top
Enjoy the vacation! To Texas from Upper Michigan - talk about wanting to bake the winter out of your bones...
Reply #48 Top
Glad to here you're going to introduce an option for the CPU to chew more time. I hate it when options are taken out of my hand, and when the developer assumes I have no patience. There's a TBS I like called Massive Assault where one of the AI developers was telling me one of the biggest limiting factors was trying to get the AI to think smart in five seconds... well, I was like "Well WTF does it need to be five seconds??"

Rather than a checkbox, I'd prefer a "think time" setting, where you can define, in seconds or minutes, how long you're prepared to wait for the AI. Why doesn't the AI redesign its ships during your turn? A good time for the AI to reconsider its designs would be when it attacks one of your fleets with one of its fleets and loses, a sure sign that it needs to rethink its design.
Reply #49 Top
"Each ship has to decide its move in less than a milisecond. Each planet has about a milisecond to decide what it's going to build."

Gee, so much autonomy. Is that how they program a chess game? "Bishop looks for good moves... nope. King's Knight looks for good moves... JUMP!"

It seems like redesigning ships for each new tech would be the perfect way for a computer to gain an advantage on the players. I know I redesign with each new tech unless I'm not building anything and researching the next one. On the other hand it's a little comforting for all the computer's fighters to be identical so I know what they do.
Reply #50 Top

You can't compare a chess AI algorithm to GalCiv.  There are very very limited moves on a very very small board.

If a game of GalCiv II were played in a single sector with 2 planets maybe that would work.