Brad Wardell's Blog


WindowBlinds acquired by Yahoo

Published on Saturday, April 1, 2006 By Brad Wardell In WinCustomize News

April 1st -- 2006.  Stardock is pleased to announce the acquisition of its popular desktop customization program, WindowBlinds by Yahoo.  Yahoo, which recently bought Konfabulator, a popular widget engine, said that adding WindowBlinds to the mix was a natural next step:

"Our goal with Konfabulator, now Yahoo Widgets, was to enable the community to make use of our rich API set in a practical matter.  With Yahoo widgets, users can create mini-applciations that rest on their desktop," said Tony Stein, Vice President of the Yahoo! Developer Network.  "With Yahoo Skins, those same APIs can be integrated into the Windows GUI itself."

WindowBlinds 5.1, originally expected to be released late summer 2006, will be rebranded as Yahoo Skins. It will include a simple SDK in which skinners can incorporate "widget-like" content into title bars, borders, the Start Bar or anywhere else the skinner can imagine.

"We're very excited about this.  Before, users would have to hit a series of hot keys or move their windows, or turn their head to see a picture of their dog or know the latest weather conditions," said Brad Wardell, President of Stardock Corp.  "With Yahoo Skins, your local weather conditions will be part of the title bar itself. Your day planner part of every border. Even the Start menu and Start bar can include a picture of your dog or stocks prices."

For new users, the best news will be that Yahoo Skins will be free.  Existing customers of WindowBlinds, who paid $19.95 won't be receiving their money back. Explained Wardell: "I am really hoping to buy a boat one of these days. I'm actually afraid of water and won't go in it, but I just like the idea of having a boat.  Obviously, that boat won't come cheap so we can't refund people's money.  But I think our customers will be satisfied with Yahoo Skins and that most of them would want me to have a boat."

Yahoo Skins should be available for download by early Summer.

(april fools)

WinCustomize Turns 5

Published on Saturday, April 1, 2006 By Brad Wardell In WinCustomize News

They say that if you get old enough, you forget your own birthday.

WinCustomize has officially gotten old enough to forget its own 5th birthday! LOL.

On March 13, 2001, WinCustomize was put up.  The first news item read:

We're up a lot earlier than we had planned on. With Skinz.org seeming to be gone, we wanted to get something up that users can count on.  We are going to try to make WinCustomize.com into a skinning protal that helps users find the other cool skinning websites like DeskMod and Deviant Art and such. But at the same time, we want a website that users can truly count on.

It's truly astounding how much has changed.  Originally, the site was going to be a portal to other sites.  Stardock didn't want to get into (or pay for) a full-blown skinning site.  So the site was given two missions:

#1 To be a site skinners could count on to be up for the long haul.    And #2 To support a community of skin sites to help get them going.

As time has shown, these are somewhat conflicting goals.  Nowadays, because the community has become so stable, it's hard to remember a time when skin sites would go up and down. A skinner would upload their work to a given site, thinking it would be safe, only to lose it all when it went down or because it had a hard drive crash or whatever.  Many truly great skins from the dawn of the skinning "age" were lost as a result.  So this site was created so that people would have a place they could rely on. And here we are, 5 years later where none of us, including myself, even remembered that March 13th was a historical birthday for the website. 

Over the years there's been a consolidation on the # of active skin sites but also a consistency as well.  While not as many new sites have been created in the past year or two, there haven't been too many closings either.

This year we have a lot of things planned for the site.  Thanks to the success of Galactic Civilizations II Stardock now has a budget to upgrade its overall network infrastructure which will pay real dividends for WinCustomize.com.  New features, more servers, more developers.  Subscribers will continue to see their perks increased over time as we'll be able to have more dedicated "stuff" for them both in terms of servers and content. 

We're also looking to bring someone on whose job will be to oversee WinCustomize.com and Stardock's other websites.  Sometimes things here may seem inconsistent in the amount of front page attention WinCustomize gets because well, as much as I love all you guys, WinCustomize is only part of what I do.  So when things get busy, I end up not doing things like...well updating the poll or putting new news items up and that kind of thing (and other people for some reason don't submit news items often).  So we'll be bringing someone on there.  We also hope to finally be able to bring Jafo on full time.  Consider this, Jafo, who many of you know, is a volunteer. He volunteers his time and energy freely to the community.  He gets nothing in return on than the gratitude and appreciation of us and the community.

Year 5 is looking pretty exciting.  Think about this -- by the time WinCustomize hits its 6th birthday, next March, Windows Vista will be out.  And like an iceberg, you only see what's on the surface right now.  A significant portion (probaby about half) of Stardock's development focus is currently working on stuff for Windows Vista.  Some things subtle. Some things won't be out right away. But great things are afoot.  The skinning age will dramatically change because the desktop will be a 3D surface (it's still 2D as a UI of course) with all the possibilities that implies. It will open the door to more types of skinning than ever before.

So hold on to your hats, because you ain't seen nothin' yet!

Fairness in computer AI

Published on Friday, March 31, 2006 By Brad Wardell In GalCiv Journals

Every so often someone, usually someone who just got beaten, will start screaming that the game "cheated!".  It's a lot like the neighbor kid who screams "cheater" every time he loses at a game.

One of the reasons people like Galactic Civilizations II's AI is because it doesn't cheat.  But that generalization is only true to a point -- it doesn't cheat until AFTER "intelligent" (aka "Tough" in the overall difficulty slider).  Few players can beat it at that difficulty level and that's where meticulous care was put in to make sure that it's playing exactly the same game as the player.  Beyond tough, all bets are off.  At that point, we're talking about players who have either found an exploit or are simply incredibly good at strategy games and our goal then is to make sure they have a challenge. 

At Intelligent, it's playing its best game, same rules, same money.  At genius, it gets a 125% modifier to its bonuses (economically mainly and ability bonuses).  In practice, it just makes them a little bit spunkier as no AI can be as efficient as a human in a crunch so this is the level I recommend for people who are really good at the game who can beat intelligent.  And the last one is called "Incredible" where we're doing everything we can to beat the player.  200% modifier to bonuses, the intuition algorithms are set to be very lucky, etc. Basically, the player's a god at this point and we're doing all we can do beat the player, no holds barred.

The difficulty levels (from the manual) are:

  1. Fool.
  2. Beginner
  3. Sub-Normal
  4. Normal
  5. Bright
  6. Intelligent (this is where the AI is playing the same game you are with no bonuses or penalties with its best algorithms)
  7. Genius
  8. Incredible

In most games, the AI begins cheating right away or at such a low level that even casual strategy gamers have to raise the level well beyond anything that is remotely "fair" in order to be challenged.  In Galactic Civilizations II, it's not until near the end that the game is tilted against the player.  Again, this is in the user manual so this isn't some state secret. 

In the development journals, we talked about the goal of having the "intelligent" AI being able to beat 95% of players.  I think we succeeded.  In v1.1, our goal is to maintain that 95% (as people get better at the game some will eventually be able to beat the "intelligent" AI so we have to evolve with them).

So where do people scream foul and why?

  1. Claim: "The AI knows where the good planets are".  This is largely a carry over from Galactic Civilizations 1 where they did know where the good planets are. As any experienced GalCiv 1 player can tell you, that advantage was really pretty minor in the bigger scheme of things.  A good player can colonize as fast as the AI in GalCiv 1.  In GalCiv II, it's even easier because if you have Stellar Cartography you can see the planets on the mini-map. 

    However, we knew that many people used the GalCiv 1 AI advantage to say "the AI isn't totally uncheating" so a lot of work was put into having the AI design, build, and scout out planets. And I mean a lot of work.  To a user, scouting is easy, they "look" at the mini map. But having the AI do it intelligently took some work.  Even things like how many scouts to build, when should it build them, where should it send them, involved a lot of work to do it well because every move at the start of the game is crucial.

    In 1.0X of the game, we even put in additional checks to make sure that this was the case since there were cases where the bIsKnown flag could be uninitialized and have some junk in it (and as any C/C++ coder can tell you, if you're doing a if(bIsKnown) and there's garbage in there it'll return true.

    But this scenario has been played out over and over again, tested, verified by us, other players, etc.  Anyone with the demo can test it for themselves too. It's very easy to verify that the AI does not know where the good planets are.  Now, at "Incredible", it's hard to say.  The ability bonuses and some of the simulated intuition stuff gets murky when you're multiplying everything by 200.  But that's not material to our discussion since the AI at Genius and Incredible is getting advantages over the player and has always been stated as such.

    For instance, at 200 bonus, the sensors are probably so powerful that they have no real fog of war. 
     
  2. Claim: "The AI builds too fast."  This part almost always rises out of, sorry, "newbie" players who don't realize you can quick buy things. Decent human players do this, and you can bet the AI does this when it can.  The more money it has, the more often it can quick buy things.  On the planet screen, that's what the "Buy" button means.  A player starts out with 5,000bc.  You can literally build something every turn for dozens of turns without any special advantage.  At the highest levels, where the AI gets money, it can go even longer. 

    This particular claim I find especially annoying because it sounds a lot like the neighbor kid screaming "cheater" because they don't know how to play the game effectively yet.  It would be much better for the person to simply ask on a forum and then someone could tell them how it's being done (or read the manual).
     
  3. Claim: "The AI trades with each other too much."  This is another one of those "I'm losing so the game must be cheating" type things.  In 1.0 to 1.0X the AI literally does a ulPlayerIDToTradeWith = rand()%(ulNumberOfActivePlayers);.  IF it's the human player, it pops up a dialog and offers to trade X for Y. ELSE it just simulates the same thing with the other player deciding whether they want to make the trade or not.  In 1.1, it still does much the same thing but I made it a lot less likely for the military techs to get traded if they're expensive since it was very annoying having each player having the same military techs. 

    The point being, the AI isn't making a distinction between the human player and another computer player.

Now this isn't to say there isn't some bug or something.  But I haven't seen it and I haven't seen one other than the bIsKnown initialization issue and even that would likely only show up on a saved game and was fixed weeks ago in 1.0X (and I was never able to reproduce it, I just saw that it wasn't being properly initialized and that the variable wasn't being loaded correctly from saved games).  So it's possible that there is some bug. 

For example, I haven't looked into this because I didn't write the code but the AI may know where galactic resources are.  I say that because during the beta, galactic resources showed up on the mini-map.  IF that's the case, we'll likely have galactic resources show up on the mini-map again (assuming they don't already) because there really shouldn't be a "Race" for them, they should just be known IMO.  But as a practical advantage, it's pretty minor. By the time you've found your planets, you've probably also found the galactic resources.

Consider some of the things the AI has to do, in order to play by the rules and still be effective:

  • It has to design its own ships. You think you have trouble deciding whether to put an extra sensor or life support unit or weapon on a ship? Try being a computer player trying to fit every last thing on the ship without cheating. Think of all the possible combinations of fitting stuff onto a ship to use up every last bit of space.  Think about what weapons you would put on and what defenses you would put on.
  • Similar to the first point, having to figure out which weapons and defenses to focus on. Not only does it have to focus on them and research them but it has to figure out when to research them and do so without being scripted.  It has to know how much offense and defense to put on.
  • It has to know whether it should be focusing on range or speed based on different galaxy sizes, different numbers of players, etc.
  • It has to know what to build on a planet and when.  Should it use that special food tile for a farm or put a factory on it anyway because it needs the production more than it needs the money?
  • It has to know when to know when it should be building colony ships as opposed to freighters as opposed to constructors.  In Civilization IV, my favorite TBS, the player might build a dozen or so "workers" throughout the game. Workers don't get consumed when they're used, they stick around the whole game.  But in GalCiv, you have constructors which are consumed and you have freighters, which are consumed, and you have transports, which are consumed which means a LOT more decisions have to be made on what to build on a planet.  And some of these units are expensive.
  • It has to do a lot of work on the diplomacy, there's a lot of factors to take into consideration.  Because the game has no political borders which in other games prevent players from doing a sneak attack, GalCiv's AI has to be on the look out for all kinds of threat patterns and do so intelligently.  Plus, you don't want players going to war with you one turn and then asking for peace the next. There has to be a good, logical, intuitive reason why it goes to war.
  • The game has fleets AND those fleets are bound by logistics. In other games you either have armies/fleets or you don't.  If you have them, there's no practical limit to how much stuff you can cram in them so they can just go around wreaking havoc.  In the games that don't there's no effort in having to put together such an army.  But in GalCiv II, the AI has to decide how big of a fleet to make, when it should be used, what ships to put in it.  Plus it has to research techs to increase those logistics abilities. When should it research them? Why?
  • The tactical battle AI could take pages to explain.  In most space games, they don't have an open surface so there's plenty of choke points and a very limited # of places a fleet can go.  In most land based games, you have mountains and oceans which create choke points as well.  But in GalCiv II, it's open space which means that it's very very easy for a human player to outflank or use mobility to win the day.  The AI has to deal with that kind of thing. It has to know when to flee or avoid a target, to circumvent an opponent to go to a more valued asset.
  • The AI has to contend with special invasion ships. In other games, any unit can invade. In other games, one can build a transport and send it over and not worry about having to escort it.  In GalCiv, the AI has to decide when and how to escort a ship.  Escort too much and you lose the initiative. Escort too little and you lose billions of troops in space.

And it goes on and on and on.  So when you look at the claims people have made above, they're such small potatoes compared to what is involved in writing a computer AI that is playing by the same rules. 

If I were going to have the AI cheat, I'd do things like give it more space on its ships. That would be a wonderful advantage.  Or I would teleport ships outside the fog of war so that it would be easier to coordinate attacks.  Or I'd bump up its logistics ability so it could fit just a bit more in the fleet.  Or maybe I'd sprinkle its worlds with just a few more special tiles.  But I don't.  Because the AI doesn't cheat.  But it would be so much easier if it did.  And so you can probably see why I get so annoyed when some new user or hack reviewer tries to build their own credentials by making cheating allegations.  Because I could have saved a ton of work if I had had the AI cheat.

And claims like "The AI colony ships knows where good planets are" are so annoying because first, it's not true and secondly, even if it was true, it's such a trivial advantage compared to the real tough stuff that players take for granted.  As most veteran GalCiv II players can tell you, they typically out-colonize the computer AI because human intuition is better than simulated intuition anyway and that would still be true even if it knew where the best worlds were.

But let's say that the game cheats. Let's say it cheats like crazy.  That would put it on par with pretty much every other strategy game out there.  Hearts of Iron 2 is a really good strategy game isn't it? Very popular in Germany?  Yet its AI isn't even remotely playing the same game as the human player. Does that make it a bad game? No. 

The reason Galactic Civilizations II's AI doesn't cheat isn't because it makes it more fun or it's a good marketing tool, it doesn't cheat because for me, as a developer, the whole point of the exercise of writing a strategy game is to write the AI.  That's why our graphics usually suck in our games because I tend to only care about the computer AI.  

The point being that there's no real business justification for me to be coding on the game other than I love coding computer AI.  It's what I love to do.  I love hearing about other people's strategies. I love making tweaks and enhancements to the AI.  I love adding in new features.  But I also get very annoyed when some user or "reviewer" makes "it cheats" claims without even talking to us.  Odds are, they either misunderstood something.  But let's say they found a bug (which isn't likely but for the sake of argument) unlike the AI, we're only human. Who knows, I could make a mistake.  The AI doesn't escort its ships as well as I try to code it, it's possible that I missed something.

A victim of ones own success

Published on Friday, March 31, 2006 By Brad Wardell In Game Journals

Stardock's business model has been predicated adapting to what users request.  The company's motto is "Innovation on demand".

The idea being that we release the best product we can and then we rapidly enhance it based on user feedback.  Users of Object Desktop, for instance, are very familiar with this.  We have also introduced this model to our game development which has had very positive results.  Our conclusion isn't so much that Stardock is "great" at customer service but rather most PC game companies are simply not geared up to do the kind of development model we're used to.

The PC utility market is extremely competitive and so rapid updates are one of our critical advantagers.  Since 1999, a huge percentage of Stardock's R&D budget has been put into building an infrastructure to crank out user requested updates quickly.

Central to that strategy has been Stardock Central which allows, literally, a developer to put up a build onto the system and have it available to users without creating an installer.  In addition, a custom set of forums that interact with the user's account information was created over the past few years that lets them interact with all our sites, Stardock Central, and access things quickly and easily depending on which site they're on.  It also has allowed us to implement various "community" features that helps make users part of the team -- because they are.

Where the model is starting to break down is as we've become more mainstream, the sheer numbers of users has started to show weaknesses in our system.  In addition, the demographic has dramatically changed which has significantly hampered our ability to do what we're best known for doing -- crank out rapid updates.

In the past, especially with Object Desktop, our demographic was almost completely all power users.  As a result, we could release alpha-level updates to those users who, in turn, would let us know what changes they wanted or any bugs they found. Power users who weren't comfortable with alphas would wait for betas and power users not comfortable with either would wait for releases.  Bugs, features, etc. would be queued up to be addressed and the system flowed nicely.

Over the past year or so, the utility market we're in, the desktop enhancement market has had two odd things happen: First, the market has increased in size dramatically. Secondly, the number of other providers of such software has strangely declined (despite more opportunity).  What happened to all these developers is subject for a different topic. But the net result is that WinCustomize.com, Stardock's site for supporting Windows customization, exploded with far more users than had been expected. Even now, it's basically limited by server levels.

The market size increasing though has brought in users who are not power users. Users who don't read manuals, don't understand the difference between alpha, beta, RC, release. Don't know how to resolve problems on their own.  The net result has been that the same updates that we used to just throw out onto Object Desktop (or ThinkDesk) now have to go through an internal QA or else we'll suffer in massive support calls (phone, email, more phone, more email) that drowns out truly serious support (In the last week of February, a sampling of tech support email resulted in the conclusion that roughly 2 out of 3 emails would have been resolved had the user simply looked at the readme in the given product or gone to the knowledge base -- two years ago, that would have been 1 out of 10 emails).

Of course, we're not set up with that kind of internal QA, not in terms of a long-term infrastructure.  When we do a major release like WindowBlinds 5 or Galactic Civilizations II we can put together a pretty impressive QA team using people from other parts of the company. But those people are far too expensive to have doing QA for the long term.  So now we're in the position of having to build a full time QA staff that can rapidly handle the updates that come from the various development teams and get them out there.

Similarly, we're going to have to start hiring people to do forum support. More people I should say.  In our rapid development model, we would put up an update that would list what's in there and users would respond with what they found worked/didn't work.  Now, we put up updates and people will ask "Did you fix <bug X>?" or "When is <Feature Y> going to be put in?"  That is, assuming the user even reads through the change log at all before asking questions.  Then there's the users who read the change log but don't try the update and complain about theoretical things.  "Oh, I don't like that new WindowFX feature, I think it might slow down my computer." or "I think the economic change in GalCiv II is bad" (without having tried it).

Of course, right now, we simply don't have those people to beef up a permanent large scale QA department or to act as a day to day buffer between development and support. They have to be hired and trained which we are, but it's a slow process.

So the business model of developing niche software (desktop enhancement utilities and turn based strategy games) in order to attract power users and hard core games has started to break down.  They have started to break down because those markets are no longer niche markets. Turn based strategy games have become mainstream and desktop enhancements are mainstream. And so we will have to evolve.  But it's been painful and likely to continue to be painful for awhile.

Apolyton.net: The making of GalCiv II

Published on Thursday, March 30, 2006 By Brad Wardell In GalCiv II News

Over on Apolyton.net we wrote up an article with site owner Dan Quick on some of the background of Galactic Civilizations II. This time, we talked about what was involved in making the game. What were the goals? What have been the results?

It also gives a roadmap on what's still to come.

I hate when a bug is mine..

Published on Thursday, March 30, 2006 By Brad Wardell In GalCiv Journals

Well in 1.1BETA I found an annoying bug where social production doesn't get shifted over correctly.  It took me a second to find it.

Here it is:

if(strCurrentImprovement == "")
{
  if(pCiv->lMoney<500)
   
ulProduction = 0;
  ulUnusedSocialProduction = ulProduction;
  ulProduction = 0;
}

So there's the bug.  The CORRECT code would have been -500.  That is, if your treasury is lower than -500 THEN it goes to 0.

Fixed already (in my build but not the one that's on SDC) but just so you know in the beta.  It's mostly cosmetic in that it simply doesn't display the clear shields being sent over. But it's still annoying -- because it's my bug.

GalCiv II: v1.1 BETA 2 Change Log

Published on Thursday, March 30, 2006 By Brad Wardell In GalCiv Journals

The only major feature we're going to be adding to 1.1 after this is the modder's UI stuff.  Everything else will get put into 1.2.  I think people will like some of this week's changes.

This version will be on Stardock Central in the next day or so.

Build 2A:

+ Tweaked funneling of unused social production.

+ Fixed visual glitch where it would not show unused social production

+ AI less sensitive about starbase building

+ Neutral civilizations won't discount relations with good players anymore (why be good? because good and neutral civs will tend to like you more).

+ Tweaked hardpoints on ships.

+ Torian population growth ability changed to 20 from 30

+ Torian Morale ability increased to 25

+ Torian luck increased to 10

+ Diplomacy ability slightly more potent in determining diplomatic relations

+ Being a good civilization gives you more bonuses with neutral and good civilizations in terms of relations

+ AI will generally not trade weapons technologies back and forth to other players unless they're very good friends.

+ AI more aggressive about upgrading ships

+ AI escort ships less likely to be converted into attack ships

+ Rewrote CalcMilitaryMight() to be more intelligent. If someone has a higher military might than you now, you better take it seriously.

+ Population Growth tweaked so that abilities are taken into account BEFORE morale bonuses. Net effect is that population growth ability not quite as powerful.

+ Fixed cosmetic glitch where military might factors always displayed "--" in the report screen instead of "-".

+ AI is less rigid about trading weapons and techs with human player, it will trade low level techs even if the player is very powerful but not high level ones unless they are allied.

+ AI much smarter about taking bribes. If you're weak or they really hate you, it takes a much MUCH bigger bribe to move relations back up.  Moreover, how often you can bribe and get an effect has been increased (previously you could bribe them every few turns and maintain high relations in perpetuity). Now if you're bribing more than a couple times a year it will ignore subsequent bribes.  In short, you can still use gifts and such to increase your relations with other players but you can no longer rely on gifts as the sole means of staying out of war unless you're willing to spend a LOT of money/tech on it.

+ If AI is at war and is losing that war, it will value gifts and help farmore than normal and be much more appreciative.

+ Double-Clicking entries on the Stacked Ship Window will bring up the Ship Details or Fleet Management window for that ship/fleet
 
+ PaulB's Random Icons showing up on the Galaxy Setup Screen

+ Fixed bug in Options screen where some options that required restart would pop up the message that the game needed restarting, but not list which options required it.

+ Fixed bug where ships built in an off-screen port that had a rally point assign would be invisible next to the planet until they were selected or moved.

+ Implemented graphical <<<< on planet screen to indicate when social production is being added to military production

+ rally point context window enhanced

+ can now move rally points using the MOVE btn on the context area

+ Formatted Text boxes will now allow you to use the mouse wheel to scroll when hovering over the text ( used to have to hover over the scroll bar )

+ End Game Summary Graphs screen now shows up to 10 civs (instead of 8)

+ When a new game is started, the Global Resource Manager now unloads all textures and surfaces that are no longer being used

+ Implemented new MOVE button in Ship Designer:
  + Select a component
  + Click move button (or press M)
  + Click where you want to move the component
  + NOTE: You cannot move a component if something is attached to it

+ Implemented Hot Keys in Ship Designer:
  New hotkeys:
    Delete - deletes selected component
    M - Moves the selected component
    1,2,3,4 - Default, Front, Side, Top views
    Pre-existing hotkeys:
    H to toggle hardpoints on/off
    + and - to zoom in and out
  
+ Fixed bug where "Cannot Remove Component" popup would get stuck behind the ship design window

+ More balancing of Arcean and Altarian AIs in terms of researching technologies.

+ More emphasis on creating escorts

+ More work on the simulated intuition engine to make better guesses as to whether an area is unprotected. (avoided temptation to simply put in code to have it look to see if there's attack ships in the FOW and escort transports - it's easy to create a perfectly effective AI, it's harder to make an AI that plays like people)

+ Terran Alliance AI more focus on defensive technologies

+ Torian AI better at building up planets.

+ AI better at building up planets at the very start (bias towards factories early on)

+ AI more concerned about the health of its troops in evading trouble with transports.

+ New API: AITakeEvasiveAction(X,Y).  Give coordinates of threats and it will attempt to stay away from them.  Using this only a bit right now to see effect.  Combined with faster ships, it should be harder to take out enemy ships at higher levels.  This API only works at Bright or higher.

+ Defensive technologies cost less.

+ Fixed crash when trade ship arrives at a planet and the trade routeaborts because it is too long

+ Added "Remove Functional Components When Upgrading a Ship Design" option to the option screen.  This is ON by default.  Turning it off will leave the functional parts on a ship when you upgrade it.  You will have to remove parts manually.

+ Fixed FogBugz 8471: Upgrading a ship design sets all ports building nothing to build the upgraded design

+ Updated map scrolling in message popup window.  If coordinates are passed to message box, the map will now scroll to those coordinates when the message pops up

+ "Do you want to upgrade starbase" popup will now display the name of the starbase and scroll to the location of the starbase

+ Fixed FogBugz 8014: Bottom-most sector displays at top of game screen as 2863311-2863311

+ Updated the tool tips in the camera controls for the ship designer to say "Rotate" instead of pan, since that is what they do now

+ Implemented Details/Manage button in stacked ships list. Players can now easily access the new Fleet Manager interface. Joy!

+ Ship Details window can now display data on a ship type as well as a specific instance of the ship

+ Ship Details will no longer allow you to decommission a ship that is currently involved in a battle

+ Implemented info buttons in the Civ Manager Governor screen.  You can now use the info button to get information on ship types or change/disband rally points

+ Fixed bug where "Component will not fit dialog" would get stuck behind the Ship Designer window

+ Fixed bug in Ship Designer dial controls where if set to rotate "freely" the mouse wheel would only allow scrolling in one direction.

+ Fixed problem in games prior to v1.1 that are loaded into v1.1 where the starport would get stuck at 0 turns if they had obsoleted a purchased ship before saving the game.

+ techs now appear in the foreign report window as espionage is done on alien races (fixing problem of not knowing enemy techs when tech trading is turned off)

+ Fixed graphical bug where some components attached to a ship would scale to a HUGE size when trying to resize them

+ Fixed graphical bug where some components attached to a ship would rotate 180 degrees whenever you rotated or scaled them

+ Random opponents and num of races will now randomize on Ctrl+N. (let us know if this is what you want)

+ Humans will now be randomly picked when playing another race.

+ Civ Manager Governor now only lists rally points that are being used for "Ships Going To" list

+ Prevent Cheese: Cannot disband a fleet in fleet manager while the fleet is involved in a battle

+ Race Legend Window will now only show civs the player has met if Blind Exploration is enabled

+ Fixed rare glitch where hardpoints reappear on the ship if you have them turned off, and select a component on the ship or from the list

+ Destroying a fleet will destroy the ships in the fleet.  Disband works as it used to.  These are now two different things.


------------------


Below is a repeat from 1.1 BETA 1.

+ New Option: No tech Trading. Players can prevent any tech trading by anyone.
+ New Option: Blind Exploration. Players can now start out not knowing where the other civilizations are located.

+ New Option: Disable Minor races. No minor races.

+ New Option: Randomize player intelligence. This will scramble opponent intelligence by around +/- 10 points to have more variance.

+ New Option: Randomly pick opponents. Players can simply choose to play against N opponents and it will pick them out.

+ Ship Design Screen re-designed to allow far more visible space for designing.

+ Ship Design Screen supports panning with left-mouse button held down.

+ Ship Design Screen displays installed components in a grid list. Right click to remove a component.

+ Ship Design Screen supports rotation of components.  See options screen to control how much you can rotate them.

+ Ship Design Screen supports copy/pasting behavior with ship size/rotation. If you select an existing component and then select a new component, the new component will automatically take on the size and rotation of the installed component you had just selected.

+ Ship Design Screen supports symmetry in rotation. Select an existing component, then select a new component to add on and then RIGHT-CLICK on the appropriate rotation dial and it will mirror the rotation automatically.

+ Ship level doesn't add as much to max HP.
+ Option now to display an animated dotted line showing where your selected ship is going.

+ How many turns it will take to reach a destination can be displayed at the destination target for selected ship. Note that you can hold down the Shift key and drag select multiple units.

+ If low-level espionage achieved, you can see the destination of selected enemy ships.

+ AI values range technologies more

+ Sensor techs increase sensor ability

+ Lots of little AI tweaks not worth mentioning but together will make a substantial difference to making the AI more enjoyable at low levels and more challenging at higher levels.

+ AI's more aggressive about expanding range with starbases. (some of  them anyway)

+ Uncommon habitable planets tweaked to make them slightly more likely to have habitable planets.

+ Fixed AI bug where it would sometimes put its rally points on planets when it didn't mean to.

+ AI takes distance more into account than it used to for determining relations.

+ AI more sensitive to cultural and military build up using new APIs that do fewer false positives.

+ AI gives more effort towards researching propulsion technologies.

+ AI puts more effort into logistics techs.

+ AI puts more effort into miniaturization techs. In all 3 cases it does  an evaluation of the galaxy state to determine whether it should be doing this.

+ Some AI personalities focus on significantly different techs.

+ AI will design faster or longer range ships depending on its needs

+ AI tech trading rewritten so that it doesn't do sweetheart deals. Tech trading somewhat rarer now as a practical matter. May need to be balanced so that human player doesn't get too much of an advantage.

+ AI can upgrade ships if it has enough money and thinks it's worth it.

+ AI manages colony improvements more effectively.

+ AI adapts economic strategy based on whether the new "disable tech trading" option is on.

+ AI generally better at picking techs based on new algorithm for evaluating galactic state.

+ Some AIs smarter about building constructors/freighters/defense.

+ Terran Alliance AI will not allow it to fall behind militarily beyond all hope.

+ Most AIs now will try to upgrade existing starbases more so than building new ones.

+ Most AIs will tend not to upgrade starbases that exist just to extend range.

+ Terran Alliance AI builds helper starbases closer to home.

+ Terran Alliance experimental strategy: Very focuses research - will  ignore other weapons techs other than its main strategy. If you're not playing against the humans, you're missing out.

+ Terran Alliance has a whole new ship design sub-module for having its very own types of ships.

+ Terran Alliance will build defenders with no weapons (not needed to keep invaders out).

+ Drengin AI planetary management substantially different from others.

+ AIs take into account wasted social production (which is no longer wasted) into account when deciding what to build.

+ Drengin more likely to escort transports.

+ Drengin will focus more on trying to have the strongest military at all times.

+ Terran Alliance focuses on diplomacy techs, gifting, etc. to keep relations up so that it can pursue technology.

+ Drengin and Terran AIs now very much focused on controlling all nearby galactic resources.

+ Drengin focus more on extending their range of their ships and getting more morale building techs than previously.

+ Drengin tend to focus more on their primary weapon and defense techs. We'll see how it works.

+ Drengin AI a LOT smarter about what they research.

+ Yor AI now derivative of new Drengin AI.

+ AI, in general, values research more than it did previously.

+ First attempt, but probably not last, for AI to try to take out resource starbases of enemies where it can find them (as a reminder to players, the AI doesn't necessarily know the existence of a resource starbase, it has to "see" them. So if you have some resource in the corner of the galaxy, don't wonder why it's not getting attacked any more than why you don't see their resource starbases tucked into some corner).

+ Trade revenue increased on larger galaxies, decreased on smaller galaxies.

+ Starbase factories improve the production of factories and labs on planets by X%. Half of that increased bonus is "free" and the other half is charged for.

+ The -2000 ceiling on debt has been eliminated for players playing at higher difficulty levels.

+ Last vestiges of aborted feature "Propaganda" eliminated. Expansion pack will have "agents" that players and AI can assign to do mischief and counter-mischief instead.

+ ECONONOMIC ENGINE CLEANED UP! Production and research now works as follows: Labs and Factories produce N production of their kind. How much of their capacity is used is based on the domestic policy sliders (spend rate X what % on each of the 3 sliders is used).

That amount is then multiplied by 3 types of bonuses:

(1) Your Civ Ability (which you set at start and can enhance by mining special resources).

(2) Economic starbases with factories on them.

(3) Planetary bonuses that comes from random events, UP issues, etc.

50% of this bonus you get for free -- not charged for it. The other half you pay for out of your treasury.

Example: If I have factories producing 100 units and my spend rate is 50% from domestic policy and my military spending is set to 100% then that factory's base production is 50 (50% of 100).

If my Civilization ability on military production is 10% and I have an economic starbase doing 5% bonus and I had an event that increase planet production by 5% then I would have 50 + 20% bonus = 60 production. I would only be charged 55 however -- 10 bonus production, 5 free, 5 paid for.

+ Tax rate angers citizens less (a bit).

+ Your Morale ability is taken to the .90 power and then added to morale (was .80 power).

+ Population growth fixed dramatically. This is going to have a significant game play result that we're still having to fix in the AI. Before, on a class 10 planet with a morale of 70 your population would increase at 20% per turn. Now is would change at 3%.

The "population growth ability bug" wasn't a bug but rather a problem with having populations in billions rather than millions. The population growth was previously capped at 200 million per turn. 20% of say 1 billion (or
higher) reached that cap. So all those bonuses meant nothing.

Now, at 3%, if you have a population of 1 billion then you're looking at an increase of 30 million per turn X your population bonus. If your morale is 100%, that gets doubled again.

Here's the thing: If you drain a population down to only a few billion, it'll take you a very long time to recover. Say goodbye to mass colony rush. You'll need to be very careful or else you could end up with a vast empire of tiny populations producing no money while smaller empires grow beyond you and conquer your weak but large empire.

Population Growth = CurrentMorale X Government Level X PlanetQuality Factory X GrowthFactor.

+ If your morale is > 75% you now get a 25% extra bonus to population growth. If it's at 100% you get a 100% extra bonus.

+ Population growth ability taken into account at the very end of this process for maximium effect.

+ Research Ability used wholesale (previously it was chopped in half).

+ Base taxes collected now is the square root of the population of a planet. This may be tweaked based on play testing.

+ New clean APIs: CalcTotalMilitaryProduction() and social and research equivs that just give you how much a planet is producing (for AI use later).

+ Social Production that is not being used anymore is transferred to military. So you're no longer being charged for social production. However, only the BASE social production is transferred and that amount is not subject to bonuses and so forth (lest there be a lot of cheese tactics and gaming of the social production bonus). So you still need to manage your economy decently but you're no longer being charged for production you're not using.

+ AI at lower levels gets less money to account for improvements in overall AI.

+ AI now "adds noise" to its decisions based on difficulty level.

Essentially, on things that are prioritized, AI that is playing as a "dumb"
level will have injected into its calculations a noise factor that will result in it coming to wrong conclusions about what it should do and hence do stupid things. It's random

+ Planets on the verge of defecting are more likely to defect.

+ AI updated to use its points differently based on new ability costs.

+ AI Ship design looks at the galaxy size and then decides based on that whether it needs to focus on range or speed more. Before it was one size fits all.

+ Cost to upgrade ships now cheaper.

+ Lockup fix: AI could get confused on where to put a starbase and get into an endless loop.

+ Player and AI on same starbase rules: 4 friendly starbases per sector.

+ AI more likely to target starbases.

+ New function: FindClosestEnemyStarbase()

+ AI will send its ships to guard nearby planets rather than cluster them in hordes.

+ AI will target military support starbases more so.

+ Bonus production now displayed in various displays).

+ Updates to the various screens to display the correct economic data based on the new economic engine (involved 9 different .cpp files).

+ Planet Abilities decreased in player start-up. Before someone yells (or if someone can answer them on various forums): Before the abilities would then get nerfed in game. For instance, a research ability of 20 was treated as a 10 when calculated. Now, the research ability is half as much in the player setup window but multiplied directly. There's no net change, it's just a display change.

+ Message changed to tell players they can only build 4 friendly starbases in a given sector.

+ Most defense modules are now slightly smaller

+ Logistics change: Large ships now use 6 logistics (was 5). Huge ships use 8 (was 6).

+ HP change: Large ships get 30HP base (was 28).

+ HP change: Huge ships get 50HP base (was 48).

+ Nano Rippper damage changed from 8 to 6.

+ Capitals no longer provide a morale bonus.

+ Maintenance on labs and factories increased slightly (1 to 2) to compensate for higher tax income and easier morale.

+ Factories and labs produce slightly less base production (because the new bonus system provides more bonus production).

+ Cost of some high level buildings substantially decreased.

+ Slight tweaks to racial abilities.

+ Eliminated Galactic Mall and Concert Hall starbase modules. Since influence victory strategies have been strengthened, we require players to have to go for the cultural domination tech path.

+ Put cost to upgrade an influence starbase at the beginning, subsequent modules are free.

+ Mining modules have been significantly nerfed since abilities are now directly multiplied rather than modified.

+ If you have the cultural domination techs, you can build directly to  those upper cultural influence modules bypassing the wimpier lower level ones.

+ Influence modules are less powerful (since you can now go directly to them) but still very powerful.

+ Fixed some tech tree bugs where the category was wrong. The AI relies on category to determine what type of tech it is since the AI isn't scripted.

+ Lots of tweaks to technology costs based on play testing and user feedback.

+ AI values tweaked. Miniaturization was valued very low. So the AI tended to have lots of cheap and ineffective ships compared to expert players.

+ AI less aggressive at lower levels.

+ Fixed typo in UP issue.

+ Prevent Cheese: Do not allow player to open fleet manager for a ship that is fighting. They could disband or change the ships in the fleet.
 
+ If a component on the ship is selected, size and rotation will remain the same as the selected component when a new component is chosen
+ You can click a slot at the top of the window to select a component on the ship. Clicking the slot again, de-selects the component.

+ Clicking a component on the ship, high-lights its slot in the component list

+ Fixed bug where if you choose a filter, and then add a component that should be filtered out, it would still show in the list

+ Size and rotation settings are no longer reset when selecting a new component type

+ Fixed bug where Clear button did not restore modules ( like colony, trade, etc) in the list of available components if they had been added to the ship before clearing it.

+ Fixed an exploit where players could add several modules of different types on the same ship by using auto-place.

+ Fixed not being able to select slots Slots now tint to the correct color

+ Took out the old component "slots" code and replaced it with new code using a grid list control.

+ Implemented the filter controls for choosing function or structural parts, or all parts. Known bug: if you choose a filter then add a component of diff type it will show in the list.

+ Added support for mouse wheel to the rotation dials. They will use whatever increment you have set in the options screen for rotations.

+ Made the constructor highlight slightly less transparent to make it more visible

+ Random ?'s turn on and off on the Opponent screen Polished

+ Functionality on the Opponent Screen added funciton to

+ "OverrideTextDisplay" of Spinners

+ added code to make civ save extra research points when it has more needs for the current tech

+ changed code to save ship designs as .xml files blind exploration now works

+ Changed "Enable Minor Races" option to "Disable Minor Races"

+ Changing any of the Game Options in Galaxy setup will now trigger the galaxy thread to be recreated if it is already running

+ Random Number of Races option working

+ Random Selection of Races option working (PaulB will be cheking in a screen to fix the clipping)

+ Random Intel option working (PaulB will be cheking in a screen to fix the clipping)

+ Added Stat in "Foreign Stats">"Misc" that gives the intelligence of the race.

+ NEW FEATURE: Auto-Pilot Lines checked in NEW FEATURE: "Show Auto Pilot

+ Lines" option added to Options screen NEW FEATURE: Resource icons on

+ tactical map are now color-coded NEW FEATURE: Number of weeks to move

+ to destination appears on the destination cursor

+ Tweak: Made dial needles thinner in ship designer

+ Fix: Bug where adding a ship with moves to a fleet with 0 moves restores the fleet's moves

+ Fix: Potential crash in overlay code

+ Fix: Made constructor highlights slightly more visible

+ Fix: Fleet Manager updates context area if fleet is disbanded

+ Fix: Removed code in CalcAStarRoute (used by trade routes and auto-pilot lines) that prevented the route from reaching across a gigantic galaxy

+ added code to FindPath to allow AI ships to get a new destination when they don't have one

+ added code to CanRaceBuildShip to check for an existing model file if  it's a user defined ship

+ added code to classShipTypes to save out an XML file for its def. If a ship is user defined and this function can't find a .shipcfg file for it, it will now return FALSE. This fixes the bug that Brad found where he was playing as a custom race and he changed what style of ship he was using.

+Fixed length of the Zombie Army event to make it fit nicer in the box

+Added ability to pan and rotate main map with the Keyboard:
   -CTRL and Arrow keys to rotate (with snapback working if activated)
   -SHIFT and Arrowkeys to pan main map

+ Old "hardpoint modifiers" that rotated and flipped hardpoints have been marked as "hidden." This removes them from the components the players can choose, and also allows them to keep using the designs they have previously made that use them.

+ Improvement Summary window now shows tile improvements and their effects on the improvement and planet

+ Fixed bug where obsoleting a ship that had been purchased prevents the star port that purchased it from ever building anything else again

+ Improvement Summary Window: Fixed spacing of units

+ removed some references to humanity in the Tech Tree (but only where it made sense to remove, most places it worked well)

+ Fleet Manager: Now displays number representing ship's logistic value in ship thumbnail

+ Fleet Manager: Implemented the command buttons

+ Ship Designer: Implemented "Reset Component" button

+ Ship Designer: Added tool-tips to the new design UI controls

+ Ship Designer: Fix: Scaling selected part now scales ONLY that part

+ Fleet Manager window is implemented

+ Dbl-click a fleet or click on Details in the fleet context window to open it.  Use it to add ships to your fleet. Use it to move ships from one fleet to another. It still needs a few graphical tweaks: Some things don't tint Will be adding a number next to the ship icons to show their logistics (like the stacked ships window does)
 

+ You can no longer multi-select dead ships or ships hidden by FOW (This fixes bug where multi-select highlights empty spaces)

+ You can not cycle through fleets in the ship details window anymore (This is to make way for the new Fleet Manager screen)

+ Action buttons in ship details screen are now disabled if the ship cannot perform that action

+ Fixed bug where text in trade screen would display green when using the money slider even if the AI would refuse to trade a military tech because the civ was too powerful.

+ Fixed bug that Brad e-mailed about (Planet logos missing when zoomed out)

+ Fixed bug in Tutorials window where pressing ESC key would hang the game

+ Fixed UP Starbase Tax law-related problems.

+ Fixed bug where a player could not attack Dread Lord planet with an orbital fleet manager on it

+ Fixed non-working scroll bar in rally point window Added GetTurnsAway  function to classStarShip that returns a float indicating number of turns it will take to get to specified tile CTRL+I now displays the number of turns it will take a ship to get to its destination.

+ MiraclePlanets Event: Now updates the overlay icons for the planets. (They used to have "uninhabitable" icons even though they were upgraded by the event)

+ Fixed exploit where you could get around UP starbase module limit using a fleet of constructors

+ Fixed sizing to 0 error message in debug.err in ShipCombatShipsEntryWnd.

+ AIUpgradeShip will not allow you to use it on a fleet (it will abort gracefully) “Fleets” themselves cannot be upgraded, but the ships in them can
+ Fixed UP Law bug where starfaring tax was applied even if the civ in question was dead

+ Fixed UP Law bug where war tax was applied even if the civ you were at war with was dead

+ Fixed UP Law bug where Starbase tax was applied even on starbases that were destroyed

+ Changed starship::GetFleet function to return a pointer to itself if the ship is a fleet.

+ Found and fixed source of “Influence Flooding” bug.  If the invader used the “Use unhappy citizens” tactic, these citizens could be counted as casualties and the casualties would exceed the number of troops on the transports, thus giving a negative population.

+ Fixed crash when memory allocation fails on ship type creation in ship designer. Adds message to debug.err when this happens and takes appropriate action to avoid crash

+ Fixed crash in Polyline.  It now checks number of points in the line to avoid out of bounds crash.

+ Fixed CTD on Governor Screen.   pColony was not set in governor mini map. Pointer is checked now.

+ Fixed bug where removing components does not remove their tech requirement.

+ Fixed crash when entering victory status screen.  Planet was not set in colony::CalcMorale.

+ Fixed incorrect stat shown in ship statistics text (Trade screen)

+ Fixed bug where data on main screen (treasury, tech, etc) would not update immediately after loading a saved game

+ Fixed crash in OverlayGraphic::QueryInterface function.  Pointer was not being checked.

+ Trade Screen, if you right-click a ship, you will now get the “ship intelligence report” on that specific ship, instead of a generalized ship type information popup.

+ Trade Screen, if you right-click a starbase, it will now show the correct data based on what modules your starbase has.

+ Fixed a typo in conversations

+ Fixed a “false positive” message in debug.err.  It would display “Could not find texture” when PictureFrame images were being set to NULL (to clear the image).  This is ok.

+ If population after an invasion is less than 1, it will be set to 1

+ Fixed incorrect data being displayed in Ship Upgrade window

+ Fixed colors in a few end game summary screens to use race color instead of interface color

 

 

The Apogee Icon Suite!

Published on Thursday, March 30, 2006 By Brad Wardell In WinCustomize News

Famed icon artist Paul Boyer (Mormegil) has completed his latest icon masterpiece. And holy cow is the final version incredible!

The Apogee premium icon suite includes over 200 unique icons in 15 different color variations.  Each icon supports every major (and minor) icon size from 16x16 all the way up to 256x256. 

The attention to detail on each icon is beyond compare.  With native support for the new Windows Vista icon format, Apogee will not only work great on your Windows XP system today but it'll be ready for Windows Vista as well.  Each icon has also been designed so that it looks good at different resolutions. At 256x256, the icons are good enough to be used as clip-art (for private use) and yet still are recognizable and crisp at 16x16.

The Apogee suite is only $9.95 for new users. Object Desktop users can get it for $8.95.  Considering the sheer amount of content you get, this is probably the best skinning/theme/icon deal that's ever been released.

As good as the screenshot looks, they're even better once applied to your system. 

PowerUser.TV Episode 34

Published on Wednesday, March 29, 2006 By Brad Wardell In WinCustomize News

Vista has been delayed! The team discusses what a disaster this could be for Microsoft, as well as Bill Gates speaking on the delays in IE7. Firefox is taking up the slack with their 2.0 alpha release. Also Google has been forced to reveal websites but not personal information for their users.

France has a controversial plan to make sure that all media players sold in France will play all format types, which would directly affect Apple’s iPod sales. DRM stories abound with reports that the MPAA/RIAA saying that it is not ok to break DRM even if it’s a threat to your life. Starforce’s new way of enforcing their DRM is an instant reboot of your computer anytime you engage is "suspicious activity". Rage! But we are returned to our former jolly state by being able to discuss porn and the revival of the planned XXX domain. Also Dell puts us to shame by buying Alienware in spite of our podcast last week.

In our gaming segment we also get to discuss something that we haven’t been able to talk about before: online crucifixion. The RPG Oblivion has been released and Joel thoroughly enjoys having his butt kicked by it. Lots of PS3 news and other items of interest from GDC. Listen now and let your Geek flag fly!