Brad Wardell's Blog


On the road again...

Published on Wednesday, May 10, 2006 By Brad Wardell In GalCiv Journals

Last week I was in south Texas on vacation.  A lot of Spanish speaking people down there.  For years, I've told my wife that for the 3 years I took spanish the only thing I remember is "Donde esta la pluma" (where is the pen).

We were at an ice cream place and the lady behind the counter, having taken someone's credit card said "donde esta la pluma". My moment had come.  My entire life was merely preparation for this one moment.  This was the time for me to shine -- where everything was coming together.

I quickly said to my wife and everyone else in line "She wants to know where the pen is! I KNOW that phrase!"  I finally felt like a big man.

Writing computer AI, on the other hand, is not a fast track to feeling like a big man. I read the AI suggestions people make. And most of them (okay some of them) are well meaning.  But most of the suggestions fall into the "Well duhhh.." category.

The main reason why computer AIs in games tend to suck is that the people programming them aren't good at strategy games and so they can only incorporate their own ideas into it.  Since I'm a strategy game maniac, the limitation has more to do with programming.  I know how to beat the AI at the highest levels in certain circumstances. And it's very hard to get the AI to deal effectively with it when it's playing at the resource level as the human player.

Some people actually believe that the AI should be able to beat an expert player when the AI only has the same resources as the human player.  That's not going to happen any time soon. Not until processors are a LOT faster.  Right now, while the human player is taking their turn, the AI is putting together its strategies. It's adaptive in a given game. But there's only so much that can realistically be done.

One of the most common suggestions is to improve the sensor capability of AI ships.  The problem is, I barely make of sensors on a per tile basis.  Instead, I'll have it scan through ONCE per turn and set various flags on a sector by sector basis.  The reason for that is time.  A given sector has 15x15 tiles.  That's 225 tiles per sector.  That's 73,000 tiles in a huge galaxy.  If a given player has say 300 ships doing their thing and you have 10 players that could be an immense amount of "looking".  That's one reason it's so hard for the AI to get that "first strike" thing.  But there are countless other things like that.

That is why in 1.11 we added a new option (which needs to be renamed) "Intense AI" (that's what I think it should be called later). If that's selected, i'll have the AI make use of new algorithms that do a lot of checking.  I can have the AI do a lot more analysis.  I can have the AI create armadas (groups  of fleets) and other such things that are just too CPU intensive (O^2) for now. Hopefully people have found 1.11 to be somewhat smarter on AI that previously. I will continue to enhance the main AI as well.

The reason why players and reviews praise the GalCiv II AI is that relative to other games, it is quite strong. Compared to some fictious perfect computer player an expert may find it lacking.  But reviewers and players can only compare it to other games to be fair.  And there's a lot there that it can do.

For example, the AI, without having to mod anything, will automatically adapt to user-mad mods. That's one advantage of not scripting it.  You could redo the tech tree, you could replace the units, change galaxy sizes, play on custom maps with custom ships, etc. and the AI will adapt to a varying degree of gaming.  When someone says "The AI is easy when I play on tough on a gigantic galaxy with tight clusters" my inclination is to make tight clusters no so tight rather than putting in weeks of work to try to get the AI to deal with such a specific circumstance.  Realistically, tight clusters on a gigantic map is effectively like saying you want the game to be easier. Which is fine. But if you want more challenge, turn up the difficulty.  Tight clusters allow players to turtle in and build up.    I do have some ideas though for making things more challenging at that specific level.

Still, there's only so much challenge you can have if players are going to hit Ctrl-N until they get some idealized galaxy set up and then complain that the AI wasn't challenging enough when given the same resources when the poor AI got stuck with 1 planet in the corner while the player got set up in a "cluster" with 5 class 15 planets with super-super planet bonuses (yes, we can tell how many times Ctrl-N was pressed in a given saved game).

But I won't get to do AI stuff this week.  I'm currently visiting Microsoft on business in preparation for Windows Vista so my AI coding will have to wait until I get back.

AI programming is my main area.  I wasn't particularly involved on the Diplomacy AI stuff.  I've started getting more involved and will conitnue to start to look more at it.  In the expansion pack, I want to throw in a lot more types of things to diplomacy.  I also plan to change it so that gifts and such give you a set relations bonus that can be limited to stop people from gifting their way to victory (gifts should help but they should be part of an overall package).

So my AI moment will come just like my Spanish moment will come.

When the ice cream lady heard me yipping away she said "Gringo es estupido". I don't know what that means but I assume it means Guy is smart or something like that since I'm sure she was impressed that I knew and announced to everyone that she was looking for a pen.

Windows Vista: Beta 2 nearly here..

Published on Tuesday, May 9, 2006 By Brad Wardell In WinCustomize News

Very soon Microsoft is scheduled to release Beta 2 of Windows Vista.  Don't let its appearance fool you, it is a radical change under the covers from previous versions.

This week on WinCustomize.com I will be posting a series of impressions and news about the new beta along with a lot of commentary.  You can get info on Vista all over the place, what I hope to do is try to provide insight on problems and benefits Windows Vista is running into at this stage.

Windows Vista won't be generally available until early next year.

Galactic Civilizations II v1.11 released

Published on Monday, May 8, 2006 By Brad Wardell In GalCiv II News

As previously mentioned, while most people were happy with 1.1, the performance improvements and other features we added ate up memory that not all users had available which in turn cased out of memory and other problems for those users.

Rather than simply remove the caching and other performance boosts, we re-engineered saved games and did intensive profiling to opimize things. So v1.11 should be faster AND use less memory than 1.1.

We also made some AI tweaks and other gameplay tweaks.

You can view the full change log here.

The next stop is v1.2 which is mostly about making modding easier for both modders and users. If you check the library, there's already a lot of really cool stuff available. The modding support in 1.2 will make it much easier to organize mods/total conversions.

You can get 1.11 either through Stardock Central or as a stand-alone download.  Have fun!

GalCiv II: v1.11 Change log

Published on Monday, May 8, 2006 By Brad Wardell In GalCiv Journals

Here is what is new in Galactic Civilizations v1.11 over 1.1:

+ New AI option - allow AI to use more CPU. Not used yet but will be in future builds.

+ Civ homeworlds are set when loading a saved game.

+ AI (some of them) less reactionary to influence concerns (i.e. won't likely build as many embassies)

+ AI pickier about trading weapons techs

+ AI sensitive to player going for tech victory

+ AI designs ships more often (this will be further refined in the future)

+ Some text string changes

+ Double clicking on a a ship in the stacked ships list will now open the planet screen

+ Can no longer steal techs that belong to a different ethical alignment

+ Re-designed the save and load game systems to be much faster and use a lot less memory (only works on NEW games)

+ Strategic view updates better on loading a saved game

+ Players can now sort by social production on Civ manager

+ Confirmation dialog added on retire option

+ Fixed bug where movement points in a fleet get miscalculated after the battle

+ Tweaks to CalcMilitaryMight to be a better judge of what a strong military really is

+ Civ Abilities recalculated quicker so that various trades and such have a more immediate effect.

+ Research screen remembers what sort list you chose

+ Victory Status tells player how many civs they've conquered

+ Lots of small tweaks and performance enhancements.

+ Neutrality Learning Centers will automatically take over (upgrade from) Research Academies

+ Some research oriented techs are more expensive

 

The main goal of this build is to resolve the memory issues that some people had with 1.1.  The main cause of the memory issue was due to our heavy use of caching which could result in a LOT of memory being used. For people who had enough memory, life was good. But for people who ran out, it was bad. This build should have the performance advantages of 1.1 but use far less memory.

While you can use previously saved games, we recommend starting with new games so that you get the most out of it.  I also made some tweaks to the computer AI.

Top Skins: April 2006

Published on Sunday, May 7, 2006 By Brad Wardell In WinCustomize News
Aero-XP
by gef

DesktopX Themes
36,367
View
Metal Vista1.0 for WB5
by lypnjtu

WindowBlinds
28,703
View
Next OS Black
by treetog

IconPackager
20,071
View
Xbox 360
by Stardock Media

WindowBlinds
20,017
View
Ecliz 1.1
by JJ Ying

WindowBlinds
19,519
View
GT3 OS
by Tiggz

WindowBlinds
18,049
View
XP Format
by rjsmith2007

WindowBlinds
17,997
View
Aero-XP [VERSION 2]
by gef

DesktopX Themes
17,879
View
neon
by bmwchubb

WindowBlinds
17,130
View
10 
Next OS
by treetog

IconPackager
17,064
View

Back from vacation

Published on Sunday, May 7, 2006 By Brad Wardell In GalCiv Journals

When I was a kid I never needed to wear sunscreen.  Now we've got all this SPF stuff and I definitely needed it. 

The first evening I became intimately familiar with Aloe vera. I could be wrong but I think I'm now technically married to aloe vera. But now I'm back and I can mostly move my limbs again without being in too much pain.

This summer is going to be pretty busy.  There's a lot of work going on in our non-games area in preparation for Windows Vista.  On Tuesday I head out on behalf of WinCustomize.com to talk to Microsoft about the status on Vista. So I'm only going to be around one day this week and other posts will be from the road.

I was shocked and very pleased to see that Galactic Civilizations II made it into the top 10 best-selling PC games at retail in April.  I don't think most people realize the significance of that.  GalCiv II is in about a dozen different retail chains in North America.  But a typical AAA game is in many thousands of stores.

To use a movie analogy, no matter how good or well received a movie is, it won't tend to make it into the top 10 unless it's in at least a couple thousand theatres nation wide.  GalCiv II making it into the top 10 is like a movie that's only in select theaters in major cities making it into the top 10.  It's happened before (Blair Witch Project for instance) but it's exceedingly rare.

So we thank you guys for all your support.  The game's retail success is significant in a number of ways:

  1. The game has no copy protection. So if piracy is such a major killer of sales universally, then how did a turn based strategy game with no multiplayer from a small indie game developer crack the top 10 when it has no CD copy protection?  I still contend that piracy does hurt sales of games but one can't count every pirated copy as a "lost sale" nor can one make blankest statements on piracy affecting all genres. If we were a first person shooter, then we probably would have had to be more stringent (though still no CD copy protection).
  2. It shows that digital distribution doesn't have a hugely negative impact on retail. How many people bought the game directly from us who just wouldn't have bought the game otherwise? It's hard to say but I suspect the number is significant.
  3. It provides more evidence that word of mouth is crucial. That means it's a very good idea to make sure people who buy your game aren't just happy for the first day or two but for the subsequent weeks, months.  After all, the game came out in February but it wasn't until April that it showed up in the top 10 in overall PC game sales.

Tomorrow I'll be putting in some new AI stuff that should make v1.11 a bit smarter. The combat changes in 1.2 will probably have a pretty big effect at the top rung of the ladder and probably also help at the lower end as well.

While on the forums I did see some people complain about having to register the game on-line to get access to the free updates beyond 1.0X.  You don't have to have a net connection on the machine you play the game on.  We are working on automating the email response for those who don't have a net connection on the game machine.  For most people, it's seamless.

The big advantage of the registration process is that it creates a full-blown customer account for them. As a result, players can then forever on download the ENTIRE game (not just patches).  Another nice thing about it is that we can send an email to people who got 1.1 and tell them about 1.11 so that if they had that memory issue, they know that relief has arrived. Overall, I think the registration system is a win-win though obviously not all people like it. Suffice to say though, if we didn't have the registration system we wouldn't be putting in all the $$$ to keep putting in new features like we've been. Our system has always been about rewarding customers for buying the game and the registration system is a basic part of that (and has been on our software for 7 years now).

Next week when I get back we have to start nailing down what will be in 1.3 and then figure out what will be in the expansion pack for sure.  The expansion would be out before Christmas. It won't have multiplayer in it however. A future expansion might.  Only 33% of users said they'd purchase an expansion that was predominantly about multiplayer. Some of its advocates have said "You should do an expansion pack that does multiplayer and a bunch of other stuff."  The budget is just not there for that.  If 67% of players are likely to buy an expansion pack that builds on the current game in new and interesting ways and those features cost a lot less to do than multiplayer it makes it tough to do multiplayer.  Still, I do want to add multiplayer at some point. It just won't be this year.

BTW, the Verizon Air Card is very nice.  I was able to get pretty good Internet speeds with it at the airport. I'll be able to give it a good test run next week.

GalCiv II: May Roadmap

Published on Sunday, May 7, 2006 By Brad Wardell In GalCiv II News

We're glad that people are liking what we've done with Galactic Civilizations II v1.1. 

We plan to keep doing updates for quite awhile that add new features and functionality to the game.

The last poll showed >90% of users were happy with the changes we made. But around 8% said they were having some technical issues with it and the team investigated this and found that the extra use of memory to speed up performance on larger galaxies has had some negative side effects on stability for those users. This was especially true on (ironically) saving games where a huge memory allocation is made to speed up saving (which for some people resulted in massively longer save times and then it crashing).

So this week we plan to release a v1.11.  The goal being to keep the speed ups but do it without using up extra memory which in turn will hopefully elminate the problems users with small swapfiles ran into.

There will be a full log of what's new in v1.11 before we make it available.  We will take the opportunity to incorporate some new AI strategies based on our playing, er I mean, intense, professional analysis of the game's underlying mechanics.

It also has a new option that users can set to have the AI make use of more advanced algorithms that are more CPU intensive for users who are willing to wait a bit longer between turns. This won't be used in v1.11 yet since those new algorithms still have to be written (but I have a good idea of what they'll be).

Once v1.11 is out, we continue on our way to v1.2 which we still intend to get out this month (May).  The main new feature of v1.2 has to do with modding. We want to make it trivially easy for users to make use of "total conversion" mods from within the game. 

The other significant change to gameplay in v1.2 will be the combat system.  Previously, the attacker took their shot and IF the defender survived, they could fire back.  This turns out, in practice, to be very de-balancing. On paper (i.e. in the design) it seemed like a good idea. 

In v1.2, we're going back to our original GalCiv combat mechanic -- attacker attacks and then defender gets to shoot back and then it looks to see who died.  The attacker still has the advantage of being able to pick the time and place of battle but it's no longer quite so overwhelming an advantage and will encourage ships that have (gasp) defenses on it.

Once v1.2 is done, we will start on v1.3. The feature set of that hasn't been thought of. We just read on the forums and see what people would like added.  I'm partial to a Galactic Encyclopedia feature. But we'll see what users want.

The point of these updates is to ensure that your hard-earned purchase results in a game that remains fresh and new for as long as we can.

Stay tuned.

Faster isn't always faster

Published on Sunday, May 7, 2006 By Brad Wardell In GalCiv Journals

I'm on my way back from vacation. I am sitting in the Houston airport with my trustry Verizon aircard which gives me net access virtually anywhere.  And as I start to look over the forums and polls, there's good news and bad news.

The good news is that people seem to really like what we did with v1.1.  The bad news is that quite a few people can't run it at all due to memory usage.

One of the goals for v1.1 was to make the game even faster and more responsive to users, particularly on larger maps.

And for most people, we succeeded.  But for around 9% of users (which is a lot) they not only didn't get faster performance but got crashes due to running out of memory.

What's ironic is that even with a month of public testing, we didn't find out about the memory issues until after it had been made available to the public.

One of the best ways to improve performance can be to make use of memory to avoid reading as much from disk. Just throw it in RAM and you can make the game perkier.  And, if there's not enough RAM, no problem, it'll go into the swapfile which simply makes it read from disk as it would have anyway.

But what happens if you run out of swapfile? Well, now we know. You get the "Out of memory" dialog and then the game crashes.  Clearly not an acceptable situatoin. 

Power users on the forums have found all kinds of solutions that work for them. Cacheman XP, reducing the # of stars, playing on smaller maps (the biggest culprit is the larger the map and the more good planets, the more memory involved).

The team in my absence has been working on making what will become v1.11.  It's a maintainence/bug fix version of 1.1 really.  But the goal was to have all the speed increases that 1.1 had but without using extra memory to do it.

There's a test build here:

https://forums.galciv2.com/?ForumID=162&AID=116216

Whether you need this 1.11 or not really depends on whether you're running into this out of memory issue (i.e. if you experienced any CTDs then you probably ran into it in one form or other).

Some of the other memory use wasn't from the caching but from the modding underpinnings that we put in.  Hopefully the team has been able to let users have their cake and eat it too. We will know soon.