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 1)
on Feb 04, 2006
Wow. Good job

I seem to recall an anecdote about Gary Paulsen, author of Hatchet; he took years working on his book, and constantly wanted to tweak it and refine it to even further levels of excellence, until his editor finally had to rip the book out of his hands and get it off to publication.

Thankfully, you seem to have overcome that problem, and everything I've seen and played seems like it'll comprise a blockbuster of a game.


...must... learn... patience.....
on Feb 04, 2006
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.

As I first started to read this article, I thought, "man, Brad sounds tired".

I know what you mean when you say that it is hard to let go - I've been writing code for over 30 years now. Fortunately for me, only 10 years have been commercially.

So get some rest, however you define it. You've done the best that you could. We'll look forward to walking into our local retailer, picking up a box of Galactic Civilizations II and thinking, "I know the guy that wrote this!", all the while knowing that you didn't do it alone. You've got a great team with you at Stardock. Congratulations to everyone involved!
on Feb 04, 2006
great article
on Feb 04, 2006
OMG You guyz are the best!!!! Put so much work into this game than most developers even think of!!!!

I CAN'T sleep right now thinking bout galciv2

ARGHHH!!! MuST..... WAIT......17....... More .......Days!!

I look forward to watching the computer fighting each other, maybe i'll learn something new just by watching and going

COM ON RELEAZE IT ALRDY !!!!


Monclova34
on Feb 04, 2006
Brad,

Really glad to hear you guys are ready for gold! As I said to Cordelia the other day, it's been rock-solid on my machine for over a week and I've been having fun getting my arse kicked by the AI in the campaign for days now. I've probably played GC2 in beta more than I've played most games I've purchased at retail. To top it all off, this is a game I've talked my parents into trying, and they're not gamers of any persuasion really. Ordered a copy straight from you guys to have shipped to them when it releases.

GC1 was fun for me for a while, but it was unmanageable on larger maps and just felt sort of "backwards" compared to what else was on the market. Even MoO3, which was a far inferior game, "felt" better in the general UI than GC1 did to me. GC2 on the other hand is how I would like to see 4x games built. The 3D and strategic level map allow me to quickly get a feel for how I'm doing, where important things are and are good for getting a general pulse on my empire.

The tech tree is big, and every tech is useful. It's always tough to figure out wht to compromise on. And ultimately, near the end of games I have all sewn up, I go back and research EVERYTHING I can, just to get all the nifty little bonuses, buildings etc...

Combat is infinitely more interesting than it was before. Despite the wonkiness of the battleviewer, it's still fun to watch my ships duke it out in 3D. I also like the MoO2 style ground invasion animation. I'm all for anything that makes the game feel more alive than simple number crunching like in GC1 or the Civ games.

You guys have done an outstanding job with GC2, and I say that not just as a Stardock fanboi I say that as a gamer... again the fact that I've continuously played this game since the first betas back in March/April is a testament to the game actually being fun and well put together. I'm just overjoyed that I can complete games now without a CTD

Good luck in retail! I'm telling all my friends to pick up a copy if they like strategy games... and even if they don't, just to see my name at the end of the credits

Now, I hope the entire game team gets a month off to sleep

-Z
on Feb 04, 2006
Nice work there! Now you can sleep all you want!
Only one question by me: are you guys planning to bring back the terror star in an update? Sorry that i always bring that up but...
on Feb 04, 2006
Great work Stardockians! The game is going to be awesome. Lukcily I'm very busy at work and at home till the 21st, so those 17 days should pass quickly.

Sadly I can only play the game for two weeks before going on my honeymoon. But I won't complain.
on Feb 04, 2006
You guys should stop posting stuff like that... how are we supposed to stand the next 17 days with teasing like that?
Other than that I'm glad to hear that the AI is that good and I'm looking forward to your further tweaks and enhancements.
on Feb 04, 2006

Thanks Brad.. I am going cold turkey on the game until the retail release. That way I will still get that "release day" shiver when I play it for the first time (again).

on Feb 04, 2006
I cannot wait!
My only questions are about whether it will support wide screen displays like my 21" LCD? (1680x1050)
With a Nvidia 7800 GT I get great frame rates in games like HL2 and Counter Strike Source running wide screen (90+FPS), so will I need to run in a window and wait for the High Res pack? Or will it be supported from the get go?
on Feb 04, 2006
Great update thanks Brad! Appreciate all the work and anxiety you and the TEAM are under as I have done similar work.

Have fun doing some BF2! Get some sleep too! Maybe visit some family and friends and not take over their PC too..

Sitting back reading a Space Opera novel to get in the mood. (Dark Wing: Walter H. Hunt)

Cheers and good luck with the launch. From what I have seen so far it will be an awesome one.

(Preordered at EBgames)
on Feb 04, 2006
The care and effort that the Stardockians have put into this game is amazing. Most of the stuff they've been tweaking for the past week has really been minor stuff in comparison to the bugs most games suffer from at launch. Whether you've played the beta or will be getting your first taste of the game in a few weeks, you are in for a heck of a treat.
on Feb 04, 2006
Excellent article , Brad, and an excellent product. Now if I could only move your politics 90 degrees to the Left I would be completely happy. Thanks for a great job.
on Feb 04, 2006
to SSG Geezer :

It will definately work on your widescreen monitor.
on Feb 04, 2006
Wow congrats! Sounds like this is going to be an amazing release. I am curious on details about DirectX functionality on W2K as I've been fairly adament about sticking to 2K (numerous dislikes about XP, many situations I've seen it die while my steadfast 2K box survives). Is it just the tools/SDK that aren't updated, or are there actual differences in the client libraries between 2K and XP? Oh and my apologies for not being more involved in the beta, but I've been kind of slammed with my own development projects I have to say, outside some already reported beta issues, I can run Beta 5 for hours without issue.

Eventually I'm going to be getting around to setting up a Wine test box (www.winehq.com). Is Wine/Linux functionality something that you guys are interested in?