Brad Wardell's Blog
10 best Gadget Ideas of 2005
WinCustomize CES coverage
The Consumer Electronics Show (CES) is in Las Vegas this week and we'll be there covering the latest in consumer electronics for WinCustomize.com.
There is expected to be a great deal of announcements with regards to new HDTVs, digital cameras, cell phones, and more. Microsoft will be giving us a sneak preview of some new functionality being added to Windows Vista.
Stay tuned!
PowerUser.TV: Episode 21!
- Alleged child porn offender turns himself in.
- Google makes deal with AOL.
- New Vista preview.
- Digital TV switch looms.
- WindowBlinds 5 activation.
- Lt. Col. Dave Grossman educates the police.
- Tom’s Pick of the Week.
- PowerUser voice mail.
During the show we mentioned that Microsoft hired a new User Interface Expert, but we couldn’t remember his name. His name is Bill Buxton. Read about him here:
Microsoft’s New User Interface Guru
View: Subscribe to PowerUser.tv via Yahoo! Podcasts
News source: PowerUser.TV Home Page
Happy 2006!
Can you believe 2006 is here! Holy cow!
On behalf of everyone at WinCustomize.com, happy new year!
2006 is THE YEAR. A lot of people may not realize this but 2006 is going to be a defining year in the history of personal computing. The reason has to do with Windows Vista. It's not that Windows Vista is just some new version of Windows, it is that the underlying technology of Windows is being completely replaced.
For the past 10 years (and more) we've been using the same technology for displaying fonts, images, graphics, windows, etc. It was all based on a 2D, 16color system. In time, it was expanded to support 16.8 million colors but visually, it was all based on pictures or 2D vectors (at best) with visibility either on or off (most skins still rely on "magic pink" to determine whether they are visible or not).
But with Windows Vista, things are being changed. GDI, which is the display system we've had with Windows since Windows 3.0 is being replaced by something called WPF (Windows Presentation Foundation) which is 3D based. The screen you look today is based on "blitting" 2D images. In Windows Vista, it's a 3D surface that is hardware accelerated by your video card.
The networking you use is based on a hodge podge of fairly insecure protocols written in the kumbaya days when it would be cool for us all to be able to look at each other's computer and "share". Those naive days are long past but we still patch up the patches that try to retroactively close the door. Instead, Windows Vista brings the Windows Communication Foundation which is a much more powerful (for developers) system that was built with security in mind from the start.
And Microsoft's .NET support is part of the OS. Right now, many developers (including Stardock) don't use .NET because they won't require their customers to go download a 30 meg extra download in order to use their stuff. It's not that .NET is "bloated" btw, it's just a class library that has its own DLLs and such that have to be used. With Vista, .NET is part of the OS and developers will be able to much more easily create very interesting and useful things.
How Windows Vista will affect skinning remains to be seen. From what we've looked at so far, it'll be great. While Microsoft is not going to make customization part of the OS (to an even lesser degree than Windows XP), it will be possible for third parties to hook in and do some amazing things (And you can bet if we'll raise a storm if MS reverses this direction).
WinCustomize will likely end up with sections like "Animated Wallpapers" and XAML parts and Microsoft gadgets and new stuff from Google and Yahoo and elsewhere!
Stardock has what it believes is a killer application in store to be added to Object Desktop AFTER Vista ships (like many historically "good" ideas, once you know what it is, it seems obvious in hindsight so Stardock is keeping it very quiet until it's too late for it to be added to the OS or for others to do something similar for Vista by release).
Wherever you are in the world, Happy New Year to you! Feel free to add yourself to WinCustomize's FRAPPR community!
Exclusives over at Voodoo Extreme
Some screenshots of ship battles in action!
New screenshots at Worth Playing!
WorthPlaying is the latest site to post a GalCiv2 preview.
The article is quite positive throughout, with the editor concluding:
"Overall, Galactic Civilizations 2: Dread Lords is looking to be a major entry into the Turn-Based Strategy genre. Already it sports beautiful graphics and solid audio, and has so many options for customization that nearly any type of player should be able to find a balance that best suits their style of play."
Gamma Releases in January
There will be a small number of people who will have access to the gammas come January.
Users with Diplomat access or higher will be able to report feedback in the private Council forum.
The access classes are Citizen->Veteran->Diplomat->Ambassador.
How do we determine who gets access? Essentially it boils down to how effectively someone can report bugs and get us crash files so that we can figure out what went wrong and be available on #galciv on our IRC network to interact with directly.
So when you run into a crash in beta 5 of GalCiv II, look at the sticky posts at the top of the main GalCiv II forum and see how a proper report is. We'll be adding a few other people to the list before the second week of January when the first gamma is released.
The AI in GalCiv II Part 5
It's been a productive holiday season.
The AI that existed in Beta 5 (public) is dead. It's gone now. And it won't be remembered fondly. Not by me at least. It functioned. But the fact is, in a game that has no multiplayer the standard of quality on AI should be very very high.
It isn't enough for a game AI to be challenging. The AI needs to be more than that. It needs to play like a human being. Much of what I've done this holiday is go through and play the game over and over and think of different ways human beings would play the game. Then I've tried to replicate that. We want a player to feel like they're playing someone else on-line (minus the disconnects and swearing).
Here's what I've checked in so far:
There are a bunch of important changes in this that will have a significant impact on gameplay.
Here is what has been changed:
+ Various bug fixes
+ Various new helper functions
+ New function: CalculatePrimarySectorToConquer(). AI creates a set of sectors that it wants to conquer. It also creates a set of sectors it wants to protect as a priority.
+ Modified base ship design to put more effort into range.
+ New AI ship class: Scout
+ AI designs scouts
+ AI evaluates whether it can “trust” another player based no their past behaviors.
+ AI looks to see if someone is culturally attacking them.
+ AI looks for military threats (like someone massing forces).
+ AI looks to see if there are hostiles in sector and if so, avoids sending transports there IF it knows about the ships.
+ AI no longer “knows” where good planets are. Non-Terran AI knows where planets are and is better at scouting. Terran AI has to send scouts blindly.
+ AIIsPlanetKnown() determines whether the AI knows what’s going on on a given planet.
+ AIIsShipKnown() determines if the AI knows about the existence of a given ship.
+ AIFindUndefendedPlanet() gets a sector ID and looks to see if it knows about any undefended planets.
+ AIIsSectorFocus() checks to see if a given sector is of interest to the AI.
+ Continued (and failing) attempt to get the AI to build key planetary improvements on its planets.
+ AI builds scouts
+ Tweaks to what kinds of ships the AI will build to be “smarter”
+ THE END OF THE COLONY RUSH. Colony rushes were wrecking the AI economy because colonies now have a significant upfront cost. Now, the AI will take a break from colonizing in order to build up what they have so that their economies stay strong.
+ Smarter choices when building ships. AI was going broke in cases due to buying ships.
+ AI temporarily no longer leases any ships
+ AISetDestination() modified to use new SDS/AI classes.
+ SDS/AI uses new AI functionality (discussed below)
+ AIFindColonyDestination()
+ AI can only colonize planets it knows about.
+ AIFindConstructorDestination()
+ AI will try to bail out colonies that are under alien influence through its own influence starbases.
+ Various fixes so that the AI will intelligently find a new destination after its first destination changes (or is destroyed) mid-turn.
+ AI designs escort ships
+ AI now builds escorts
+ AIFindEscortDestination() will take escorts and look for transports to escort so that they have some defense.
+ Transports are now designed with more speed in mind.
+ Transports will run away from hostile ships.
+ AIFindTransportDestination() looks for planets to conquer. Totally new tactics than old system.
+ AIFindScoutDestination() looks for destination for scouts. Terran AI has to send it to stars, non-Terran AI will send it to planets since it can see planets thanks to starting with Stellar Cartography.
+ AIFIndMilitaryDestination() totally new way of deciding which ships to go after. It’s MUCH smarter.
+ AI at higher levels uses rally points, sends ships to rally points and then builds fleets there.
+AIFindMyColonyUnderAlienINnfunce() finds a colony that is under serious risk of alien influence and returns it so that it can be countered.
+ Fixed some bugs with AI accidentally looking at Local Player (the human player) instead of the player passed in.
+ Changed the way approval rating on colony is calculated so that tax rate isn’t tied to population anymore. Population causes unhappiness and tax rate does but they are not intermixed.
+ Fixed bug where population would grow until approval was at 30% but population would start shrinking at 40% so you would have weird jumping in population.
+ Changed (now that the manual is printed) how much money different government types give: 10% for Republic, 20% for Democracy, 30% for Federation. Before you just got ridiculous amounts of money.
+ BUG ALERT: There are cases where ships are not being destroyed so you end up with ships on the map that have 0 hitpoints. Same as in planets. Not sure what the cause is but it was wreaking havoc so I put in a TEMPORARY hack fix into RemoveAIShipsFromPLanet() or whatever it’s called so that if a ship has no hitpoints and the ship is not marked as destroyed that II destroy the ship. This needs to be fixed correctly.
+ Lowered cost of upgrading ships.
+ Made whether a given player can see an object part of the base game object class.
+FindClosestLocalTransport(Parameters). Depending on the parameters, will find a transport in the current sector.
+FindCLosestUndefendedEnemeyPlanet(Parameters). Looks throughout the galaxy for an undefended planet based on the parameters you give it.
+ScanSector() Tells the AI to scan around them to catalog what planets and ships they currently know about and put it together into a list.
+ Tons of tweaks to make the AI better at targeting specific ships and focusing its military might effectively.
+ AI won’t just willy nilly send its ships off to the next battle, they’ll stick around even after your defenses are gone until the transports have come and conquered. Only applicable at higher difficulty levels. Naturally with our luck all this work (which was significant) will get ignored in reviews since many reviewers play the game at beginner and don’t’ see the AI really in action.
+ Tons of tweaks and adjustments to how the AI plays out its strategies.
+ AI will sometimes report to the player that it knows what the player is up to. I.e. you mass up ships next to its planets and the report window may say “We know what you’re doing”. IF there’s time, I’d like to have it come up with a snarky “Well duh, we play strategy games too” type dialog.
+ AI detects ship massing and will silently try to prepare itself for attack. It pains me to have all this counter-reaction going in and the human player may not ever even be aware that the AI is aware of the old “I’ll stick a bunch of big ships and transports next to their planets/cities/whatever and then suddenly attack” trick.
+ Engines use less size
+ Life support uses less size
+ Initial colony maint cost lowered from 25 to 20.
+ Cleaned up starbase modules so that they follow more logically. Also, battle stations is required to get any of the other starbase defense ones (was getting annoyed wading through all the modules all the time).
There's still more to do, but not that much more. The key modules are now in.
Fun from last night..
The AI difference from Beta 5 to now is..well just night and day. Beta 5 as far as I'm concerned had no AI. Sure, the ships moved around and such but that was about it.
Now the AI reacts to things like influence starbases. It'll try to counter your influence star bases with its own. Some races will try to do a culture attack on you.
And when it comes to combat, no more willy nilly sending ships around ineffectively. They focus on specific goals and mass up for battles to take those goals.
They will identify a threat, determine what htey need to kill it and then put together the appropriate force. No more pathetic "Look, it's a lone fighter attacking my mega fleet".
In this example, I had a huge fleet massed for attack. I was pretty impressed with it. But then the AI massed an even bigger fleet. Some AI players go with fighters, others with capital ships, depends on the AI module.
One late game battle was pretty painful, my brand new "Debbie" (my wife's name) class battle ship was alongside a bunch of "Victory" (older model) class battle ship and the Drengin's fighters were powerful enough to take out the Victory class ships on their own. (speaking of which, I significantly decreased the upgrade cost on ships as a result).
Here's some cool battle scenes from last night:


If you look closely, you can see the Drengin fighters, they're itty pitty but they're nasty little buggers.
Also, the AI is MUUUUCH better at adapting its weapons. In Beta 5 the weapon analysis went like this:
IF (I am at war) THEN (Find most lethal enemy and counter their weapons).
Sounds good on the surface. But it's stupid. The Drengin and Altarians had been battling it out all game and the Drengin were finishing them off while I had built a huge fleet of ships that were perfectly suited for whacking the Drengin.
So the algorithm changed:
IF (I am at war) THEN (If my most lethal enemy is much weaker then me) THEN (Look at the most powerful military in the galaxy and factor their weapons and defenses into my counter measures)
