Post by sdonai on Jun 27, 2011 9:13:18 GMT 10
I've noticed that even though Cpt. Jameson is pretty god damn amazing, The AI its self is pretty lacking. I've generally noticed it's limited to just 3 things.
straight forward path finding.
first action an entity takes is to rotate so their command modual is facing yours.
Fireing is limited to timed bursts
Adding a more complicated AI, In my opinion would make alpha a better game. Since it's pretty much already established that there are sort of clans out in space. It wouldn't be hard to imagine that they would work together.
Though going on and describing different strategies that the other space ships might take, is in my opinion, a waste of time. Instead i'll let you know how I would go about writing the function that would handle AI coordination. So here's some psuedo code.
;this class will add a little depth to the enemies. basically
;laying down the foundation for any conditional tree to grow on
;The class isn't for handling the individual entity, but exists for the
;entity to interact with. allowing the entity to take on roles, drop
;out and to switch position within the strategy and even switching
;strategies
Class Clan_Status
[different variable in class]
Strategy ;(variable holds which strategy the clan is using)
Clan_Handle ;(in order to identify a clan and be able to have multiple)
Entity_Handle ;(holds the handle of the instance)
Team_Position ;(which role the instance is taking on)
progress_micro ;(a flag to identify the instance's progress on the
;role. I like to use Char flags instead of numbers. It's a lot easier to read
;"moving away from captain", "in position", "deciding", "dying" then
;"234","333","1","0"
progres_macro
;for example if the strategy calls for a baiting manuver in order to get
;the captain to rotate a certain direction so that a group of off map
;attackers can flank the captain's rear.
;this can be the single flag that triggers the attack. in the strategy it ;can have this conditional statement When the "baiting"
;role has the progress_micro flag of "dying",
;set progress_macro to "ATTACK"[/color]
[/quote]
(i'll add in the strategy class later, got to run)
straight forward path finding.
first action an entity takes is to rotate so their command modual is facing yours.
Fireing is limited to timed bursts
Adding a more complicated AI, In my opinion would make alpha a better game. Since it's pretty much already established that there are sort of clans out in space. It wouldn't be hard to imagine that they would work together.
Though going on and describing different strategies that the other space ships might take, is in my opinion, a waste of time. Instead i'll let you know how I would go about writing the function that would handle AI coordination. So here's some psuedo code.
;this class will add a little depth to the enemies. basically
;laying down the foundation for any conditional tree to grow on
;The class isn't for handling the individual entity, but exists for the
;entity to interact with. allowing the entity to take on roles, drop
;out and to switch position within the strategy and even switching
;strategies
Class Clan_Status
[different variable in class]
Strategy ;(variable holds which strategy the clan is using)
Clan_Handle ;(in order to identify a clan and be able to have multiple)
Entity_Handle ;(holds the handle of the instance)
Team_Position ;(which role the instance is taking on)
progress_micro ;(a flag to identify the instance's progress on the
;role. I like to use Char flags instead of numbers. It's a lot easier to read
;"moving away from captain", "in position", "deciding", "dying" then
;"234","333","1","0"
progres_macro
;for example if the strategy calls for a baiting manuver in order to get
;the captain to rotate a certain direction so that a group of off map
;attackers can flank the captain's rear.
;this can be the single flag that triggers the attack. in the strategy it ;can have this conditional statement When the "baiting"
;role has the progress_micro flag of "dying",
;set progress_macro to "ATTACK"
[/quote]
(i'll add in the strategy class later, got to run)