Page 1 of 3
Unrealistic Expectations
Posted: 04 Oct 2007, 20:31
by AF
Our AI development community has dried up. 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 by whatever bighead comes up with next.
There are 2 active AI developers (programmers) here. Myself and kloot. Both of us are committed in other areas and have real life things. I have aflobby, and my university to degree, and my summer holiday finished not long ago and things are picking up again.
So please don't feel hard done by when people start asking for all sorts in the AI forum and they don't get it. Its not because us AI developers are evil and like to sit on our arses all day.
First of all, despite what has been repeated by numerous members of the community, nothing, absolutely nothing, not even a single line of code has been done about lua <-> AI. There are lots of things AI makers can do with this sort of functionality that would improve mod support as well as providing us AI makers with a lot of tools that we're greatly in need of.
Not even a general glance or a discussion. You might here the odd grunt about sending commands but as I and any self respecting AI developer knows this is about as useful as giving a dollar to a rainbow fish. Its not enough. Its nowhere near enough. It isn't even 2 way communication. These grunts are to be ignored. When you need a pen would you be happy if you were then given an apple and expected to be able to write a 500 word essay with it?
On top of that, you have lua, and you can write gadgets. You can implement things that only run if the team is under an AI to help AIs. We cant build AI systems for each and every mod in existence, we have to deal with generic algorithms or hard user defined data. If you can give us a little help in your mod that would be very valuable. And it isn't hard to do either.
Sometimes a little lua side behavioural tweak can make an AI do a lot better. For example implementing certain rules to make sure AIs don't make certain mistakes by restricting building options.
And finally, the days of a mod having a nice and friendly AI developer pop up out of nowhere and develop a dedicated AI for you for nothing, with no affiliation with your modding team, all on the side ended years ago. Modders are fobbing off their AI responsibilities on their player base, and the player base lacks the skills.
Us AI developers generally gain very little in the way of thanks from most mod makers and have to work with the new people who enter the forums, and play the game, and figure it all out ourselves.
The players suggest new features, report bugs, give praise, scorn failure. Generally us AI makers and the people who contribute to our AIs to be able to play mods offline aren't recognized by mod makers.
To the few modders who actually looked into things and made an attempt, you are the true game makers in this community, you and the people who've spent time building AIs, fixing AAI configs, testing NTai toolkit, or fiddling with my TDF syntax for months, you deserve far more respect and recognition than your given.
Posted: 04 Oct 2007, 20:37
by jcnossen
As usual, accusing other developers that they don't spend their free time making an AI <-> lua binding for you, does not work.
You're probably going to reply that you didn't accuse anyone, but then why post it in big bold letters?
Posted: 04 Oct 2007, 20:38
by Acidd_UK
How dare you JC!
Edit: I still use the mex upgrader group AI.
Posted: 04 Oct 2007, 20:42
by Engine Of Darkness
I didn't made a mod, but I remember helping QMan with his AI. It was really awesome seeing it growing (I was the main tester I guess(I'm not sure about that though)) It's to bad that there's no more progress on QAI though

Posted: 04 Oct 2007, 20:48
by AF
Jelmer, if the other developers had simply said they cant or haven't the time, if that were the case, then you would be right, I would have nothing to say other than 'what a shame =('.
At the moment we have trepan telling us he'll do it. Trepan also says he has higher priorities. Everybody seems to have forgotten about it and it seems people are starting to blame us the AI developers.
On top of that, highlighting rocks and corpses in varying colours is a higher priority than single player support.
Us AI developers are too few in numbers and have far too many commitments already. Learning how lua is bound to spring and its internal API structures and an appropriate lua based mechanism for sending things both ways is not something we cna magic up in a moments notice.
Kloots activity here seems to have dropped, and shifted away from AI somewhat, and I'm dropping various commitments to prevent my university work being marginalized by unimportant things.
However current opinion seems to indicate that us AI developers have everything we need and just cba doing it, which is nonsense, tosh, cr*p.
Posted: 04 Oct 2007, 20:53
by tombom
I think it's just that everybody here's priority is multiplayer and singleplayer is pretty much ignored, which is a shame as it's one of the most important parts of any game.
Posted: 04 Oct 2007, 20:59
by AF
But still even without lua<-> AI modders can still make great improvements in AI using simple lua gadgets.
Posted: 04 Oct 2007, 22:00
by jK
1. Iirc there is an interface: GetGameRulesParam, GetUnitRulesParam, GetTeamRulesParam.
An event driven communication between AI and Lua would be nice, but those GameRules can do the same job only a bit more difficult.
2. You can't expect that mod devs adjust their mods to AIs. If you want help from this side, you have to implement an interface and say what they have to do. (no mod dev will add Rules w/o an AI which use those)
3. You say that there are only a few AI devs left, but there is only one trepan! And you can't expect that he is writting the whole time code for the api, it is his right to write widget/gadgets.
4. Imo group AIs are replaced by luaUI, it is much more flexible. Also there wasn't really any usable group AI except mex upgrader. Radar AI was annoying, the eco AI wasn't optimized and the central build Ai was a nice idea, but it was missing an easy GUI.
5. It is not that I don't like AIs, but I don't see any fun in fighting AIs, because those are simply too stupid in RTSs for a balanced match (and imo a lot think so). In contrast I see a future for AIs in multiplayer campaigns, in which multiple human players fight against AIs with a prebuild base etc. .
Posted: 04 Oct 2007, 22:11
by Engine Of Darkness
I like watching different AI builds fight each other! I'm special
Also, who says you need balance to have fun? Just playing "Fortress Fight" is fun for hours (believe me I "played" that style 12 hours through the night once

)
Posted: 04 Oct 2007, 22:38
by AF
jK wrote:1. Iirc there is an interface: GetGameRulesParam, GetUnitRulesParam, GetTeamRulesParam.
An event driven communication between AI and Lua would be nice, but those GameRules can do the same job only a bit more difficult.
What are you talking about? IAICallback IGlobalAI IGlobalAICallback all have nothing to do with lua in them. What you're talking about is a set of function declarations in the AICallback class with no implementation, and no explanation to their eventual usage. There purpose was to shut up AI developers when we first raised the issues surrounding the lua<->AI interface or rather lack of one.
There are no signs of them ever being implemented, they don't even have place holder implementations, attempting to put them in the AI interface would cause compiler errors.
jK wrote:2. You can't expect that mod devs adjust their mods to AIs. If you want help from this side, you have to implement an interface and say what they have to do. (no mod dev will add Rules w/o an AI which use those)
I do expect them. It was the modders responsibility to begin with. The job is your job not ours, us AI developers do this as a hobby, and we're expected to support your mods by your user base, and we get little or no help from you in doing so.
However there are AIs out there and adding rules can make the difference between good AI game play, and bad AI game play, or even if the AI can play at all. You will not see AIs pandering after specific mods to the detriment of others, or implementing things that could only ever apply to your mod.
That attitude reeks of disrespect. AI developers and the users who test and support them via configs, testing and feedback, have together put in more time and effort than all the modders here combined. This community is very lucky to have gotten the AIs it has had over the years, and the people who've contributed, you wont find an opensource RTS like it anywhere else.
jK wrote:3. You say that there are only a few AI devs left, but there is only one trepan! And you can't expect that he is writting the whole time code for the api, it is his right to write widget/gadgets.
Indeed, however he hasn't just written gadgets and widgets, he's gone further and implemented newer stuff which has a much larger scale than even the simplest AI interface he could have created.
jK wrote:4. Imo group AIs are replaced by luaUI, it is much more flexible. Also there wasn't really any usable group AI except mex upgrader. Radar AI was annoying, the eco AI wasn't optimized and the central build Ai was a nice idea, but it was missing an easy GUI.
There were a lot of AIs that could have been created but the GUI support was added to lua instead. I did show several proofs of how easy it would have been for trepan to add them to the AI interface or even quickly write a tool to do it for him as it was almost as simple as copy paste. But instead he deleted my posts saying they were irrelevant then admitted he hadn't really read them when I pointed out there relevance.
jK wrote:5. It is not that I don't like AIs, but I don't see any fun in fighting AIs, because those are simply too stupid in RTSs for a balanced match (and imo a lot think so). In contrast I see a future for AIs in multiplayer campaigns, in which multiple human players fight against AIs with a prebuild base etc. .
This would cause a never ending feedback loop leading to no AIs in active development at all. Most of all its a developer centric view, and not a player/community orientated view. Remember as a modder, your building a mod not a personal plaything, something others are going to used.
If you never work with AI builders then yes AI will not live up to its potential. Argh for example built his own configs for his mods and made requests for new features and gave sound reasoning. As a modder he was able to build far better configs for NTai than anyone else. The same goes for the kernel panic configs.
The way it is supposed to work is that a modding team has an AI developer in it as part of the team.
Instead the community has had to create its own AIs because modders refuse to accept the responsibility.
Posted: 04 Oct 2007, 22:47
by Tobi
This entire discussion about who is responsible is nonsense IMHO, modders do their job for fun too just as AI developers...
If a mod developer cares about single player he makes sure his favorite AI works with his mod.
If an AI developer cares about single player he makes sure his AI works with his favorite mod.
(see, you can just swap the mod and AI words

)
If the AI is configurable, there may even be a third party who cares about single player who then makes a configuration for his favorite AI and his favorite mod.
To me it seems that you could have easily implemented this Lua feature in the time you took to make six threads about it and even
prove that it's easy to implement...
Posted: 04 Oct 2007, 22:49
by Peet
AF wrote:I do expect them. It was the modders responsibility to begin with. The job is your job not ours, us AI developers do this as a hobby, and we're expected to support your mods by your user base, and we get little or no help from you in doing so.
Who designated it as the modder's job to do all the work to make an AI work with their mod? Are modders paid to do their work, making it not a hobby unlike AI development? Why should a modder have to change game mechanics to support an AI?
e: Not attacking btw, I've been wondering about these things for some time.
Posted: 04 Oct 2007, 23:14
by AF
First off, it was a modders responsibility to do AI in OTA, which provided the initial premise.
Most modders have never shown an interest in AI despite being provided with interfaces. The only involvement by a modder other than Argh in the first year of AI development after JCAI and NTais release was modders telling their player bases to make configs if they wanted AI support.
AI developers thus have 2 primary reasons for developing AIs:
1) An interest in AI development
2) A lack of AIs and an utter lack of interest from modders of any kind save for a small minority.
AI developers are currently working on AIs as libraries, just like spring might use a sound library or the lua library. And modders for the most part are pretending this doesn't exist and hoping AI will just be solved auto-magically for them.
When a mod has an issue with one of these AIs there are 3 choices. An AI side fix, a mod side fix, or a mod side prop. It is possible to write gadgets that only do things if the player is an AI. You can make a restriction not apply to AIs or add bonuses and limits to AIs, and not effect game play for humans.
However apparently modders wont do option 2 or 3, its always the AIs fault and the AI developers fault and the modder has nothing to-do with AI apparently so its not their problem. They cite gameplay as their reasoning behind any mod changes. Which is nonsense as you can change the mod for AIs but not for humans with lua. Some modders even put up extra sides specific for the AI. Latest FunTA releases have Arm, Core, Arm AI, and Core AI IIRC.
AI developers have provided you with AIs even though it was the modders responsibility not ours. We've spent hundreds and hundreds of hours of our own free time doing this. At the very least do your own configs instead of fobbing it off on your player bases. And those that do spend all that time building configs and making sure AI support is maintained for you should be considered part fo your modding team because that's what they're doing. Its the same as removing all your textures and having someone in your player base texture all your units but not acknowledging what they've done.
And jk, my proofs for trepan that got deleted were VFS functions, they were easy to do but it took me ages to find the lua function that implemented them at the time as trepan hadn't written any documentation or comments. I know little lua, and I cant pretend to understand much of his lua API structure.
Posted: 06 Oct 2007, 04:18
by SpikedHelmet
AF, do you ever do something without pissing and moaning about it for all eternity?
If you don't like being asked to pander us mod-makers into making AI scripts for us, then don't fucking make AI scripts for us. Why do you feel the unquenchable urge to write a fucking novel of whine whenever something catches a remote iota of negative attention from you? Not all mod-makers have the time or energy to learn AI scripting, however chauvanistically easy you want to make it seem and no matter how many interfaces you belch into the world -- there are thousands of applications to help people model and texture those models, yet few mod-makers can actually do it.
Posted: 06 Oct 2007, 10:47
by hoijui
We have m AIs, and n mods.
The modder making his mod compatible with AIs (providing necessary things): O(1)
The AI-dev making his AI work with all mods (provided they did not prepare them for AIs): O(n)
this is for writing configs and such (helpfull for all AIs, not just a specific one), right?
Posted: 06 Oct 2007, 13:29
by yuritch
Configs are AI-specific (AAI and NTAI, others don't use configs at all). An AAI config, for example, is useless for NTAI, and vice-versa.
Posted: 06 Oct 2007, 13:57
by hoijui
hmm yeah true :/
that is.. aehmm.. bad!
this should be changed.
a global config file format is needed (could possibly be integrated into the mod file then)
aehm....
someone...
do it!
Posted: 06 Oct 2007, 14:00
by tombom
The AAI and NTAI configs work completely differently. There's pretty much no information in common between them, except maybe scouters.
Posted: 06 Oct 2007, 14:28
by BigHead
You can't really blame anyone for not doing something in the situation where everyone is doing work for free and in his free time.
I understand that multiplayer is more fun than singleplayer and that modders&developers spend their time on multiplayer features. I wrote html help widget no modder seems to use. I can't blame them for that. However if they really care for Spring they should make singleplayer their #1 priority.
Spring is slowly loosing it's players. It's normal. However few new players start with Spring and that's the problem. There were 300 players playing Spring in prime time last year (that's what I've heared, I didn't play Spring last year). This year it's only 200. Spring is simply too hard to start with. There are many reasons for this. Missing singleplayer support it the most important one. I'll quote myself from other discussion:
... If you managed to get through all this and finally get online you're welcomed by a newbie-hating community (most hosted games are team based and your allies aren't exactly forgiving).
This means that you have to be well trained before starting with multiplayer. The only way to prepare yourself is the singleplayer.
I agree that mods shouldn't be adjusted to fit AIs. However there should be 1v1 maps made specifically to address strong points of certain AI. Also AFs idea of putting lua restricitions on AI player to prevent it from doing stupid things (on those maps) is a good one.
Posted: 06 Oct 2007, 14:34
by hoijui
..yeahh.. :/
so i understand the modders, that they dont want to do configs then.
if the AI devs could agree on a global config format...
somehow all AIs have to decide which units to build, and ifthey need more info for that then there is available anyway (abilities, costs, speed, ..) of the units, then this should be in such a config file.
sure, there is much more...
then put it all in there!
hmm.. sure. now its a little difficult already, cause .. everything had to be changed...
but it just has the smell of unclean design somehow (one config per mod per AI), no?