Forgon wrote:Seizing oil
- If a construction unit aims for an oil derrick yet comes second, the designated unit should target the closest alternative.
Yep, i guess it's a good idea.
Forgon wrote:- If none exists, a defensive structure may be built to conquer it
This, however, is highly situational.
(1) In most cases i, as a human, would prefer adding two machinegun viper wheel tanks to my army to building a machinegun tower near a derrick. I could use these two tanks to either destroy multiple undefended derricks, or scare the enemy army away in direct confrontation and gain control of more territory, hence more economy. The only case where machinegun towers are viable are remote derricks on large maps - diverting army to which is more costly. But determining this situation requires terrain analysis.
(2) I believe this is one of the features that's good in AI vs. AI matches, but i'd rarely use this trick against humans on tasteful maps.
(3) This is a feature that i feel annoying rather than delightful for new players.
For these three reasons, i'm holding this back until terrain analysis.
Forgon wrote:- , but as soon as there is a new one and no other construction unit is closer, building should be halted in its favour. I consider the lack of all this Nullbot's greatest weakness.
- Combat engineers should be sent to capture oil for their speed.
The time window when combat engineers are available and hover trucks aren't is very slow. Also, oil gets actively captured only at game start, and in only few setups you have engineers but not hovers available at start.
Forgon wrote:- If oil barrels are only accessible through water, Hovers should be built to seize them. This should pay off in almost every case given the poor adaption to geography and consequent underuse of Hovers. Alternatively, the behaviour could be triggered by a threshold of additional power to be gained though that is too fishy for me.
I didn't try to adapt NullBot to all possible crazy maps. Having large amounts of oil barrels pre-placed is just one of the things that makes the map crazy, by which i mean skewing the strategies you use dramatically. I believe it's generally a good idea to let NullBot adapt to such maps, but not at the cost of the code complexity, so i delay this stuff until i manage to deal with code complexity.
Forgon wrote:- Own structures blocking oil derricks from being rebuilt (e.g. on Sk-Rush) should be demolished temporarily.
Yep, agreed.
Forgon wrote:- With construction units to spare, those could build defensive structures next to enemy derricks proactively
Again, only if derricks are remote. Otherwise it's a waste. Also, it's much better to build said structures not next to the derrick, but at a shooting distance in a terrain-defended position (especially stuff like mortars).
Forgon wrote:
Combat
- Attacking units should not bypass enemy oil derricks along their path, but always destroy them before advancing.
That should already be the default behavior, i don't see wouldn't this happen. Moreover, most units will fire-on-move even on move-command.
Forgon wrote:- Pursuit ought to last longer, e.g. right to the end of a base.
What do you mean by pursuit? NullBot attacks as long as it has large army, and retreats when it thinks it doesn't have enough army to engage. There's no notion of pursuit, it doesn't care if he follows anybody or just attacks the base. You might be referring to the droid's default micro-AI behavior that NullBot doesn't control.
In any case, i don't understand the point of pursuit (eg. the "bring back the pursuit secondary order" debate), because you shouldn't ever let your single units split away from your army and go to enemy bases alone, that'd be weird.
Forgon wrote:- Repair closer to the front, either by units or facilities ahead of the base would reduce downtime in the army.
Yep. Support for repair droids would also be great in general.
Forgon wrote:- Some units, such as sensors or trucks should plan their routes around known enemy locations.
Yeah, and it requires making a custom pathfinding implementation (as part of terrain analysis).
Forgon wrote:- Any estimation of combat outcomes would be great. Sometimes very few units charge into many.
This shouldn't happen unless they're trying to rejoin the army. I agree that'd be a good feature - ideally a good AI shouldn't engage in combat at all unless he's sure he's winning.
Forgon wrote:
- Sensors and Commanders could scout and lead units, especially artillery.
Commanders should never be in the front lines. They're too expensive. NullBot doesn't use them though.
Sensors are moving around freely though, it already works that way.
Forgon wrote:
Trucks
- Fewer trucks should be made
Many strong competitive players prefer starting the game with three factories before all other buildings, constantly producing trucks. This helps building the game faster and capturing the oil faster and eventually pays off.
Forgon wrote:- and they should hunt power resources all the time instead of idling in large groups or trying to construct buildings with too little power available. Once their production limit is reached, efforts to make more must not block factories!
Agreed. I already tried to avoid blocking factories as much as i could.
Forgon wrote:
Buildings
- There should only be so many factories as can realistically keep producing.
NullBot builds more than 2-3 factories only when it sees all of them occupied. It should already work that way. However, the game changes (production times of different units changes, more classes of factories appear, modules appear), so the estimates skew around, which makes things difficult.
Forgon wrote:
- Defensive structures should guard the entry, not the inside or backside of a base.
Yep, needs terrain analysis.
Forgon wrote:
- Sensor Towers should not be built so close that their ranges overlap.
Should already work that way, strange.
Forgon wrote:
Orientation
- If there was an easy way to teach a bot how to read a map and understand its geography, devs would have found it
Coordination
- Trucks should not be used to seize derricks in an allied base but handed over so that he can rebuild.
I don't know how to rigorously define "allied base". If the player is so slow that NullBot can capture his oil before him, then he probably should do so. You can make NullBot give your trucks by saying "!nb truck" in chat. Your own base, however, may not be the safest place to bring trucks, because it was recently destroyed; it's better if he just gives you a truck in a safe location, and you decide what to do with it.