Page 1 of 5

Let's remove groupAI feature from Spring

Posted: 06 Oct 2007, 14:50
by BigHead
Edit: Please read the post before replying, thanks :)

You all propably think: If he doesn't like them why doesn't he simply stop using them?
The reason is that If you're a new player to Spring it's very complicated. Having groupAIs only adds to it's complexity. Also due to it's name ppl think that it must be something really useful and that they should use it which is confusing.
Lua can do everything groupAIs can. Actualy the only remaining useful AI is the mex upgrader (and musicAI but that's different not exactly AI). I am willing to rewrite it as lua widget. Mods that use morphing will have morph button and mods that don't will be able to add "upgrade mexes" button to it's builders.

I don't suggest removing the functionality completely. I'm just asking for new checkbox "Use groupAIs" which would be unchecked by default in the settings. If unchecked there would be no groupAI button in the commands panel.

Facts:
- GroupAI functionality will still be in Spring. It will only be hidden by default. If you're l33t player, you'll be able to enable it.
- However you wouldn't want to do that becouse the only groupAI everyone ever use - mex upgrader will be implemented by a new button for builders that can upgrade mexes.

Posted: 06 Oct 2007, 14:52
by AF
lua cant do everything groupAI can. Lua would require engine patches for that.

GroupAI have a use, they just require a little TLC for their interface. The ability to execute native code is powerful and we shouldnt throw it away.

Re: Let's remove groupAI feature from Spring

Posted: 06 Oct 2007, 14:55
by BrainDamage
BigHead wrote: I don't suggest removing the functionality completely. I'm just asking for new checkbox "Use groupAIs" which would be unchecked by default in the settings. If unchecked there would be no groupAI button in the commands panel.
in the linux config, it's already present, so i guess the option is available for windows too, it just doesn't have the gui, probably just the registry setting atm

Posted: 06 Oct 2007, 14:56
by LordMatt
I don't think it should be removed (I use the mex upgrader group AI for example).

Posted: 06 Oct 2007, 15:01
by BigHead
AF: You wrote yourself that groupAI development is dead.
AF wrote:Our group AI system is stone dead, the only group AI I can think of that could still be in use is my music AI which will probably be replaced soon
There are no new groupAIs in development and there are no useful ones either. The ability to execute native code is useful only for hacks like your musicAI. However hack is a hack, not a solution.

LordMatt: Please read the post before replying :)

huh

Posted: 06 Oct 2007, 15:43
by rcdraco
Just don't use them moron, they help more then they hurt, and to my knowledge, there is no mod where using the group AI actually hurts that much. Metal Makers have AI, Nanoturrets have that auto repair AI, Group AI, just makes it Easier if anything. It can't be explained much easier then it already is. There is no person before you that posted this, so I guess only you must hate it.
Joined: 12 Jul 2007
I rest my case.

Re: Let's remove groupAI feature from Spring

Posted: 06 Oct 2007, 16:23
by ZellSF
Brain Damage wrote:
BigHead wrote: I don't suggest removing the functionality completely. I'm just asking for new checkbox "Use groupAIs" which would be unchecked by default in the settings. If unchecked there would be no groupAI button in the commands panel.
in the linux config, it's already present, so i guess the option is available for windows too, it just doesn't have the gui, probably just the registry setting atm
That also killes LuaUI,or at least parts of it (the widget selector).

Posted: 06 Oct 2007, 17:08
by trepan
Assuming that you just want the GroupAI buttons removed from the control panel:

1. LuaUI can do that for you, look at LuaUI/layout.lua

2. LuaRules can also remove the groupAI buttons with Spring.RemoveUnitCmdDesc()
(this method will not work easily as a user configurable option, you'd have to export the
user's preference as a LuaUI global function, or as a LuaRules:unsynced globabl call-in)

NOTE: the aiselect command is hardcoded to work as both a unit action, and as a
global action;it wouldn't be blocked if a widget decided to use it via the LuaUI
Spring.SendCommands() call-out.

Posted: 06 Oct 2007, 17:19
by BigHead
I don't want to remove the button from my copy of spring, I still use the mex upgrader widget. The idea is to hide the button by default in vanilla Spring and replace it's only currently used functionality (mex upgrader) with lua.

Posted: 06 Oct 2007, 17:22
by imbaczek
this idea requires work to do, and (most of ;)) the dev team doesn't have to fix stuff that's not broken.

additionally, I too use the mex upgrader AI 8)

Posted: 06 Oct 2007, 17:26
by AF
Bighead, groupAI development is dead. This doesn't mean we have to get rid of groupAI interface completely.

If people stop using a power socket in your house is that justification for removing the socket from the wall?

Posted: 06 Oct 2007, 17:35
by BigHead
AF wrote:If people stop using a power socket in your house is that justification for removing the socket from the wall?
Power sockets are ugly so I would propably try to hide them somehow. Nice analogy isn't it?

imbaczek: You only need to add the option to the settings. I promised to take care of the lua necessary to replace MexUpgraderAI.

Btw: Yeah, the vote is 4:5. Two more people click yes and the white house is ours :)

Posted: 06 Oct 2007, 18:02
by Sleksa
If you can't say something constructive, don't say anything at all.

Posted: 06 Oct 2007, 22:59
by LOrDo
Story of your life eh Sleksa?

Im not opposed to removing groupAI's. Until we convert every groupAI to an LUA script that is.

Posted: 06 Oct 2007, 23:23
by BigHead
So far it seems that people use only mex upgrader and dynamic music AIs. Both will be replaced by lua* in future. What other AIs do you think should be converted to lua?

Facts:
- GroupAI functionality will still be in Spring. It will only be hidden by default. If you're l33t player, you'll be able to enable it.
- However you wouldn't want to do that becouse the only groupAI everyone ever use - mex upgrader will be implemented by a new button for builders that can upgrade mexes.

*MusicAI can enabled by lua without having the groupAI button. However Spring will hopefuly have native music player avaliable to lua one day.

Posted: 07 Oct 2007, 00:37
by Felix the Cat
I use:

Mex Upgrader GroupAI
Metal Maker GroupAI
Radar GroupAI.

As AF said, the ability to execute native code instead of interpreted LUA is a powerful function and there is no reason not to keep it in. The Metal Maker GroupAI is (at least it should be) more efficient than a LUA Metal Maker script.

Posted: 07 Oct 2007, 01:59
by Saktoth
Metal Maker AI is more versatile than the current MM lua. Firstly the version of the MM lua that i use is buggy and the current version doesnt work at all. It also comes as default with the engine and thus you can just scream at noobs to turn it on rather than having to download it.

I can use MM AI on XTA's moho mines, to stop them raping my energy economy.

You can also use MM AI on anything that drains e while on, potentially weapons, radars, jammers and other things (though AFAIK there is no mod where this is needed ATM).

Some people do use the radar AI as well.

However, the point here is not 'is it useful' but 'should it be a default part of the interface'? Im of the opinion that more lua scripts should be included with spring, or a more obvious way to get them (which comes back to lobby issues).

There is, however, the worry that lua can crash some peoples games, or slow down their loading time etc. AFAIK no AI does this (except that builders AI that nobody uses).

Still, ask this question again when all the widgets have fully replaced in complete functionality the AI's, then perhaps you will get a more favourable response.

Re: huh

Posted: 07 Oct 2007, 02:28
by Erom
rcdraco wrote:
Joined: 12 Jul 2007
I rest my case.
Even if you don't agree, arguing this way with someone is utter, utter, UTTER FAIL. If someone raises a point that is obviously wrong, prove them wrong. After all, it should be easy if they are so wrong. But don't attack them based on something that has NOTHING to do with the discussion at hand.

Posted: 07 Oct 2007, 02:33
by Snipawolf
Indeed, this guy has, so far, done more for Spring than you have. Heh heh heh heh heh :twisted:

http://spring.clan-sy.com/phpbb/viewtopic.php?t=12145

Re: huh

Posted: 07 Oct 2007, 02:37
by Neddie
rcdraco wrote:Just don't use them moron, they help more then they hurt, and to my knowledge, there is no mod where using the group AI actually hurts that much. Metal Makers have AI, Nanoturrets have that auto repair AI, Group AI, just makes it Easier if anything. It can't be explained much easier then it already is. There is no person before you that posted this, so I guess only you must hate it.
Joined: 12 Jul 2007
I rest my case.
Not a valid form of argumentation, Draco.