For updating the computer AI more fully for Twilight of the Arnor, I'm creating tournament maps. This way, I can help balance the different races while at the same time improving the AI plus creating more tournament maps.
Today's example is the Drengin Gambit. I play as the Drengin Empire in a medium map.
Ignore the quality of my screenshots as I'm running in the debugger.
Drengin default tech tree
I start out with a kick ass planet.
AI Improvement #1: Better scouting
The AI is not good enough at scouting out planets. One of the things that I find amazing is when people try to say the AI is "cheating" because it "knows" where the planets are. Not only does it not know, it's not terribly good at scouting planets.
(30 minutes pass)
Okay, the AI has better scouting ability. Before it would go to stars, now it sees if it can tell if it has planets and goes there first. Pretty obvious but this code was written back before players could see planets on the mini map.
Key Drengin technology: Xeno Slavery
One of the things we're pretty proud of is how unique each technology tree is. The changes aren't just cosmetic, they are to the bone of each civilization. Of course, it makes balancing a pain but we should have this nailed down by December of 2007. Cough.
AI Improvement #2: More aggressive at getting galactic resources
BUG:
A lot of techs are missing animations
PERFORMANCE BUG: Every time you click on the map, UpdateTechnologyContext() is called which requires calculating the number of turns it takes to finish your tech.
Not a serious issue, but anything we can do to improve performance is good. This would fall into the piddly but still.
One of the new features that is nice is that the AI can auto design ships. I'm always curious to see if it can do a better job than I do.
BUG: AI designed ship has a goofy name.
Star Fury Template?
AI Bug:
So, Torians. Whatcha doing there?
(20 minutes later)
Okay, let's see if we can improve this...
LOTS of pain:
The improvement code has all kinds of problems. This is going to take awhile to get into. It's just...painful. The original coder of the planetary improvements was a lot smarter in terms of coding. The improvements are done as a database. So getting access to things like pMyColony->HowManyImprovementsLikeThisDoIHave(pImprovement) are very difficult. It's a real sausage factory.
The biggest issue I'm seeing in the improvement code right now besides the problem with it getting obsessed with a particular improvement, is that if planet A is building super project X, there's nothing stopping planet B from trying to build it too. The game rules then abort the attempt since that's cheating but planet B will then, next turn, try to build it resulting in it not building anything.
BUG: Drengin don't get enough upgrades to economic starbases.
Solution: Drengin need some techs that provide starbase upgrades.
Drengin gain a new tech and two new starbase modules.
Going to attempt an ascension victory.
Relations presently:
After taking all the ascension crystals..
AI Bug: Arceans didn't research interstellar contruction.
BUG: Tournaments don't seem to support the Ascension Victory Condition. At the very least, they don't display the progress.
More to come. The sausage factory awaits!