User Tools

Site Tools


ai:customrules

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ai:customrules [2014/10/26 19:03]
Mistermind
ai:customrules [2014/12/05 10:33] (current)
Mistermind
Line 2: Line 2:
  
 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://en.wikipedia.org/wiki/Fuzzy_logic#Linguistic_variables|Linguisit Variables]] to facilitate the weight calculation process.+Fuzzy Logic operates with [[http://en.wikipedia.org/wiki/Fuzzy_logic#Linguistic_variables|Linguistic Variables]] to facilitate the weight calculation process.
  
  
Line 17: 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:
  
-''IF (Condition1 AND Condition2 AND ...) OR (Condition3 AND Condition4 AND ...) THEN [Reaction] is [Desirable Value]''+''IF (Condition1 AND Condition2 AND ...) OR (Condition3 AND Condition4 AND ...) THEN [Reaction] is [Desirability Value]''
  
 Where:\\ Where:\\
Line 24: Line 24:
 And so on... And so on...
  
 +{{ :ai:ai_fuzzytranslation.jpg?nolink |}}
  
 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//. 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//.
Line 35: Line 36:
 {{ :ai:ai_customrules_events.jpg?nolink|}} {{ :ai:ai_customrules_events.jpg?nolink|}}
 ==== 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 when at least one of the events is **valid**.
  
-**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__ //true//.
  
 **Enabled** If disabled, this event will not be considered for validation. Use this option for debugging purposes. **Enabled** If disabled, this event will not be considered for validation. Use this option for debugging purposes.
Line 43: Line 44:
 ---- ----
 {{ :ai:ai_customrules_conditions.jpg?nolink|}} {{ :ai:ai_customrules_conditions.jpg?nolink|}}
-=== Condition ===+==== Event: Condition ====
 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__ //true//.
  
 **Enabled** If disabled, this condition will not be considered for validation. Use this option for debugging purposes. **Enabled** If disabled, this condition will not be considered for validation. Use this option for debugging purposes.
Line 58: Line 59:
      * Direction      * Direction
        * //Moving Forward//: is moving forward.        * //Moving Forward//: is moving forward.
-       * //Sill//: is __not__ moving horizontally.+       * //Still//: is __not__ moving horizontally.
        * //Moving Back//: is moving back.        * //Moving Back//: is moving back.
-     * Movement Speed: The speed the target is moving (numeric variations can be defined under [[a:definitions|Definitions]]).+     * Movement Speed: The speed the target is moving (numeric values for this option can be defined under [[ai:definitions|Definitions]]).
  
   * //Vertical Movement//: Condition valid if the target is moving vertically.   * //Vertical Movement//: Condition valid if the target is moving vertically.
Line 66: Line 67:
        * //Crouching//: is crouching.        * //Crouching//: is crouching.
        * //Standing//: is __not__ moving vertically.        * //Standing//: is __not__ moving vertically.
-       * //Jumping//: is jumping (or moving vertically through applied force).+       * //Jumping//: is jumping **or** moving vertically through applied force.
  
-  * //Health Status//: Condition valid if the target's health matches the ''Health'' variation set here.+  * //Health Status//: Condition valid if the target's health matches the ''Health'' variation set here (numeric values for this option can be defined under [[ai:definitions|Definitions]]).
  
   * //Gauge Status//: Condition valid if the target's gauge/meter matches the ''Gauge'' variation set here.   * //Gauge Status//: Condition valid if the target's gauge/meter matches the ''Gauge'' variation set here.
  
-  * //Distance//: Condition valid if the target's distance matches the ''Proximity'' variation set here (numeric variations can be defined under [[a:definitions|Definitions]]).+  * //Distance//: Condition valid if the target's distance matches the ''Proximity'' variation set here(numeric values for this option can be defined under [[ai:definitions|Definitions]]).
  
   * //Attacking//: Condition valid if target is playing a move matching the conditions below.   * //Attacking//: Condition valid if target is playing a move matching the conditions below.
Line 79: Line 80:
        * //Active Frames//: move being played is on its active frames.        * //Active Frames//: move being played is on its active frames.
        * //Recovery Frames//: move being played is on its recovery frames.        * //Recovery Frames//: move being played is on its recovery frames.
-     * Attack Type: Move matches the classification provided under [[move:aidefinitions|Move Editor -> AI Definitions]].+     * Attack Type: Move matches the classification under [[move:aidefinitions|Move Editor -> AI Definitions]].
      * Gauge Usage: Move uses a certain amount of gauge/meter.      * Gauge Usage: Move uses a certain amount of gauge/meter.
      * Hit Type: Move matches this classification under [[move:aidefinitions|Move Editor -> AI Definitions]].      * Hit Type: Move matches this classification under [[move:aidefinitions|Move Editor -> AI Definitions]].
Line 99: 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/Back//: Attempts to move forward/back.
 +
 +  * //Crouch//: Attempts to crouch.
 +
 +  * //Jump Straight/Forward/Back//: Attempts to jump Straight/Forward/Back.
 +
 +  * //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:aidefinitions|Move Editor -> AI Definitions]].
 +     * Gauge Usage: Move uses a certain amount of gauge/meter.
 +     * Hit Type: Move matches this classification under [[move:aidefinitions|Move Editor -> AI Definitions]].
 +     * Hit Confirm Type: Move matches this classification under [[move:aidefinitions|Move Editor -> AI Definitions]].
 +     * Startup Speed: Move matches this classification under [[move:aidefinitions|Move Editor -> AI Definitions]].
 +     * Recovery Speed: Move matches this classification under [[move:aidefinitions|Move Editor -> AI Definitions]].
 +     * Attack Range:  Move matches this classification under [[move:aidefinitions|Move Editor -> AI Definitions]].
 +
 +  * //Change Behaviour//: The AI will attempt to load a new instruction file based on the behaviour selected. Only works if the character has an instruction set for that behaviour.
 +
 +
 +**Desirability:** Tells the AI how desirable (or not) this reaction is (numeric values for this option can be defined under [[ai:definitions|Definitions]]).
  
  
ai/customrules.1414364630.txt.gz · Last modified: 2014/10/26 19:03 by Mistermind