I'm enjoying my time back on Galactic Civilizations. The team is working on lots of neat things for the upcoming version 2.0 update which is due this month.
Here are a few highlights:
Administrators
There's a new resource called administrators. Your capital world provides N of them where N is based on the size of the map. Building a starbase consumes one. You can get more by researching government related techs but that means you're not researching weapons or economy techs.
The practical effect is that it takes a little pressure off the idea that you have to spam out starbases and also gives some advantages to smaller empires who can now choose to use their starbases to improve morale and productivity in their home systems.
Better diplomacy
When I play other games, I tend to cheese. There have been patches made for games over the years to counter some of my cheese. There's plenty of diplomacy cheese in GalCiv also and thanks to player feedback, I was able to b-line my way to it.
But it wasn't just cheese that I wanted to improve on. I wanted the AI to do more trading and less "give me stuff please". So I worked on the diplomatic system to work harder on coming up with trades. It'll probably be one of the first things players notice. More AI talk with more interesting trades.
One new system I spent some time on was the concept of redlining.
When I inevitable have to work on contracts in my "day job" at Stardock/Mohawk/Oxide I do what is called redlining. That is where I make marks on a proposal as to why I think we should pass on it or cross out things that won't work for us.
One of the first things I did when cheesing GalCiv was to use the old technique of manipulating the aliens to do things that weren't in their best interests. Now, to be fair, most people don't do this kind of thing but once you do it, it's hard not to do it.
So in response, I implemented a redlining system that you code-geeks might find interesting:
I noticed that the game passes around the trade offer a lot:
VOID IAIOpponent::AppraiseTradeOffer(CDiplomacySystem::ActiveTradeInfo* pTradeOffer, CDiplomacySystem::ActiveTradeInfo* pOtherSideTradeOffer, ObjectID forPlayerID, ObjectID otherPlayerID)
See the pTradeOffer there? It was the full detail of what was being offered and the AI looks at it in lots and lots of different ways.
So what I did is add a vector of redlines to it. That is, the AI can be evaluating an offer and say "Hey, this tech is too valuable" or "Those guys are too tough" and add that redline to the trade offer.
Then, when it gets back to you, you see why they rejected it. And in the process of implementing it, I went ahead and got rid of some of the things I was exploiting like how easy it was to get other people to do your dirty work (you can still do it but you need to have a lot of persuasive ability or have a much better deal or both).
UI: This will be controversial
I don't expect this next change to be universally loved and I haven't gotten approval yet from the GalCiv III lead designer, Paul Boyer to check this in.
But anyway, I really really REALLY hate the ship list thing. That is, when I go to pick a ship to build, it gets filled with tons of auto-generated ship designs. None of the filter options work for me (i.e. I don't like them).
So instead, what I did was make it so that when you first load up the game, only your favored ships are shown and the other ones are folded up. Then I made it so that if you click on the label (like Beam Ships) it'll unfold the other ships.
Now, the trickier thing I had to do was when designing a ship. I wanted my ships that I designed to automatically show up in the favored list. It was annoying to design a ship and then have to go look for it.
So now, when I design a ship and save it (in this case, I'll call it the Intrepid class).
Ironically, this proved a lot tougher than you'd think because the ship design screen deals primarily with saving files where as the ship build list actually deals with UI handles (which don't exist when you design a ship since you haven't added that ship to a listbox list yet).
But it's done.
There's a lot of other stuff going into 2.0. Today I'm working on late game AI stuff.
This free update is due this month. Stay tuned!