Klasické herní AI je hlavně o skriptování a stavových automatech.
Není to o tom, že by nám machine learning neposkytovalo zajímavé výstupy. Je to o tom, že ty výstupy nemusí nutně dodávat tu game experience, kterou hledáme.Jacob Schrum



Doom 1 (1993)
Age of Empires (1997)
Half-life (1998)
Starcraft (1998)
Unreal Tournament (1999)
Quake III (1999)

Black and White (2001)
Halo 2 (2004)
F.E.A.R. (2005)
XCOM: Enemy Unknown (2012)
ARMA 3 (2013)
DOTA 2 (2013) a podobné hry
Starcraft II (2013)

S čím vlastně počítáme
Vlastnosti


| 1 | // Doom 2: find player to chase |
| 2 | void A_Look (mobj_t* actor) { |
| 3 | mobj_t* targ; |
| 4 | actor->threshold = 0; // any shot will wake up |
| 5 | targ = actor->subsector->sector->soundtarget; |
| 6 | if (actor->flags & MF_AMBUSH){ |
| 7 | if (P_CheckSight (actor, actor->target)) |
| 8 | goto seeyou; |
| 9 | } else goto seeyou; |
| 10 | |
| 11 | if (!P_LookForPlayers (actor, false)) return; |
| 12 | // go into chase state |
| 13 | seeyou: |
| 14 | P_ChasePlayer(); |
| 15 | } |



| Stav | Přechod | Podmínka |
|---|---|---|
| Procházej bludištěm | Pronásleduj Pacmana | Pacman zahlédnut |
| Procházej bludištěm | Utíkej od Pacman | Pacman snědl Power Pellet |
| Pronásleduj Pacmana | Procházej bludištěm | Pacman ztracen z dohledu |
| Pronásleduj Pacmana | Utíkej od Pacmana | Pacman snědl Power Pellet |
| Utíkej od Pacmana | Vrať se do domečku | Kolize s Pacmanem |
| Utíkej od Pacmana | Procházej bludištěm | PowerPellet expiroval |
| Vrať se do domečku | Procházej bludištěm | Doběhnuto do domečku |




| Typ uzlu | Success | Failure | Running |
|---|---|---|---|
| Selector | Pokud jeden potomek uspěje | Pokud všichni potomci failnou | Pokud jeden potomek běží |
| Sequence | Pokud všichni potomci uspějí | Pokud jeden potomek failne | Pokud jeden potomek běží |
| Decorator | To záleží | To záleží | To záleží |
| Parallel | Poku N potomků uspěje | Poku M-N potomků uspěje | Pokud všichni potomci běží |
| Action | Při dokončení | Při chybě | Během dokončení |
| Condition | Pokud true | Pokud false | Nikdy |


| Soldier | Assassin | Rat |
|---|---|---|
| Attack | Attack | Animate |
| AttackCrouch | InspectDisturbance | Idle |
| SuppressionFire | LookAtDisturbance | GotoNode |
| FlushOutWithGrenade | AttackMeleeUncloaked | |
| AttackFromCover | TraverseBlockedDoor | |
| BlindFireFromCover | AttackFromAmbush | |
| ReloadCovered | AttackLungeUncloaked |







Herní prvky
Další prvky












Resource Control
Tech tree
Build order (otevření)

Fog of war
Micromanagement



| Pravidlo | Podmínka | Příkaz | Frekvence [ms] |
|---|---|---|---|
| AiRuleWorkerHarvest | Worker stopped | Order worker to harvest | 2 000 |
| AiRuleRefreshHarvester | Worker reassigned | 20 000 | |
| AiRuleScoutPatrol | Base is stable | Send scout patrol | 10 000 |
| AiRuleRepair | Building Damaged | Repair | 10 000 |
| AiRuleReturnBase | Stopped unit | Order return to base | 5 000 |
| AiRuleMassiveAttack | Enough soldiers | Order massive attack | 1 000 |
| AiRuleAddTasks | Tasks empty | Add tasks | 5 000 |
| AiRuleBuildOneFarm | Not enough farms | Build farm | 10 000 |
| AiRuleResourceProducer | Not enough resources | Build resource producer | 5 000 |
| AiRuleProduce | Performing prod. task | 2 000 | |
| AiRuleBuild | Performing build task | 2 000 | |
| AiRuleUpgrade | Performing upg. task | 30 000 | |
| AiRuleUnBlock | Blocked units | Move surrounding units | 3 000 |

All you had to do was follow the damn train!GTA, San Andreas