This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ai:customrules [2014/10/26 18:07] Mistermind |
ai:customrules [2014/12/05 10:33] (current) Mistermind |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Custom Rules ====== | ====== Custom Rules ====== | ||
+ | |||
Here you can design your own fuzzy rules with an intuitive logic process. | Here you can design your own fuzzy rules with an intuitive logic process. | ||
- | Fuzzy Logic operates with [[http:// | + | Fuzzy Logic operates with [[http:// |
Line 16: | Line 17: | ||
This interface was created to better emulate linguist variables into UFE through its events and conditions. From a logical operator point of view, think of events, conditions and reactions with the following operators: | This interface was created to better emulate linguist variables into UFE through its events and conditions. From a logical operator point of view, think of events, conditions and reactions with the following operators: | ||
- | '' | + | '' |
Where:\\ | Where:\\ | ||
Line 23: | Line 24: | ||
And so on... | And so on... | ||
+ | {{ : | ||
- | The linguistic variables used by the engine are a direct translation of this conditioning | + | The linguistic variables used by the engine are a direct translation of this system, and they can be seen by clicking on //Generated Fuzzy Rules//. |
By default, every reaction has 0 weight, and by default, if no weight is applied to reactions, the character should stay idle. | By default, every reaction has 0 weight, and by default, if no weight is applied to reactions, the character should stay idle. | ||
Line 34: | Line 36: | ||
{{ : | {{ : | ||
==== Event ==== | ==== Event ==== | ||
- | Events contain conditions. A Rule is valid when at least one of the events is **valid**. | + | Events contain conditions. A Rule is active |
- | **Valid when all conditions are**: Allow you to invert the logic of this event. If set to **FALSE**, this event will be considered as a valid entry for the Reaction weight manipulation if its //not// **TRUE**. | + | **Valid when all conditions are**: Allow you to invert the logic of this event. If set to //false//, this event will be considered as a valid entry for the Reaction weight manipulation if its __not__ |
+ | **Enabled** If disabled, this event will not be considered for validation. Use this option for debugging purposes. | ||
---- | ---- | ||
{{ : | {{ : | ||
- | === Condition === | + | ==== Event: |
An event is only valid if all of its conditions are **valid**. | An event is only valid if all of its conditions are **valid**. | ||
- | **Valid when condition is**: Allow you to invert the logic of this condition. If set to **FALSE**, this condition will be considered to be valid if the dictated entry is //not// **TRUE**. | + | **Valid when condition is**: Allow you to invert the logic of this condition. If set to //false//, this condition will be considered to be valid if the dictated entry is __not__ |
+ | **Enabled** If disabled, this condition will not be considered for validation. Use this option for debugging purposes. | ||
+ | **Target:** Should this condition happen to the opponent or to itself. | ||
+ | |||
+ | **Condition Type:** | ||
+ | * //Idle//: Condition valid if the target is idle.\\ | ||
+ | |||
+ | * // | ||
+ | * Direction | ||
+ | * //Moving Forward//: is moving forward. | ||
+ | * //Still//: is __not__ moving horizontally. | ||
+ | * //Moving Back//: is moving back. | ||
+ | * Movement Speed: The speed the target is moving (numeric values for this option can be defined under [[ai: | ||
+ | |||
+ | * //Vertical Movement//: Condition valid if the target is moving vertically. | ||
+ | * Direction | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | |||
+ | * //Health Status//: Condition valid if the target' | ||
+ | |||
+ | * //Gauge Status//: Condition valid if the target' | ||
+ | |||
+ | * // | ||
+ | |||
+ | * // | ||
+ | * Current Frame Data: Valid for moves with active frames. | ||
+ | * //Startup Frames//: move being played is on its startup frames. | ||
+ | * //Active Frames//: move being played is on its active frames. | ||
+ | * //Recovery Frames//: move being played is on its recovery frames. | ||
+ | * Attack Type: Move matches the classification under [[move: | ||
+ | * Gauge Usage: Move uses a certain amount of gauge/ | ||
+ | * Hit Type: Move matches this classification under [[move: | ||
+ | * Hit Confirm Type: Move matches this classification under [[move: | ||
+ | * Startup Speed: Move matches this classification under [[move: | ||
+ | * Recovery Speed: Move matches this classification under [[move: | ||
+ | * Attack Range: | ||
+ | |||
+ | * // | ||
+ | * Blocking State: Is the target blocking High|Low|Air. | ||
+ | |||
+ | * // | ||
+ | |||
+ | * //Down//: Condition valid if target is down. | ||
---- | ---- | ||
Line 53: | Line 100: | ||
When the conditions for one of the events is true, how likely is the AI to attempt the following reaction. | When the conditions for one of the events is true, how likely is the AI to attempt the following reaction. | ||
+ | **Reaction Type:** Tells the AI to execute the following command | ||
+ | * //Idle//: Stop pressing inputs.\\ | ||
+ | |||
+ | * //Move Forward/ | ||
+ | |||
+ | * //Crouch//: Attempts to crouch. | ||
+ | |||
+ | * //Jump Straight/ | ||
+ | |||
+ | * //Crouch Block//: Attempts to crouch and block at the same time. | ||
+ | |||
+ | * //Stand Block//: Attempts to block while standing. If your game is set to have "hold back" as potential block, the character will also move backwards. | ||
+ | |||
+ | * //Jump Block//: Attempts to block while jumping. | ||
+ | |||
+ | * //Play Move//: Attempts to play a move with the following characteristics: | ||
+ | * Attack Type: Move matches the classification under [[move: | ||
+ | * Gauge Usage: Move uses a certain amount of gauge/ | ||
+ | * Hit Type: Move matches this classification under [[move: | ||
+ | * Hit Confirm Type: Move matches this classification under [[move: | ||
+ | * Startup Speed: Move matches this classification under [[move: | ||
+ | * Recovery Speed: Move matches this classification under [[move: | ||
+ | * Attack Range: | ||
+ | |||
+ | * //Change Behaviour//: | ||
+ | |||
+ | |||
+ | **Desirability: | ||