Inheriting buildqueues and guardgroups
Moderator: Moderators
- Targ Collective
- Posts: 202
- Joined: 12 Nov 2005, 14:16
Inheriting buildqueues and guardgroups
Fast on the heels of my last query... And a sight more complicated.
If a group is guarding a unit, and the unit is destroyed, the entire group goes inert. If a con-unit is programmed with a buildqueue and the con-unit is destroyed, the guards do not inherit the buildqueue and go inert.
Why not assign a new leader in a group, inheriting the group's commands (if applicable - a Tech 1 con unit can't build fusions, an AK or Peewee can't build full stop...)
This is way up there in bells-and-whistles land, but I thought it worth mentioning in case any of the devteam have a spare moment. I'm aware that this sort of dynamic grouping would be a nightmare to code, and I'm aware that the particular commands attached to construction complicate matters further. This has never stopped the devteam before to my knowledge; otherwise I wouldn't mention it.
So am I asking too much...?
If a group is guarding a unit, and the unit is destroyed, the entire group goes inert. If a con-unit is programmed with a buildqueue and the con-unit is destroyed, the guards do not inherit the buildqueue and go inert.
Why not assign a new leader in a group, inheriting the group's commands (if applicable - a Tech 1 con unit can't build fusions, an AK or Peewee can't build full stop...)
This is way up there in bells-and-whistles land, but I thought it worth mentioning in case any of the devteam have a spare moment. I'm aware that this sort of dynamic grouping would be a nightmare to code, and I'm aware that the particular commands attached to construction complicate matters further. This has never stopped the devteam before to my knowledge; otherwise I wouldn't mention it.
So am I asking too much...?
- Felix the Cat
- Posts: 2383
- Joined: 15 Jun 2005, 17:30
GroupAI really needs to not be tied to group numbers. You can't bind a unit with group AI to a numbered group and still retain the AI; you can't bind a member of a numbered group to a groupAI and still retain the group number.AF wrote:groupAI group AI groupAI GROUPAI!!!!!!!
Until then, this limits a lot of your "GROUPAIGROUPAIGROUPAI" spam.
Why not just shove the lot under the groupAI then?
i dotn knwo why this couldnt easily be doen with a groupAI, assign the helpers to a grouPAI then tell them all to help the cosntructor, then once the cosntructor is destroyed you can make the grouPAI fire off the necessary comamdns and autodestruct itself thus leaving the cons to do what ti said.
Or better yet simply assign ti to a wind generator soemwhere, you dont need to actualyl assign it to a unti to be able to make it have control, it'll just act globally doing it for all instances fo untis -> guarding cosntruction unit.
Thus you CAN have a group where some of the units are subject to groupAI's and some are not.
So please if I didnt know what i was talking about I wouldnt be praising the idea of groupAI.
Would you rather we waited with this at the end of a very long Todo list? Or implement a groupAI in a day?
i dotn knwo why this couldnt easily be doen with a groupAI, assign the helpers to a grouPAI then tell them all to help the cosntructor, then once the cosntructor is destroyed you can make the grouPAI fire off the necessary comamdns and autodestruct itself thus leaving the cons to do what ti said.
Or better yet simply assign ti to a wind generator soemwhere, you dont need to actualyl assign it to a unti to be able to make it have control, it'll just act globally doing it for all instances fo untis -> guarding cosntruction unit.
Thus you CAN have a group where some of the units are subject to groupAI's and some are not.
So please if I didnt know what i was talking about I wouldnt be praising the idea of groupAI.
Would you rather we waited with this at the end of a very long Todo list? Or implement a groupAI in a day?
- Targ Collective
- Posts: 202
- Joined: 12 Nov 2005, 14:16
GrouPAI sending comamdns and what nto ahev the same callback interface as a global AI minus a cheat itnerface.
So all you need to do is assignt he groupAI to any single unit and then it'll be able to exercise control voer any of your units.
That's how the cursor AI worked, it was assigned to an idle building like a wind gen or a fusion reactor (could have used a peeweee even but greater chance that it'd be killed), and the AI worked untill either you unassigned it or that building/unit was killed.
I'll consider doing this groupAI for tomorrow, but any groupAI's like this I'm going to force them to be attached to targetting facilities (I wont make it dependant on arm/core tho).
So all you need to do is assignt he groupAI to any single unit and then it'll be able to exercise control voer any of your units.
That's how the cursor AI worked, it was assigned to an idle building like a wind gen or a fusion reactor (could have used a peeweee even but greater chance that it'd be killed), and the AI worked untill either you unassigned it or that building/unit was killed.
I'll consider doing this groupAI for tomorrow, but any groupAI's like this I'm going to force them to be attached to targetting facilities (I wont make it dependant on arm/core tho).
- Targ Collective
- Posts: 202
- Joined: 12 Nov 2005, 14:16
I'm not sure if that's such a good idea. This facility would be most useful in the early game when cadres of C-units are a-wondering the map mith mexspots in mind. By mid to late game this type of micro would be less important.
EDIT: How about linking it to the Commander? That would be incredible, there would be a balanced penalty to commbombing which makes the commander less of a mobile nuke.
EDIT: How about linking it to the Commander? That would be incredible, there would be a balanced penalty to commbombing which makes the commander less of a mobile nuke.
Last edited by Targ Collective on 05 May 2006, 15:19, edited 1 time in total.
hmmm, I'll have to find another solution then....
edit:: Yah ti seems I'll have todo that, though rather I'd make it check if you still have a commander every minute and then it'll disable itself and unassign once that happens, so you could keep the feature by building decoy commanders, or use them to regain the feature
edit:: Yah ti seems I'll have todo that, though rather I'd make it check if you still have a commander every minute and then it'll disable itself and unassign once that happens, so you could keep the feature by building decoy commanders, or use them to regain the feature
- Targ Collective
- Posts: 202
- Joined: 12 Nov 2005, 14:16
- Targ Collective
- Posts: 202
- Joined: 12 Nov 2005, 14:16
- Targ Collective
- Posts: 202
- Joined: 12 Nov 2005, 14:16
To detect the commander I have the following statement
if(ud->sicommander == true)
but that is true for both Commanders and decoy commanders, thus I cannot tell the difference.
Thus I would ahev to do
if(ud->name == string("ARMCOM") etc..
And that would break compatability with other mods such as EE, or gundam, or WD or AATA etc....
I term it as a abd practise to release mdo dependant AI's now, especially after I got rid fo the nasty hardcoded buildtrees of NTAI 0.28 in favor fo the unviersal build trees and moddable routines that came afterwards....
if(ud->sicommander == true)
but that is true for both Commanders and decoy commanders, thus I cannot tell the difference.
Thus I would ahev to do
if(ud->name == string("ARMCOM") etc..
And that would break compatability with other mods such as EE, or gundam, or WD or AATA etc....
I term it as a abd practise to release mdo dependant AI's now, especially after I got rid fo the nasty hardcoded buildtrees of NTAI 0.28 in favor fo the unviersal build trees and moddable routines that came afterwards....
- Targ Collective
- Posts: 202
- Joined: 12 Nov 2005, 14:16
I can see that would be a problem. Unitname would have to be the way to go, as far as you can do it anyway.
To make things as mod-compatible as possible you could ask the user to edit a given textfile from the console in the case of an unrecognised mod. The more popular ones could be written into the AI itself using a wildcard system to get around version numbers, like you suggested Submarine should use for config files.
You could even affect a player's economy based on the Commanders's presence this way, theoretically. Now that would turn commbombing into a sacrifice...
EDIT: Didn't read all of your last post, sorry. Until the Spring engine can distinguish between commanders and decoys in a universal fashion, this is the only way. Which means asking the devteam to create a Decoy flag...
To make things as mod-compatible as possible you could ask the user to edit a given textfile from the console in the case of an unrecognised mod. The more popular ones could be written into the AI itself using a wildcard system to get around version numbers, like you suggested Submarine should use for config files.
You could even affect a player's economy based on the Commanders's presence this way, theoretically. Now that would turn commbombing into a sacrifice...
EDIT: Didn't read all of your last post, sorry. Until the Spring engine can distinguish between commanders and decoys in a universal fashion, this is the only way. Which means asking the devteam to create a Decoy flag...
I have an idea that might solve that, manually parsing sidedata.tdf
Sadly I cant get chat messages from the console with groupAI's, I'd have to do a little trickery involving Ntai which means I'd need to have an instance of Ntai actively running (beat NTai before the end and the whole thing falls apart =( )
Sadly I cant get chat messages from the console with groupAI's, I'd have to do a little trickery involving Ntai which means I'd need to have an instance of Ntai actively running (beat NTai before the end and the whole thing falls apart =( )
- Felix the Cat
- Posts: 2383
- Joined: 15 Jun 2005, 17:30