AI Agents

AI Agents

Various things about Spring that do not fit in any of the other forums listed below, including forum rules.

Moderator: Moderators

Post Reply

Should each AI have their own instance of an Agent program/thread or should each agent service every single AI?

Ai has it's own Agents
9
100%
Ai's share a single instance of an Agent
0
No votes
 
Total votes: 9

User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

AI Agents

Post by AF »

Aha, well I'm gonan post a big thing on these things and I thought I'd create the thread before I started so people could post and perhaps then i could modify what i put based on suggestions and problems posters highlight

Things such as what effects a threat matrix, hwo often agents should run if they run periodically and not continuosly and wether there should be a two layer AI (director agents and the engine interface) or several more layers to simpify things. Aswell as suggestions on how an AI would determine things such as the best formation to use, wether it uses formations, and tactics and how to implement them on an AI system as agents.

Also am I the only one here who knows anything about things such as algorithmic probability and machine learning as such? Perhaps simplifications of such concepts and mathematics, simply talking about a proposition isnt enough unless the maths behind its there but dont let that discourage others.
Maybe I'll write this in Word (spellchecker).

I think I'll designate what I post as TAI for terrific AI and I'll stick alan before ti in memory of alan turing AlanTAI lol
User avatar
BlackLiger
Posts: 1371
Joined: 05 Oct 2004, 21:58

Post by BlackLiger »

Or your name. Now Please explain in more detail wtf agents are so my head stops hurting..........
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

lmao, you'll see in time
NapalmEnima
Posts: 4
Joined: 03 Mar 2005, 17:49

Post by NapalmEnima »

We're talking about a skirmish AI right?

I'd like to see a couple different layers in the AI:

1) Direct unit control commands (stuff already in the engine that nees to be exposed to the AI): move, target, shoot, build, etc
2) Unit task commands: patrol, scout, attack, defend, repair, build.
3) strategy-level commands: Building task forces, formations, gathering intel, fine tuning economy/production/defenses... budget ajustments (%30 of income spent on economy improvement, %10 on throw-away scout units, %20 on air units, etc).

One of the things about the OTA AI that bugged me was that it pretty much slapped things down at random. I tend to try to fix things that bug me (or at least figure out how I'd improve it), and this is no different:

I've always thought it would be good to designate various 'zones' that an AI could treat differently. Hostile, neutral, base perimiter, outer base, inner base... this could be represented as a single number representing how 'safe' an area is (as far as the AI is concerned). Different buildings would then be weighted towards different safety levels, while others wouldn't really care. Light defenses might be build almost anywhere, while large AoE mines shouldn't be built inside a densely packed base. Fusion plants should only be built in areas of high safety.... that sort of thing.

Determining how 'safe' a building (or unit) wants to be could be done in a couple different ways. You could assign a fixed number to each unit. You could develope a heuristic to generate it (this building is armed, and cheap, lower its desired safety, that building isn't armed, raise its desired safety, the more expensive something is the more safety it requires... and so on). A combination of the two would let you generate a safety value for TA units while writing in a value for Spring-specific ones.

Determining how safe a particular chunck of map is should be relatively straightforward. For each friendly weapon that can fire on a given square, raise the safety... for each enemy one, lower it. Different weapons should have different values. A Big Bertha doesn't affect safety all that much (low rate of fire), but a buzzsaw Sure As Hell Would... a light laser tower has a serious impact on its small area. You might also want to allow defenses that have entirely closed off a particular section of the map (a corner for example) to affect that section (a flood-fill effect like in a graphics app).

You may or may not want to compute air safety seperately from ground safety... You could even go so far as to alter the safety bonus a weapon gave a particular square based on what enemy units the AI had seen thus far. That way it would emphasize ground D against someone attacking primarily with ground units and so on.

Something else I'd like to see is a standard script language (javascript, lua, etc) used for AI and unit scripting. There are several Free script interpreters out there, no need to reinvent the wheel.

Another thing: How much info is available to the AI? I'd like to see an AI that didn't know anything it shouldn't know. It would only know the location of units it had direct LOS on, and would know about any buildings it had ever seen. A good way to do this (though it does have a minor issue) would be to track when each AI saw a particular map square(whatever you're calling them), and track when each building was started. Just let an AI know about any building older than it's last update of that particular map square. Tracking the last known location of each enemy's commander would probably be a good idea too.

I mentioned a minor issue with the above plan. When the AI 'looks' at what it knows about an enemy base, the engine would check each building's 'born on date' against the last time the AI had a look at that square. It would then know about all the buildings it should know about. BUT, it would also know that any older building that had been destoryed were no longer there. You could either accept this flaw, or keep track of all the buildings that had been destroyed (which could get expensive in longer games), at least until all the AIs in the game had seen that map square after the building was destroyed.

I think I've rambled on enough for now.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

On the contrary the system you suggested and its minor flaw are now obsolete, I will explain when I finish my humongous post
Post Reply

Return to “General Discussion”