Brad Wardell's views about technology, politics, religion, world affairs, and all sorts of politically incorrect topics.
Knowing when to let it go.
Published on February 4, 2006 By Draginol In GalCiv Journals

Game development is a labor of love.  At least for me.  After two years of working on Galactic Civilizations II in varying degrees and in fact having lived with the "franchise" now for 12 years from the original OS/2 version, the code-freeze has been really difficult for me.

Every time I play the game, I see something different that I could tweak, improve in some slight way.  We're way beyond the "it's good enough to ship".  As some of our external and internal gamma testers said, it was probably read to ship a week ago.  But each day I play it, I see something, something little that could be improved.  Made better.  When you're deep into the code, you see all kinds of opportunities to make things even better. 

That's one reason it's hard to simply stop. To say "It's time to stop and send it out there." I found a bug the other AI that kept the AI from researching miniaturization techs.  But it didn't matter to people other than me.  The AI seems really smart.  And indeed, the AI simply adapted to a strategy of more/cheaper ships.  It could have gone out like that and nobody would have noticed.  But *I* would have known and it would have bugged me.   So we made it so that the AI can determine whether miniautrization is a strategy it onces to make use of -- fewer but higher quality ships.  It doesn't HAVE to do it, it can choose to do it based on the state of the galaxy. 

But it's things like that that make it hard to let go.  I could keep tweaking forever.  Luckily, I can keep updating things.  I plan to do a bunch of game examples where I document different games. That'll give me an opportunity to put the AI to the test in a variety of conditions and be able to adjust it and then give users the results as part of a free update.

The AI is something we're pretty proud of though.  In terms of AI quality of games I've worked on I would rate them as follows:

Game Rating (out of 10)
GalCiv for OS/2 6.0
GalCiv for Windows (2003) 5.0
The Political Machine 5.0
GalCiv II for Windows 8.0

That's where 10 would be the absolute best it could possibly be and probably best left to a research project and not a commercial product.  I'd say that a 8.5 to 9.0 on that scale would be about as good as we could do without it having used up so many resources that it wouldn't be commercially viable from a hardware requirement standpoint or pure development time or that be incredibly unfun because it would be doing incredibly annoying things.

Which user should get the best first experience?

The area that is particularly painful is having to make compromises on who to target for the best experience.  Consider this:

Galactic Civilizations II supports Windows 98, ME, 2000, and Windows XP on hardware ranging from ancient Pentium 3 800MHZ level CPUs all the way up to the latest Dual core processors.  It will run on a Geforce 2 level card all the way up to the latest ATI/Nvidia monsters.  And the difference between these cards isn't just speed but capability.  We had to put in all kinds of things to make it run on Geforce 2 cards for instance. Our own custom lighting system for instance. 

And that brings us to all kinds of choosing defaults.  WHO are the default settings targeted for?  Let me give you an example we agonized with -- anti-aliasing.  Many of you are probably familiar with 2x, 4X, 6X antialiasing right? Makes the graphics look a lot smoother.  So what should the default be?  If we have no anti-aliasing, it'll run fastest of course on low end hardware.  But then people with decent video cards (not even great ones, I mean like ATI 9000 level like my laptop) have their first experience, their first 10 minutes of play so to speak, looking at jaggier graphics.  Sure, they can switch it, but on the other hand, the guy with the Geforce 4x series or Intel integrated graphics card can also turn down the anti aliasing.  After all, their hardware vendor is the one who claimed it could handle 4X anti-aliasing (it's not like we force anti-aliasing, the game does a series of tests to try to find a good setting for the card but if a card says it "Look at me! I can do 4X, no really chief! Send me in! I can do it!" then we set it to that.  But that means some older cards that claim they're just swell with anti-aliasing run slower than we'd like.  Not unusably slow but cut scenes dog a bit and the framerate is lower than we're used to.  But like the other way around, they can simply turn it off too. 

So who wins out? We decided to opt at 4x anti-aliasing and put it in the readme.  Since 4X antialiasing works well on any decent video card that's within the last 2 years at the default resolution, we decided to target them.

Making sure everyone can play

One thing that we wanted to avoid is to have a game that had too high of system requirements.  It's a freaking turn based strategy game after all.  You shouldn't have to have a mega machine.  So while the guy with the Win98 box with a Geforce 5200 card on a Pentium 800mhz machine might have to turn off anti-aliasing for the cut scenes to run smooth, we wanted to make sure the game would run fine for him.  After all, what about the guys who have older laptops?

Laptops were my personal little obession. I'm a laptop junkie. I've got more laptops than I really should have. I have a problem.  And by golly, it was going to run on them!  As long as there's at least 32 megs of video RAM, it was going to run.  So there the game was, on my wife's laptop with one of those Intel on board videos. And it worked. Plays very well.  Not that she'll play it but SHE COULD!

Hey Neighbor! Can I install my beta software on your machine?

Because you want the game experience to be great for everyone, even the people with very low end hardware.  It was very important to us that people not have to have some state of the art computer.  So there we are, running around with CDs to friends and neighbors to make sure that we're not just testing it in the testing lab or relying exclusively on the gamma team installing the thing on some funky hardware. 

Testing on Win98 and 2K were a lot tougher than we had expected.  It's really hard to find people with those OSes now.  It's hard to believe that Windows XP is now going on 5 years old.  And you can't just buy some machine and throw on a copy of Win98 or 2K on them.  You have to find a machine that would realistically have the hardware that someone would have. And it's a pain.  Because Object Desktop supports only Windows XP at this point, it was really a challenge to test on those OSes.   We actually had to make a special Windows 98 version of the game -- the installer literally uses different EXEs/ DLLs if you're running Win98 because the latest DirectX SDK doesn't support Win98 or 2K (oh, it SAYS it does but it doesn't in practice).  This will definitely be the last game we make that isn't XP or higher.  It's just too time consuming to cater to an audience that, according to our web logs, represents less than 1% of the gaming user base.

Testing on Win98/2K brought back all the old memories too. It was during that period that people used to argue, with good reason, that consoles woudl rule and PC's were "d0med" because PC games didn't reliably work from one PC to another.  Oh it comes back.  "Oh, your Win98 box is already stuffed full of spyware and now you're going to try to run a 3D video game?"  Surprisingly, Windows 2000 is actually worse because it's DirectX support is even spottier.  Oh the video driver may say it's for Windows 2000, but its DirectX functionality may not have been touched in a long time. 

But we felt it was important not to lock out Win98/ME/2K users because it's a strategy game and we wanted to make sure it was as accessible to as many people as possible.

Speaking of funky support issues

I'd like to take this moment to say that I hate HATE HATE most "anti-virus" programs.  I think most, not all, but most of the anti-virus makers have lost their way and are more of a problem to the typical user than the virii are.  One of my friends computers was soooo beefed up with overlapping anti-spyware/anti-virus stuff that his system was crawling.  Until I cleaned off some of the redundant antivirus programs, the install from CD was taking forever.  That gives me the chills.  Because you know there will be thousands of people out there who don't buy games very often but who do like strategy games who will buy the thing, take it home and their mega-anti virus programs -- overlapping, will slow things down. 

This is the part where I say "THANK YOU CIV 4!" If the Firaxis team were here, I'd give them a big hug.  Why? Because I suspect many of the people who are into these kinds of games bought Civ 4 last Fall and already had to troubleshoot their systems and get them back into gaming working condition.

Because while friends and relatives who are letting you install the game onto their PCs to help you ask "So is this going to be for one of those Nintendos?", you know deep down that they're not the target audience. Their machines are probably well into the worst case scenario. "Wow, Nancy, I've never actually seen a PC with 5 shopping toolbars before.."

And while they somehow manage to have systems full of debilitating software, they also manage to have installed several different anti-spyware packages.

One anti-virus maker that really has my ire is McAfee.  They detect ANY call to Windows Scripting Host as a virus. Great... Our launcher gadget uses VB Script to detect whether the game is already installed so that when a user puts in the CD it doesn't try to install it but rather says "Play".  Mind you, this only happens if you have every option on it clicked so it's not a common issue. But as the QA guys looked into it, they were astounded -- it labels all calls to WSH as "Malicious scripts".  No sort of parsing that we could detect. Just a simple IF using VB Script THEN "Malicious script". It's harmless but it's annoying that on probably .1% (which on 100,000 machines means  100 people which is a lot of people if you think about it) are going to see this message.

Where does it stop?

When you work on a project for a very long time, it's really hard to let go.  It's hard to say "it's done".  Especially on a game where you play and you play and you can always tweak.  I think that's one reason why I like PC games -- as I play the game and think of something that I or other users might like, I can put it in and make it available to others.  But realistically, before we do that, we will need to hear what people want. 

I put in AI features this past week that I suspect few people will ever notice. A few examples:

  • Some of the AI personalities will try to run away from enemy ships that it determines it can't "Take".
  • The AI has gotten much better at escoring transports
  • If an AI is losing a war, it'll pay more money to any player who offers it ships for money.
  • The AI will make snarky remarks if it detects starbase threats
  • I also did a bunch of tweaks at lower levels too.  For instance, now new players get economic boosts (20% at simple and 10% at beginner). 
  • Paul K wrote me a new API that made it much more efficient to tell how many planetary improvements the AI had built on a planet so that it could better prioritize what it should build.
  • I was able to create a new AI personality called AI_CRAZY which I gave to one of the players. It's got some different tactics than the others that mix things up a lot.  It's cool watching different AI modules have to adapt to one another.  We have a mode where we can literally just sit back and watch the AI play against itself.  Watching them wheel and deal and war is cool.

There's a bunch of things like that.  And it could go on forever.  Today was the official code freeze. It's not "gone gold". It still has to pass final QA.  But like I said, it would have been able to do that a week ago. But it was tough still to say "Okay, it's done".  It's just so hard to let it go.

Scary Retail

Now the scary part starts.  I think one of the reasons why it gets to tempting to keep holding on to it is fear of what will happen when it gets out there.  When Civilization 4 came out, they discovered that due to an issue with some ATI cards / ATI drivers that the game wouldn't run.  It required a patch.  It wasn't a big deal in hindsight, users downloaded the patch and all was well.  But as a developer, that's the nightmare thing.  You work so hard on these things for years at a time and to have all that work overshadowed by some glitch like that is maddening.

And when you're manufacturing tens of thousands of these things at a time, there's no going back once it's in their hands.  We've tested it on every machine in our QA department.  We've taken it home. We've put it on our friends and neighbors computers -- many of whom have PCs that are in no shape to be playing games.  And while it went well, I still get paranoid.  You can bet we tested it on a LOT of different video cards.  And X64 and Windows 2003 and Dual core and so forth.  Heck, we even ran it on Windows Vista (note to anyone running the Vista beta -- you will have to run galciv2.exe direct, Microsoft broke layered windows in the current build and our pretty launcher is hosed by that -- Microsoft needs to fix that since there's a LOOOOTTT of programs that require that). But in the meantime, Windows Vista beta gamers (if such a thing exists) will find that yes, indeed, we tested the game on Vista and make sure the game runs there.

No Copy Protection

GalCiv didn't have copy protection and the piracy level on that was reatively low.  I think not having copy protection decreased its availability to a degree in warez areas.  Since there was no CD check to crack, no disk protection to thwart, there was less incentive to put something up to distribute.  After all, what possible justification does one have to put it up other than sheer stealing? There's no rationalizing of it at that point, especially with the demo due out shortly after release.

So the retail box of GalCiv II has no copy protection whatsoever.

Putting together ideas for the "BonusPak"

Like we did with GalCiv I, we plan to have a Bonus Pack.  A set of enhancements, extra content, etc. that users can download.  THAT's our copy protection -- give people who buy the game a thank you for buying it.  Reward customers.  It was very well received in GalCiv I.  There is always the concern that someone is going to say "Ah, you didn't really finish the game..." so we make sure that the review copies are the out of the box game -- no bonuspak. 

So what ideas do we have there?  What sort of goodies can you expect to have waiting for you when you bring the game home? Here's a few ideas we have:

  1. More ship components -- particularly "extras" to help modify the look of the ship.
  2. Additional technologies.
  3. Additional text for the AI to say back and forth to you.
  4. Ability to play tutorials full-screen (right now they play as part of the game screen which is visually cool but some people might want to watch them like they would a DVD).
  5. Video strategy guide (basically the GalCiv team doing something like a DVD commentary but where users can hear what we do in different parts.

Of course, add to this that I plan to keep updating the AI further.  I haven't had a chance to do a recent Drengin/Human AI contest since the last set of changes.  I do know the AI is substantially better than anything we've ever done in the past.  But I'd like to do some more simulations and have more AI updates in the BonusPak.  Don't worry, it's not about making the AI tougher, it's about making the AI more intelligent.  We'll deprive the AI of even more money on lower levels as it gets better.  I'd also like to add more AI difficulty levels so that it's more graduated.  I want players to be able to tweak the settings until it's just at the point where they sometimes win, sometimes lose.  Right now, for me, that's "Intelligent" (the AI level) and dependent on the map and the players.  But i want to make sure all players have that kind of ability.  I'd like to see that in.

New features beyond the BonusPak

Like GalCiv I, we plan to keep putting in new updates after release.  Here are some things that we hope to make available after release based on player feedback:

  • High Resolution Packs.  For people who do have monster hardware (well ATI 9800 or better at least) I'd love to see ships with 1024x1024 textures.  I'd like to see planets the same way.  Just overall more eye candy stuff.  We have to wait until after release so we can cater best to the people who actually buy the game.  Right now, it's all guess work as to what kind of hardware people who buy the game will have and we don't want to discriminate against any groups (we'll discriminate equally against everyone! <g>).
  • Several new planetary improvements.
  • Some new hulls for ships.
  • More modding tools. 
  • New Metaverse features based on what people ask for.

Stardock Central

Back in 2003 we rushed Stardock Central out the door and we have paid for it since.  A lot of people back then really hated it because it was flakey.  Atari asked us to push GalCiv I's date back a month to let MOO3 go out first in exchange for a GalCiv flyer in every MOO 3 box.  That was a no brainer.  But that extra month put the launch date within 2 months of Stardock Central's planned release.  So we moved the date up on SDC so we could go out with GalCiv I.

Now, today Stardock Central works well.  Literally millions of users have used it.  It's the backbone of our software distribution.  It's a very good software manager.  But that said, we aren't going to require people to use it to download updates.  If they want, they will be able to download these updates I mentioned as seperate patches to install like other games.  The advantage of Stardock Central though is that you can redownload the ENTIRE game.  Once you have your serial # that comes in the box, you can toss your CDs and just download the latest/greatest version of the game.

Sleep for a week

Between last Saturday and today, I've worked 111 hours. Or put another way, I was either sleeping, driving home, or doing something else 57 hours last week.  The rest of the team was in much the same shape.  We all wanted to get our little tweaks or fixes or adjustments in before the code freeze.  That meant fixing typos or grammar in the hundreds of pages of text.  Or fixing a screen so that if you run it at over 2000 pixels wide that a scrollbar shows up in the proper place.  Or in my case, having the AI improve its tactics further.  In other people's cases putting in different music. Getting in an additional cut scene. Having an additional event.  Making sure you can Alt-Esc out of the game and back in every circumstance we could thik of (because of the user-defined ships, it's tricky doing alt-esc back, long story but we nailed that down).

So barring some problem from QA, the game will go gold next week and be sent off to manufacturing for availability at retail on Feb 21ish.  We got big orders in today from Walmart, Best Buy, EB, Gamestop and a bunch of other places.  It's by far, our largest launch ever -- over 3 times as many units at retail on day one that GalCiv I had and this is the first real Windows product we've published at retail.

Feel free to ask questions here, I'll be around!  Tomorrow I'm going to be playing Battlefield 2.


Comments (Page 3)
3 Pages1 2 3 
on Feb 06, 2006
Well, I am hoping to get something nice for my wife. She's expecting ("release date" August 2006).


LOL. Congratulations, by the way!

Now I'm not sure if I'm remembering correctly; but this is going to be your 3rd little Dark Lord-in-training, correct?
on Feb 06, 2006
She's expecting ("release date" August 2006).


Congrats Brad (and family).
After two Frogboys perhaps it's gonna be a little Froggirl this time.
on Feb 06, 2006

Well, I am hoping to get something nice for my wife.


Aw, you're the best! Just having you home for any amount of time will make me a happy camper. Although, getting a maid a couple times a month for the next 5yrs would be nice

After two Frogboys perhaps it's gonna be a little Froggirl this time.


Chances are it will be another boy but boys are so much fun. In a lot of ways it would be easier to have another boy since we already know what to do with boys Don't get me wrong, a girl would be wonderful, I just wouldn't bet any money on it being a girl. Another month and we should be able to find out.
on Feb 06, 2006
Congratulations to both of you! May the Frog join the pond safely and healthy.
on Feb 06, 2006
First of all, congrats on the blessed event. Secondly, if you have the time...

What do you think of AVG anti-virus? I have been telling my clients that McAffee is a piece of crap for many years (since around 1999). Nice to hear some backup on that. I hope you don't mind if I copy and print that little paragraph out to use when I do service calls.

Thirdly, please allow downloads as soon as the game goes gold. Pretty please?

Warmest regards,
RichVR
on Feb 06, 2006
Symantec installs a root-kit, that could be the problem with it. I love my AVG, were there any problems with it? I turn it off for installs after I block all traffic with my firewall so I figure it will install correctly for me. (Sorry about the rambling Percocet induced babbling. root canal, ugh)
on Feb 07, 2006
Well done!

I've been following these posts for quite a while now and thought I'd chime in. Ever since I read the Drengin 1v1 battle I've been drooling at the thought of playing this. Pre-Ordered straight after that.

The AI sounds amazing. It was a great break from coding business apps to be able to listen to your acount of putting it together. Makes me want to go off and start working on a few game ideas of my own. I hope you don't stop updating this jornal now that it's gone gold.

Last thing. Would it be possible to hear another recount of game like the Drengin 1v1 to tide us over before release? Pretty Please
on Feb 07, 2006
Is AutoPlay the mode that lets you watch the AI play itself? If it isn't, I second tinplated's request for that mode to be user-available!
3 Pages1 2 3