I've decided to start this topic to get people to take part in development of AI script files for SE5 (or at least to try to do it). One can say that this initiative is too premature, due to big changes in SE5 engine compared to SE4 and new AI algorithms. Well, probably, but nevertheless I think that basic principles, such as design creation, construction of facilities and vehicles and research queueing (maybe) will remain invariable.
Maybe some of us pretty happy with current structure of the scripts, but as well I think that others find them too limiting.
If we will end up with some solid and promising solutions, it wouldn't be a shame to sent them to Aaron.
So please post your ideas, suggestions and ready-to-use schemes here. I hope it will be a productive discussion.
Unfortunately, I'm not very good in AI modding (except some basic skills in AI_DC modding), but I'll try to make an example of possible AI_DC file to begin with. Note, It's just a slight expansion of an existing scheme.
// - my comments
> - changed syntax
code:
Name := Blahblah
Design Type := Attack Ship
Vehicle Type := Regular Ship
// other values: Colony Ship, Transport, Carrier (not to mention
// Sattelite, Mine etc) to avoid mess with hull type detection
Default Strategy := Optimal Firing Range
Size Minimum Tonnage := 100
Size Maximum Tonnage := 180
Num Must Have At Least 1 Ability := 1
Must Have Ability 1 := Weapon
// Must Have Ability shouldn't add a comp to design, but work as a trigger: "to design or not to design"
// alternatively this trigger could depend of Comp Family instead of Ability:
> Num Must Have At Least 1 Comp Family := 1
> Must Have Family := 25**
// the asterisk could be used as the pattern, ie: 25** matches
// all values from 2500 to 2599; for use with weapon picks primarily
Minimum Speed := 3
// should be actuall Standard Movement amount, not amount of engines
Desired Speed := 6
// due to changes in game physical engine (we could get even newtonian movement!) this section is rather questionable
Majority Weapon Family Pick 1 := 2501
Majority Weapon Family Pick 2 := 2502
Majority Weapon Family Pick 3 := 2503
Majority Weapon Family Pick 4 := 2504
Majority Weapon Family Pick 5 := 2505
Secondary Weapon Family Pick 1 := 2551
Secondary Weapon Family Pick 2 := 2552
Secondary Weapon Family Pick 3 := 2553
Secondary Weapon Family Pick 4 := 2554
Secondary Weapon Family Pick 5 := 2555
// all values match the 25** pattern
> Majority Weapon Spaces Per One :=150
> Majority Weapon Mount := Small Ship Mount (or code: Ssm)
> Secondary Weapon Spaces Per One :=150
> Secondary Weapon Mount := Small Ship Mount (or code: Ssm)
// Last 4 lines could replace the current usage of Majority(Secondary) Comp Spaces Per One := Weapon; for use in warships
Shields Spaces Per One := 200
Armor Spaces Per One := 100
Majority Comp Spaces Per One := 150
Majority Comp Ability := Weapon
Secondary Comp Spaces Per One := 150
Secondary Comp Ability := Weapon
// as in example with Must Have Ability this line could be replaced by this:
> Majority Comp Family Spaces Per One := 0
> Majority Comp Family := 0
> Majority Comp Family Mount := 0
> Secondary Comp Family Spaces Per One := 0
> Secondary Comp Family := 0
> Secondary Comp Family Mount := 0
// actually this section can be deleted at all, because the hull type will be defined in Vehicle Type
// and weapons will have their own section (Major/Sec Wpn SPO)
Num Misc Abilities := 1
Misc Ability 1 Name := Supply Storage
Misc Ability 1 Spaces Per One := 10000
// would be nice to see real values possible here, not integer only, ie: 28.3
// or alternatevely:
> Num Misc Comp Family := 1
> Misc Family 1 Name := 14
> Misc Family 1 Spaces Per One := 10000
> Misc Family 1 Mount := 0
// same about real values
Why I'm so persistent about replacement of Abilities with Component Families in comp calls? Well, I just think it's more flexible, especially then you want to add several different comps with same ability (stacking comp with combat bonuses, for example). Of course it will make script less "human-friendly" (this can be avoided by implementing the comments into the scripts, like "//" or ";" ) and will force modders to be very careful about comp families, but I think where are more benefits than defects in such approach.
[ May 26, 2004, 17:32: Message edited by: aiken ]