- Unity 2017 Game AI Programming(Third Edition)
- Ray Barrera Aung Sithu Kyaw Thet Naing Swe
- 260字
- 2021-07-02 19:14:11
Finite State Machines
Finite State Machines (FSM) can be considered one of the simplest AI models, and they are commonly used in games. A state machine basically consists of a set number of states that are connected in a graph by the transitions between them. A game entity starts with an initial state and then looks out for the events and rules that will trigger a transition to another state. A game entity can only be in exactly one state at any given time.
For example, let's take a look at an AI guard character in a typical shooting game. Its states could be as simple as patrolling, chasing, and shooting:
There are basically four components in a simple FSM:
- States: This component defines a set of distinct states that a game entity or an NPC can choose from (patrol, chase, and shoot)
- Transitions: This component defines relations between different states
- Rules: This component is used to trigger a state transition (player on sight, close enough to attack, and lost/killed player)
- Events: This is the component that will trigger to check the rules (guard's visible area, distance to the player, and so on)
FSMs are commonly used go-to AI patterns in game development because they are relatively easy to implement, visualize, and understand. Using simple if/else statements or switch statements, we can easily implement an FSM. It can get messy as we start to have more states and more transitions. We'll look at how to manage a simple FSM more in depth in Chapter 2, Finite State Machines and You.
- HornetQ Messaging Developer’s Guide
- ExtGWT Rich Internet Application Cookbook
- JavaScript從入門到精通(微視頻精編版)
- Java應(yīng)用開發(fā)與實(shí)踐
- HTML5 移動(dòng)Web開發(fā)從入門到精通(微課精編版)
- PostgreSQL技術(shù)內(nèi)幕:事務(wù)處理深度探索
- Spring Boot+Spring Cloud+Vue+Element項(xiàng)目實(shí)戰(zhàn):手把手教你開發(fā)權(quán)限管理系統(tǒng)
- OpenCV 3和Qt5計(jì)算機(jī)視覺應(yīng)用開發(fā)
- Learning Elixir
- 基于免疫進(jìn)化的算法及應(yīng)用研究
- x86匯編語言:從實(shí)模式到保護(hù)模式(第2版)
- Building Mobile Applications Using Kendo UI Mobile and ASP.NET Web API
- 硅谷Python工程師面試指南:數(shù)據(jù)結(jié)構(gòu)、算法與系統(tǒng)設(shè)計(jì)
- Internet of Things with ESP8266
- PHP與MySQL權(quán)威指南