ValidAIs.lua
Moderator: Moderators
Re: ValidAIs.lua
The only place all this "whitelist" stuff applies is to Lobbies. Which should not be the place end-users use as the environment to launch SP games anyhow, imo.
Zwswg's front end is the model for what the future for SP looks like, in terms of design concept, if not specific features. In fact, I suspect that once every major game has a front-end that's decent, people will only use the Lobbies to launch SP very rarely. I don't think zwswg's current code meets that standard, but it's mainly a small jump forward, not a giant leap.
It's like AppLauncher and P.U.R.E. now- there's no need for a whitelist, because nobody playing P.U.R.E. will ever see alternatives to what I know works. When solutions like that are ubiquitous, I suspect that Lobby developers will probably deprecate those features, instead of wasting time maintaining something that no longer sees much use, or just leave it frozen. IOW, I really suspect this whole discussion becomes moot at that point.
Zwswg's front end is the model for what the future for SP looks like, in terms of design concept, if not specific features. In fact, I suspect that once every major game has a front-end that's decent, people will only use the Lobbies to launch SP very rarely. I don't think zwswg's current code meets that standard, but it's mainly a small jump forward, not a giant leap.
It's like AppLauncher and P.U.R.E. now- there's no need for a whitelist, because nobody playing P.U.R.E. will ever see alternatives to what I know works. When solutions like that are ubiquitous, I suspect that Lobby developers will probably deprecate those features, instead of wasting time maintaining something that no longer sees much use, or just leave it frozen. IOW, I really suspect this whole discussion becomes moot at that point.
Re: ValidAIs.lua
If you post that, Alantai Firestar is gonna come after you and post the exact same sentence with the words "mod" and "AI" swapped.Pxtl wrote:That's why I think the mod should be able to implement whatever algorithm they like with the ValidAIs.Lua.
While ultimately I would welcome more versatile controls, I'd rather reach an agreement on something simple and see it implemented now.
Re: ValidAIs.lua
You have no right to this sentenceArgh wrote:I don't think zwswg's current code meets that standard, but it's mainly a small jump forward, not a giant leap.
Re: ValidAIs.lua
He obviously meant a small step for me, not for humanity. :D
Re: ValidAIs.lua
Exactly, Mr. Lewis. Looking forward to recent advances, sometime after you fix that parser bug.
Re: ValidAIs.lua
He obviouslsy meant Louis, the jazzman.Argh wrote:Exactly, Mr. Lewis.
Re: ValidAIs.lua
Obviously not, since that one neither steps nor jumps but pedals.
Re: ValidAIs.lua
It's really funny when you forget your own joke. Louis, indeed.
Seriously though... your frontend just needs a map browser that can handle an unlimited map / list and setup for arbitrary AIs / sides / start positions, and I think that's pretty much it.
Seriously though... your frontend just needs a map browser that can handle an unlimited map / list and setup for arbitrary AIs / sides / start positions, and I think that's pretty much it.
Re: ValidAIs.lua
But that joke was to be a secret between us!
- Wasted time recoding what already exists
- Repeat the same problem of being too confusing for newb.
And then it'll be heading toward being like a new TASClient or SpringLobby. Which mean:Argh wrote:Seriously though... your frontend just needs a map browser that can handle an unlimited list and setup for arbitrary AIs / sides / start positions,
- Wasted time recoding what already exists
- Repeat the same problem of being too confusing for newb.
Re: ValidAIs.lua
Yeah, I gotta agree. Think about what the "skirmish" screen includes in most other RTS games.
1) Map
2) #, factions, and difficulty of AI players
That's it.
1) Map
2) #, factions, and difficulty of AI players
That's it.
Re: ValidAIs.lua
I know, sorry, I didn't get much sleep last night, need to take a nap before I do anything more clever than tie my shoelaces, tbh.But that joke was to be a secret between us!
As for the serious stuff:
First off, I agree, in part- four-click gameplay (faction, map, #AI players, difficulty) is the ideal. I think a map browser's a must, though- players will, after messing with the stuff in an install, probably learn about jobjol, and they're going to want support for the new maps.
But you both have a point- past a certain level of complexity, it may be self-defeating. I think a map browser that can deal with people who've downloaded a few hundred maps and want to play SP on all of them is a good idea, though.
And I know that one-click get-started-now gameplay was a very nice part of using AppLauncher.
Re: ValidAIs.lua
But I can see your point: Having a fairly complete Single Player lobby coded entirely in Lua would mean that any game developper could customize it, without needing engine devs support. This would basically remove the need for any feature request concerning single player setup support:
- GUI too cluttered for a simplistic game? Just remove lines of codes.
- Game is human vs Gaia? Don't even mention AI and alliances.
- Need a new kind of filter? Just do it.
- Need support for team mod option? Just add your own buttons.
- Need custom icons for certain options? Just draw them yourself.
- Need to enforce particular no X and Y together rule? Just add your tests.
Which bring us about your initial point about my frontend not being leapy enough. It would need at least a map scanner able to extract the minimap of any maps, and I don't even know how would that be doable. Too bad minimap caching is implemented by the lobbies and not ArchiveCacheV7.lua!
- GUI too cluttered for a simplistic game? Just remove lines of codes.
- Game is human vs Gaia? Don't even mention AI and alliances.
- Need a new kind of filter? Just do it.
- Need support for team mod option? Just add your own buttons.
- Need custom icons for certain options? Just draw them yourself.
- Need to enforce particular no X and Y together rule? Just add your tests.
Which bring us about your initial point about my frontend not being leapy enough. It would need at least a map scanner able to extract the minimap of any maps, and I don't even know how would that be doable. Too bad minimap caching is implemented by the lobbies and not ArchiveCacheV7.lua!
Re: ValidAIs.lua
IDK either... maybe for each map in maps, VFS to unzip (if not SDD) grab mini.dds / whatever if present? When I've gotten some sleep, I'll take a look at that.It would need at least a map scanner able to extract the minimap of any maps, and I don't even know how would that be doable.
Re: ValidAIs.lua
Sure, but few maps include a valid mini.dds or mini.bmp. Most of the time it's either absent or a black one.
Re: ValidAIs.lua
True; the only way then (with Lua, at any rate) is... the very first time a new map's detected... run the map, capture a screen from tab view and crop it.
Or ask the Lobby folks how they're auto-creating minimaps for maps that don't have one; with io, it's probably feasible to duplicate their code in Lua. Not *pleasant*... but possible. File parsing is file parsing, after all.
Or just don't bother, and maybe mappers will get the hint someday that not including a minimap is not going to help them create popular products. Maybe I can deliver one of my infamous sermons to that effect, not that I expect it to work, tbh
Or ask the Lobby folks how they're auto-creating minimaps for maps that don't have one; with io, it's probably feasible to duplicate their code in Lua. Not *pleasant*... but possible. File parsing is file parsing, after all.
Or just don't bother, and maybe mappers will get the hint someday that not including a minimap is not going to help them create popular products. Maybe I can deliver one of my infamous sermons to that effect, not that I expect it to work, tbh

Re: ValidAIs.lua
Special call-out to get minimap from .smf file would be easier, but this seems quite off-topic here.
Re: ValidAIs.lua
What do newbies loves more than skirmishes? Bot-stomping! And coding a Lua lobby that support multiplayer, for the newbs to join and team up against an AI, is just a dream. At this point, it is ludicrous to discard the existing lobbies, they are lighyears ahead of anything a widget could achieve.
Whilst being an worthy endeavour, this whole concept of Lua lobby is off-topic. Would a moderator kindly split this derailing, from there to here, so we can get back to the subject at hand: ValidAIs.lua
Whilst being an worthy endeavour, this whole concept of Lua lobby is off-topic. Would a moderator kindly split this derailing, from there to here, so we can get back to the subject at hand: ValidAIs.lua
Re: ValidAIs.lua
I support a dual white list, with a white list in mod and AI.
As for testing, you can test your game with my AI and tell me if you want to save me time and effort, Id rather know it works than be told ages on that my project is being used in a game yet I have made no effort to support it because I wasn't even aware, resulting in negative design decisions.
Again:
AIs that do not crash gracefully are downright irresponsible, and should not be distributed
As for your comment Argh on NTai not doing enough to notify the user upon a failure, sometimes this is unavoidable. I don't have the means to make ti obvious to the user that NTai has failed without writing up widgets to block out the screen.
Historically all Ive been able to do is spam the console, but at start up the console is subjected to a torrent of messages and it quickly gets buried and out of view.
Heck I should be able to write up my own white list system via AIInfo.lua that checks these things but I don't know how, and since NTai makes a fair job at playing unsupported mods anyway, and will play most discounting exceptions like tower defence or THIS etc
As for testing, you can test your game with my AI and tell me if you want to save me time and effort, Id rather know it works than be told ages on that my project is being used in a game yet I have made no effort to support it because I wasn't even aware, resulting in negative design decisions.
Again:
AIs that do not crash gracefully are downright irresponsible, and should not be distributed
As for your comment Argh on NTai not doing enough to notify the user upon a failure, sometimes this is unavoidable. I don't have the means to make ti obvious to the user that NTai has failed without writing up widgets to block out the screen.
Historically all Ive been able to do is spam the console, but at start up the console is subjected to a torrent of messages and it quickly gets buried and out of view.
Heck I should be able to write up my own white list system via AIInfo.lua that checks these things but I don't know how, and since NTai makes a fair job at playing unsupported mods anyway, and will play most discounting exceptions like tower defence or THIS etc
Re: ValidAIs.lua
yeah.. the main problem (from my point of view), that makes it hard for AIs to communicate with the user is a missing cross mod Lua GUI framework.
of course, there is other stuff missing, mainly, a good/easy way for AI <=> Lua (widgets) communication, but that is something i could do, and which would not need so much time. my motivation just was not high enough for this yet. will do it some day; sooner if i see more use for it.
i did not yet put much though into this, put it would need some stuff like:
showing map overlays, showing special messages, for example, big fat red screen-centered: "AI X does not support this Mod/Game!". and maybe a basic Yes/No dialog and an option panel (yeah, that would already be quite some work, i guess).
the problem with this...
it would have to be shipped with every mod (which wants AIs to be able to use this), and of course it would not fit their design guidelines, and even if it would be fully skin-able and whatnot, i can could well imagine and understand if mod devs do not want to create and maintain an additional skin/design format just for AI support widgets.
-> all in all -> non-trivia problems
are there better solutions?
of course, there is other stuff missing, mainly, a good/easy way for AI <=> Lua (widgets) communication, but that is something i could do, and which would not need so much time. my motivation just was not high enough for this yet. will do it some day; sooner if i see more use for it.
i did not yet put much though into this, put it would need some stuff like:
showing map overlays, showing special messages, for example, big fat red screen-centered: "AI X does not support this Mod/Game!". and maybe a basic Yes/No dialog and an option panel (yeah, that would already be quite some work, i guess).
the problem with this...
it would have to be shipped with every mod (which wants AIs to be able to use this), and of course it would not fit their design guidelines, and even if it would be fully skin-able and whatnot, i can could well imagine and understand if mod devs do not want to create and maintain an additional skin/design format just for AI support widgets.
-> all in all -> non-trivia problems
are there better solutions?