Why The New Interface? - Page 3

Why The New Interface?

Here is where ideas can be collected for the skirmish AI in development

Moderators: hoijui, Moderators

User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Why The New Interface?

Post by Argh »

cheating is not trivial, since the mod would have to at the very least provide means of giving a player resources on demand
In Lua: Spring.SetTeamResource() allows you to do this trivially for M/E, and you don't have to cheat. With custom resources, that's straightforward as well.

And yes, economy is a Big Deal. It's also something that most AIs perform dismally at.

Cheating is just a way to get to the part that's important, from a game designer's perspective: giving players an objective (destroy the enemy's base) while growing their own economy and blowing stuff up.

And it's always possible to cheat. In KP, you get resources from something that can only be built by a player on geos. So, just allow your cheating AI to build it anywhere it feels like, or just give it free resources. Not a big deal, commercial game AIs do this all the time, and nobody really cares, except for whiners who don't understand AI very well.

I think that, for my first "AI", to clearly demonstrate my philosophical position, I'm going to sit down and just figure out how to make it possible for AIs to start with a functional base, then just have them spam units. That's easy, and should be fun for players.

After that, greater complexity can be developed, if it's even necessary- it may be enough to just make "easy", "medium" and "hard" AIs that simply get more stuff in their bases.

Is that an "AI", in the sense that you guys think about? No, but it's a functional thing that plays the game. And eventually I can tackle coding stuff to handle using Unit abilities, which is very trivial on the Lua end- what's hard, admittedly, is figuring out under what circumstances to do so, and coding the checks for that to be reasonably efficient.

The point I'm trying to get at is that, beyond research purposes, it's entirely un-necessary for AIs to actually do anything like a player does, and they shouldn't bother to follow the same rules. I've been saying that for three years straight, and it's gotten me absolutely nowhere. This approach that I'm advocating would allow me to put what I'm talking about into practice, and I suspect that people's reactions after that would pretty much tilt the argument strongly in favor of my POV.

Fun is the goal, for practical game development. Having fancier stuff available would be great, though, because then it's possible to make the AI look a lot smarter, without really having to be smart.
if you want to make life easier for AIs, you'll have to cheat for them in LuaRules - give them resources, more units, faster build speeds, etc.
If it was that simple, I'd already have done that. Unfortunately, it's not. Try any current AI with Resistance, and you'll see them just sit there, doing nothing, if they do not crash. And we're talking P.U.R.E. here, not something like THIS...
submarine
AI Developer
Posts: 834
Joined: 31 Jan 2005, 20:04

Re: Why The New Interface?

Post by submarine »

Argh wrote: 1. Economy. Why make an AI to manage an economy, when that's relatively simple math, needs to run only every 10-15 seconds or so, and then results in just a few orders being issued
I'm curious to hear which relatively simple math will do the job. I spent countless hours on experimenting with new eco algorithms/tweaking the existing ones and IMHO my results are not very impressive. I'm really interested how to solve the eco management with a few simple equations...
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: Why The New Interface?

Post by hoijui »

Argh, maybe start creating a list with algorithms you want available for your LUA AIs.

I recommend you to stop trying to convince us that the current approach is fail, and we need to shift to your approach. You will simply never convince us (as you bring the same arguments all the time, which do not convince us), and the shift is not going to happen. Again: for what you want, it is not even needed, so it is pointless.
You always talk about the game designers point of view, but that is pretty pointless if at the same time you consider all others not worth considering (and that is what you do).
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Why The New Interface?

Post by Argh »

if at the same time you consider all others not worth considering (and that is what you do).
No, I'm not :P I'm pointing out that your POV is totally irrelevant to what people actually need, on the production side of things around here, and I'm saying that while research on AIs is a valid goal, if that's your only goal then your opinion is irrelevant. There is no meeting of minds when there is no shared outcome, basically.

Why should any game developer even consider spending time here, interacting with you people, if you're not trying to meet us at place that's at least somewhat to our advantage? If game designer and player concerns are irrelevant to your POV... then why the heck should I care about your take on these issues? Your statement cuts both ways, frankly.
I'm curious to hear which relatively simple math will do the job.
If resource X < Y then (maybe think about building a resource structure) and (buff AI resources so that it does not actually ever stall, whether or not we find a valid place for our econ structure). Pretty simple math... cheating, yeah... do I care, no. The only other way that makes any real sense is to do a projected economic forecast approach, have the AI make bets, and almost certainly guess very wrong.
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: Why The New Interface?

Post by hoijui »

Yes, you are doing it, and..
oops, you did it again.
There are users, and I am sure there are also mod devs who want an AI to look intelligent, not just spam units, for basic training.

(from here on, the term we stands for everyone else then you that yet posted in this thread)
We want to give you what you want: the easily separable algorithms, which so far includes:
  • metal-spot-finding
compiled into shared libraries, and available to call from LUA.
This is what we are willing to do for you, coming to a common solution.
Making LUA stuff available to AIs as we have them now,
would allow AIs to work better with mods (eg use your special tank with a one time mine).
That would help you too.
How could you think your POV is irrelevant to us?

We want to keep what we have now and extend it, because:
  • we want mod independent AIs
  • we want things modular
  • we want to try fancy AI stuff (research stuff)
  • we want to attract a broad audience (different compilers, different languages) of AI devs to spring
You say, all we want, that goes beyond what you want, is irrelevant, and should be dismissed.
This alone makes no sense, as it does not negatively interfere with what you want.
Argh, what negative effect does it have for you, if we keep the current way of the AI interface, and try to extend it?
(again, remember, we can make available what you want at the same time)
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Re: Why The New Interface?

Post by Argh »

Argh, what negative effect does it have for you, if we keep the current way of the AI interface, and try to extend it?
Where did you get the idea that I want the current interface to be thrown out? Is that what you think I'm arguing for? Sigh :| I think that we have a misunderstanding here. I don't want to trash what you're doing.

And I do appreciate any effort to meet my concerns. And I'm fine, if people want to continue exploring their current approach. That's their prerogative, after all.

I'm just saying that for any of this to be relevant to my end of things (and by "my", I mean "the people who actually design games around here"), where I see some really huge practical problems with the current strategies being employed, that we need to think about what's happened to the state of game design.

Frankly, it looks like we're moving here, I've annoyed you people and made you pay attention to the problem, now I'll just get out of the way until it's possible to talk to AI DLLs via Lua, and if that arrives, then I'll be more than happy to set aside some time to help and prototype stuff. When I've had some sleep, I'll try to think coherently about the specific things I think that an ideal set of DLLs would contain, the arguments that should be able to be passed via Lua, etc., to brainstorm this a bit more.
User avatar
yuritch
Spring 1944 Developer
Posts: 1018
Joined: 11 Oct 2005, 07:18

Re: Why The New Interface?

Post by yuritch »

Cheating for AIs can be provided mod-side, independent of the AI itself. I tried that in the form of a lua gadget that completely fills AI's E/M storage every x seconds (x can be configured via mod options as a form of setting AI difficulty), it works just fine with AAI which wasn't initially built with something like is in mind. Usully AAI tends to m-stall during early/mid-game (and often in late game, too), at least with my mod (more or less TA-like econ, but no metal makers and basic power plants require metal to run), and this simple cheat fixes that. Nothing is required on AI side to use it, it's completely mod-side.
Of course, if the AI in queston cannot hadle basic gameplay of the mod (AAI and Argh's Resistance faction for ex.), this approach won't help much.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: Why The New Interface?

Post by AF »

Argh you do realize i myself was telling you and other content developers that you can help AIs by implementing micro behaviours in lua that are specific to individual unit types in certain games? not as a means of managing systems like building mexes, but rather taking primitive commands and making them more complex, namely more intelligent. For example changing the paths, or micromanaging an attack command on artillery to keep distance, or press a deploy button the AI is unaware of.

KAI for example, the economy code had countless hours of work from krogothe as well as firenu and tournesol who were working on KAI as part of a masters degree in AI.

Now I'm sure that you can build a lua AI that will play resistance, and it will 'work', it may nto work amazingly, but you'll plough cheat resources in. It might get a little harder but it'll still make absurd mistakes like building defences in the exits of factories, shipyards in ponds, defences in stupid places, or sending engineers to capture resources in the middle of overmind bases.

But argh, you misunderstand the point of our direction. We do want to do these fancy things, we want believable ai because users are p*ssed off with bog standard mediocre AI in average rts games, and stupid illogical stupidity. But we cant do that if the intended content does not have the most basic support. What your arguing we focus on isn't being ignored, its just so basic that we've all just assumed it.
merijn
Posts: 59
Joined: 17 Feb 2007, 18:43

Re: Why The New Interface?

Post by merijn »

wow, big discussion ;)

If i understand correctly, Argh wants *anything* that can play his (or any) mod at all.
To me it looks like he would be more helped with scripted missions with a very basic AI, purely to take care of handling the units. Maybe even the attacking could be more or less scripted (on a battlegroup level). It sounds more or less like he needs a base library with which misscions can be scripted and executed.

This could then be used for single player practice.
However this a completely different goal than the AI builders have, which want to make believable stand-alone AI's. I think the posts in this thread show this conflict in interests.

Maybe it would be possible to define a project that *does* satisfy Arghs wishes? Then look at it and see if its requirements conflict with what the real AI's want/need. From there you could move on and see if you can find someone to develop it.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Re: Why The New Interface?

Post by imbaczek »

open source has a problem in that you can define any projects you want, it still needs volunteers which are currently not available.
merijn
Posts: 59
Joined: 17 Feb 2007, 18:43

Re: Why The New Interface?

Post by merijn »

true true, but if you *don't* have a project, how can you attract volunteers ;-)
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: Why The New Interface?

Post by hoijui »

I don't see the need of a project for what Argh wants. (btw, sorry Argh for writing your nick wrong all the time ;-) ).
There is LUA AI already, and as he has no problem if he has to cheat, the metal spot finder available as a shared lib to be called from LUA is not urgent either. I planned to make the metal spot finder algorithm available to AIs through the interface anyway (so it could be used by Java or C# AIs aswell, without having to rewrite it in said languages). When doing this, I can make it available to be called by LUA aswell.

Sorry Argh for the misunderstanding. It was just that... you were ranting on, even doh you had what you wanted (or it appeared like that to me). Therefore, the only thing that explained that for me, was that you wanted the current way of AIs to disappear, and AI devs to focus on separable algorithms.
Anyway, it was a good discussion. Especially if you judge it by its outcome. You will get your algorithm(s), and we(including you) have a practical discussion about making LUA stuff available for Skirmish AIs.
I am happy! :D
Post Reply

Return to “AI”