Trigger AI
May 10 2011, 7:15 am
By: Sacrieur  

May 10 2011, 7:15 am Sacrieur Post #1

Still Napping



Aperture productions presents...




System Overview


This system operates off of discrete event subsystem. This is because triggers are event systems, and as such model well into the system for our input. Triggers represent limited If, then arguments, known as modus ponens. If we are to perform decision making, then we must grant additional logical operators for our use. Luckily, we can do such through the use of triggers. Basic trigger AI will function as:

Input → Processing → Output

Various expansions to this concept will be introduced and expanded on. These take the following form.

Input → Processing → Output
||||||||||||↑↓
|||||||||Database

This additional storage of information has various advantages over the previous system. Rather than things like build orders, objectives, and various other knowledge having to be hard-coded into the processing unit, we can instead separate it out and put it in an easily accessible format. All data will be stored virtually, and so it is possible to add data while a game is being played. The most notable application of this is in the implementation of simple self-learning algorithms. It is possible to apply Darwin's theory of natural selection, and reward those actions which achieve prolific results, while punishing those that receive negative outcomes. This "blind" self-adapting system would change its tactics based on the opponent's tactics; ultimately creating a more fulfilling game experience.




Phase I
Designing Input Peripherals


(In Progress)



None.

May 10 2011, 7:16 am Sacrieur Post #2

Still Napping

The above post will be updated as I finish writing more and more. I promise I do have it all planned out, I just need to put into words / add graphics. The above post is separate because I will add more and more as more and more theory is stacked on it.



None.

May 11 2011, 12:38 am The_UrChai Post #3



I always thought something like this could work. might take some time but everything in mapmaking does. A large amount of triggers could make a pretty extreme Desert Strike AI no? This is exciting! Also in color!



None.

May 11 2011, 3:38 am Wormer Post #4



Sorry, but IMHO a large amount of triggers could make a pretty extreme lag... :|



Some.

May 12 2011, 4:27 pm Heinermann Post #5

memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes

If there are 8 players in the game, and you have a trigger owned by All Players, then the conditions and actions for that trigger are executed 8 times every 2 frames, assuming you are using Hyper Triggers and no other waits.
You can reduce execution time by running very specific conditions, and ordering the condition most likely to be false at the top of the list.

Computers will have a hard time choking on one hundred thousand triggers (if that's the case..). It's like running a brute force algorithm for a 6-digit numeric password every 84ms.




May 20 2011, 2:00 am Lanthanide Post #6



It seems that actually using this to make anything practical would take prodigious amounts of effort. And there might be bugs in the underlying system, too.



None.

May 20 2011, 7:40 am Sacrieur Post #7

Still Napping

Quote from name:shadow649
I always thought something like this could work. might take some time but everything in mapmaking does. A large amount of triggers could make a pretty extreme Desert Strike AI no? This is exciting! Also in color!

A large amount of triggers will also cause lag.

Quote from Wormer
Sorry, but IMHO a large amount of triggers could make a pretty extreme lag... :|

Indeed, the number of triggers must be kept at a minimum.


Quote from Heinermann
If there are 8 players in the game, and you have a trigger owned by All Players, then the conditions and actions for that trigger are executed 8 times every 2 frames, assuming you are using Hyper Triggers and no other waits.
You can reduce execution time by running very specific conditions, and ordering the condition most likely to be false at the top of the list.

Computers will have a hard time choking on one hundred thousand triggers (if that's the case..). It's like running a brute force algorithm for a 6-digit numeric password every 84ms.

Dealing with this issue partially tonight. The computer will be player 1 and thus at the top of the list. Triggers that have no use will be turned off.

Quote from Lanthanide
It seems that actually using this to make anything practical would take prodigious amounts of effort. And there might be bugs in the underlying system, too.

Depends how meticulous I am in my work. My maps are typically obsessively organized, I should have little problem finding and fixing bugs.



None.

May 20 2011, 11:39 pm Heinermann Post #8

memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes memes

Note that Comment and Preserve Trigger are iterated and treated like other actions.
You can reduce a call by unchecking/disabling Comment actions until map completion.
Every condition is read until one of them returns false, so (as I said before) make sure you put the conditions most likely to be false at the top.

The behaviour of "Always" is the same as Comment. It' calls another function, and you can reduce that call by having no conditions at all, or unchecking/disabling Always.




Jun 1 2011, 3:22 am m.0.n.3.y Post #9



You ever going to write this?



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[04:56 am]
Ultraviolet -- I suppose we'll likely never know, but my guess would be that they already saw it operating successfully and there was no monetary incentive to finish the original work. And the dev cycle in old school Blizzard was so hectic, it's possible it just got forgotten about after the original game got released. Plus there's an element of existing MPQ files that were packaged with the original discs becoming outdated if they updated it. And it's not like they remade the original MPQs, they just made new ones for BW specifically
[04:26 am]
Oh_Man -- so that makes me think maybe the theory they are unfinished is not true and its a deliberate design decision, coz why not finish them wen ur making brood war?
[04:25 am]
Oh_Man -- the thing is thos buildings are from classic. that means they went ahead and made brood war without ever finishing the 'unfinished' buildings
[06:15 pm]
Ultraviolet -- Yeah he's talked about a lot of that stuff in his casts before. It seems plausible. Especially knowing how Blizzard of yesteryear operated.
[03:47 pm]
NudeRaider -- to clarify: couldn't recall the behavior for every single Protoss building but I was aware the disparity exists.
[03:43 pm]
NudeRaider -- Contained nothing new for me. Didn't know all building's behavior, but very much all unit's. Also Terran balance whine - also nothing new :lol:
[2026-6-19. : 9:57 am]
Oh_Man -- makes me wonder if SEN knows anything about the topic
[2026-6-19. : 9:57 am]
Oh_Man -- artosis dropped pretty interesting vid: https://youtu.be/EqZHB8Blra4
[2026-6-18. : 5:01 pm]
Ultraviolet -- :wob:
[2026-6-17. : 6:15 am]
RexyRex -- :wob:
Please log in to shout.


Members Online: NudeRaider