ValidAIs.lua - Page 6

ValidAIs.lua

Requests for features in the spring code.

Moderator: Moderators

User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: ValidAIs.lua

Post by Forboding Angel »

ThinkSome wrote:You can host your own mutators that support your AI, name them "Evo with Shard AI" or something and take the support burden onto yourself. There is absolutely no need to expose the already small number of newbies we get to crashy AIs (that happen to be at the top of the AI list) and then for Forb to have to deal with the mess.
That's exactly one of the huge problems. AI devs want all of the access but none of the responsibility.

At some point I realized that in order to not have outside issues effect my game and my players, I had to forcibly take full control. Thankfully Ikinz and Carrepairer understood this and allowed me to define a list of AIs that could be used with evo via weblobby. Before then, it was a HUGE issue. There were tons of negative reviews because X or Y ai didn't work. AAI crashed, NullAI doesn't do anything (what a piss poor, stupid, idiotic name for a sandbox AI), etc.

You can make a mutator and do whatever you like. Upload it to SF or somewhere so that I can test it, if I like it, I'll integrate it, otherwise, I'll provide feedback. You AI does not deserve access to my game and whatever players it may or may not have. If anything, you should be wanting to work with me to work on and provide the best AI possible. It makes us both look good.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: ValidAIs.lua

Post by AF »

You can host your own mutators that support your AI, name them "Evo with Shard AI" or something and take the support burden onto yourself. There is absolutely no need to expose the already small number of newbies we get to crashy AIs (that happen to be at the top of the AI list) and then for Forb to have to deal with the mess.
Instead we'll distribute them and require every player in the game has them, and fill your games list with experimental AI builds. In the meantime it buggers up competitive AI play until unsynced LuaAI archives are possible.

Fundamentally that problem is from the engine bundling AIs, which is a different issue
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: ValidAIs.lua

Post by AF »

Forboding Angel wrote:If a player goes into the lobby or into spring.exe directly, goes to choose an AI and an AI appears on that list, from the player perspective, the AI is indeed a part of the game. That's the problem.
True, so I'd like to be able to say my AI does not support EvoRTS
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: ValidAIs.lua

Post by AF »

Forboding Angel wrote:That's exactly one of the huge problems. AI devs want all of the access but none of the responsibility.
For the longest time we had all of the responsibility, and little to no cooperation.
At some point I realized that in order to not have outside issues effect my game and my players, I had to forcibly take full control. Thankfully Ikinz and Carrepairer understood this and allowed me to define a list of AIs that could be used with evo via weblobby. Before then, it was a HUGE issue. There were tons of negative reviews because X or Y ai didn't work. AAI crashed, NullAI doesn't do anything (what a piss poor, stupid, idiotic name for a sandbox AI), etc.
Then you should:

- Have not bundled unmaintained dead AIs you never bothered to test in your installer
- Reported the AAI crash, which would have immediately revealed it was crashing on purpose. Instead it was only reported and fixed in the last month by somebody else, revealing the Errors AI copy pasted the same code into it's initialisation routine
- Suggested the NullAI be renamed to Sandbox AI ( I support this action, and agree it's not a user friendly name, and luckily it's a 5 minute job, rename a folder and change a value inside that folder ), infact it should probably be turned into an example LuaAI
You can make a mutator and do whatever you like. Upload it to SF or somewhere so that I can test it, if I like it, I'll integrate it, otherwise, I'll provide feedback. You AI does not deserve access to my game and whatever players it may or may not have. If anything, you should be wanting to work with me to work on and provide the best AI possible. It makes us both look good.
I tried working with you, but it killed all motivation and almost killed the entire project. You pick something and you pursue it relentlessly, raging against it and refusing to consider alternatives. It saps all the energy out of things and drives away contributors. AI development isn't a continuous stream of activity, people need to go away for a few weeks and gestate on ideas or all you'll get is incremental gains, and the approach you've taken over the years is toxic for that workflow.

What is everybody afraid AI devs will do if they're the ones whitelisting and blacklisting games? All the examples here are for mothballed AIs bundled with the engine, RAI/AAI/KAIK/etc, those will get set to the old XTA/BA versions and that'll be that part done, so why is everybody so scared of the active AI devs? You can't all seriously be blocking a fix because of an ideological standpoint over who has control?
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: ValidAIs.lua

Post by Forboding Angel »

AF wrote:
Forboding Angel wrote:That's exactly one of the huge problems. AI devs want all of the access but none of the responsibility.
For the longest time we had all of the responsibility, and little to no cooperation.
You have a history of abandoning your spring related projects and leaving those who were depending on those projects high and dry. You've done this to me twice in the past 10 years.
AF wrote: Then you should:

- Have not bundled unmaintained dead AIs you never bothered to test in your installer
- Reported the AAI crash, which would have immediately revealed it was crashing on purpose. Instead it was only reported and fixed in the last month by somebody else, revealing the Errors AI copy pasted the same code into it's initialisation routine
- Suggested the NullAI be renamed to Sandbox AI ( I support this action, and agree it's not a user friendly name, and luckily it's a 5 minute job, rename a folder and change a value inside that folder ), infact it should probably be turned into an example LuaAI
1. I should never need to delete files from the official engine package
1b. Steam is not an "installer"
1c. Further engine updates may very well be downloaded automatically by the lobby. The steam build process is not fun and is is not fast in any way shape or form. I only update steam builds when I have significant number of changes in the base content of the game.
2. I did, but not on mantis (that I remember). Native AIs should never have been distributed with the engine for precisely this purpose. I preferred to preempt the problem ever happening again. Ikinz and Carrepairer agreed with me.
3. I have. Smoth has. Others have. There is even an old flamewar over it from 7 years ago on this forum somewhere. Probably around the same time that argh was arguing that salmon pink was red 255.
AF wrote:I tried working with you, but it killed all motivation and almost killed the entire project. You pick something and you pursue it relentlessly, raging against it and refusing to consider alternatives. It saps all the energy out of things and drives away contributors. AI development isn't a continuous stream of activity, people need to go away for a few weeks and gestate on ideas or all you'll get is incremental gains, and the approach you've taken over the years is toxic for that workflow.

What is everybody afraid AI devs will do if they're the ones whitelisting and blacklisting games? All the examples here are for mothballed AIs bundled with the engine, RAI/AAI/KAIK/etc, those will get set to the old XTA/BA versions and that'll be that part done, so why is everybody so scared of the active AI devs? You can't all seriously be blocking a fix because of an ideological standpoint over who has control?
I tried it your way multiple times, and every single time I was eventually left holding my balls in my hands while you abandoned yet another project. Then, I prodded you forcefully to turn Shard into a LuaAI, because I knew you would abandon it again and I had no intention of being on the receiving end of getting screwed, again.

Instead, you threw a giant tantrum, threatened to delete Shard, it's repos, and god knows what else because you want control. That is literally your argument. I get it, but your control could be had in a local mutator where you could work. You could put your luaai on rapid where gamedevs could simply depend on a version of it and have the config files in their game. This is an extremely reasonable approach and satisfies your need to control the AI while allowing gamedevs to prevent themselves from being left in the cold when you inevitably disappear.

No one is afraid of what you would or would not do with a whitelist. You can do whatever you want. If your past tantrum is any indication, you would likely blacklist anyone that you happened to have beef with that month. That's fine, I don't care. What I want, is a whitelist in my game that allows me to list what AIs the players get in a choosable list in the lobby. This is not an unreasonable request. A new AI developer is not going to know every single game to whitelist. What if I start a new side project (not unheard of by any stretch). Do I then have to go and hunt down every single AI developer, including ones that have disappeared and left their AIs to bitrot for half a year or a year begging them to add my game to their whitelist?

I'm getting the feeling that even after all this time you still don't understand the amount of work that goes into a spring game. I say this because you are elevating AIs as though they are the same as spring games, and they aren't. Not even remotely close.

--------------------

Say what you will. I'm done with this conversation in regards to you. No ill will. Simply you have made it clear that you refuse to budge on your position, regardless of how flimsy it is, so I don't really see any reason to add more to the conversation other than to re-state...

Native AIs have no business being bundled with the spring engine.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: ValidAIs.lua

Post by AF »

I'm open to compromises, I simply disagree that validAIs.lua is a healthy option as it eliminates a lot of academic and hobbyist options that got AI working in the first place
I prodded you forcefully to turn Shard into a LuaAI
Instead, you threw a giant tantrum, threatened to delete Shard, it's repos, and god knows what else because you want control.
It was to shut you up, nothing to do with control, you basically turned Shard into something I dreaded looking at. All the people working on Shard had fled, and you were so adamant and unrelenting. I sort of agreed with you at the time I just didn't have the energy or details I needed to do it, hence why I tried getting you to do it.

Forceful prodding doesn't work, it never did. It devastated momentum for myself and drove away other people. I don't think you realise just how damaging it was, to the point I tried to end the project to make you stop. This has happened multiple times, your very actions brought about the thing they were trying to prevent. I really was sad to have to go that far, I don't end projects outright like that unless i have a replacement or there are extreme circumstances. I might hibernate and go into reactionary mode rather than proactive, but that doesn't mean the project was abandoned.

Sadly Abma is doing the same thing at the moment, and drove away Eronoobos, who coincidentally was building Shard LuaAI.
A new AI developer is not going to know every single game to whitelist. What if I start a new side project (not unheard of by any stretch). Do I then have to go and hunt down every single AI developer, including ones that have disappeared and left their AIs to bitrot for half a year or a year begging them to add my game to their whitelist?
If their AI plays your game well, and you want their AI, then sure, but if it's bitrotten then why would you bother? Just fork it and find a new maintainer. Or maybe be nice to existing AI devs who'll cleanup bitrot and keep it static.

1. I should never need to delete files from the official engine package
1b. Steam is not an "installer"
1c. Further engine updates may very well be downloaded automatically by the lobby. The steam build process is not fun and is is not fast in any way shape or form. I only update steam builds when I have significant number of changes in the base content of the game.
2. I did, but not on mantis (that I remember). Native AIs should never have been distributed with the engine for precisely this purpose. I preferred to preempt the problem ever happening again. Ikinz and Carrepairer agreed with me.
3. I have. Smoth has. Others have. There is even an old flamewar over it from 7 years ago on this forum somewhere. Probably around the same time that argh was arguing that salmon pink was red 255.

You have your own lobby, your own engine package, and who cares what happened several years ago, just make a GH pull request instead of discussing it to death


------------

If you want good AI for your game, but don't want to build it yourself, you need to let people experiment. At the very least document the existing LuaAI mutator system or provide reference examples. Lobbies already have the means to implement an AI based whitelist using AIInfo.lua

e.g. https://github.com/tomjn/Shard/blob/mas ... fo.lua#L57

In the meantime, there's the problem of AI distribution. If AAI/RAI/etc aren't bundled with the engine they're basically dead. It also removes most of their testing infrastructure so bitrot will set in quickly with nobody to intervene and fix things. The games they currently work with will face problems. Distributing updates will also be problematic.

As for the longterm goal with Shard? It's to abandon the native AI interface and go pure lua. Has been for a while, so trying to persuade me to go for mutators is inneffective, it's already my plan. Shard was designed from the get go not to be dependent on a particular engine, so hoisting it up and over to LuaAI is feasible.
sprunk
Posts: 100
Joined: 29 Jun 2015, 07:36

Re: ValidAIs.lua

Post by sprunk »

If AAI/RAI/etc aren't bundled with the engine they're basically dead
Good, let them die.
Google_Frog
Moderator
Posts: 2464
Joined: 12 Oct 2007, 09:24

Re: ValidAIs.lua

Post by Google_Frog »

Why not make lobbies obey ValidAIs.lua with some obscure toggle in their settings to disable it? Anyone trying to create a new AI already has to read up on how to create and compile their AI and these instructions could easily include "toggle the validAIs setting" as a step. If someone is trying to run a non-standard AI then wherever it is that they learned of the AI (probably a forum post) can include the "toggle the validAIs setting" step.
sprunk wrote:
If AAI/RAI/etc aren't bundled with the engine they're basically dead
Good, let them die.
They have some value in that they fight bitrot in the AI interface.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: ValidAIs.lua

Post by AF »

Google_Frog wrote:
sprunk wrote:
If AAI/RAI/etc aren't bundled with the engine they're basically dead
Good, let them die.
They have some value in that they fight bitrot in the AI interface.

+1, engine builds run tests with all the AIs, without the native AIs these would no longer happen. These can catch other issues that wouldn't happen from a static test by providing primitive gameplay
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: ValidAIs.lua

Post by Forboding Angel »

That's not a good enough reason to keep them around. Just a happenstance minuscule benefit.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: ValidAIs.lua

Post by AF »

Perhaps an engine dev can weigh in, I know the tests have helped with Shard, but for non-AI purposes what does having an automated gameplay test do to help engine development?
raaar
Metal Factions Developer
Posts: 1094
Joined: 20 Feb 2010, 12:17

Re: ValidAIs.lua

Post by raaar »

BumpdeeBump


I made a feature request for springlobby some time ago. When adding AIs, show them split into two categories : "recommended" and "other".

Recommended AIs could be the ones listed on validAIs.lua on the game package.

Is validAIs.lua taken into account by the engine or any lobby client at the moment?
User avatar
ThinkSome
Posts: 387
Joined: 14 Jun 2015, 13:36

Re: ValidAIs.lua

Post by ThinkSome »

Can springlobby even interpret lua code? I did not find much of lua browsing the source code.
raaar
Metal Factions Developer
Posts: 1094
Joined: 20 Feb 2010, 12:17

Re: ValidAIs.lua

Post by raaar »

Springlobby can process the luaAI.lua entries.
raaar
Metal Factions Developer
Posts: 1094
Joined: 20 Feb 2010, 12:17

Re: ValidAIs.lua

Post by raaar »

So....what standard should the community use?
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: ValidAIs.lua

Post by Forboding Angel »

It's detailed on the wiki
raaar
Metal Factions Developer
Posts: 1094
Joined: 20 Feb 2010, 12:17

Re: ValidAIs.lua

Post by raaar »

Where? I can't find it.

There's this for maps, but apparently it's only implemented in TASClient.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: ValidAIs.lua

Post by Forboding Angel »

Well shit. It used to be on the wiki. There was also a pretty detailed feature request on mantis at one point as well (put in by knorke if I'm not mistaken).

I've looked for it and I can't seem to find it.

As I remember it, the idea was to just have a table with the AI shortnames listed and the lobby would use those shortnames to cull the list shown in the lobby.
raaar
Metal Factions Developer
Posts: 1094
Joined: 20 Feb 2010, 12:17

Re: ValidAIs.lua

Post by raaar »

After all this time there is still no way for game devs to ensure players get a sane list of AIs to choose from, at least with springlobby.

related github issues for springlobby
https://github.com/springlobby/springlobby/issues/817
https://github.com/springlobby/springlobby/issues/755

What do other lobbies use now?

We NEED a standard way for games to define this for the lobbies, and maybe even for the engine itself.
User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10450
Joined: 24 Jan 2006, 21:12

Re: ValidAIs.lua

Post by PicassoCT »

Forboding Angel wrote:Well shit. It used to be on the wiki. There was also a pretty detailed feature request on mantis at one point as well (put in by knorke if I'm not mistaken).
Arr, knorke, now that was a trooper. He accepted that the burden of evo-maintenance was to be carried by the community of devs. Until he did not.
Post Reply

Return to “Feature Requests”