官术网_书友最值得收藏!

The agent schema

Since, during this book, we will be going through the different parts of how an AI agent can perceive, move, plan, and interact with its surroundings, it will be useful to draw a schema for this. Of course, there can be many other schemas, and they are all equally valid, but I believe that this one is particularly useful for getting started with AI Game Development:

The Agent model that we are going to use in this book

Since we chose a bottom-up approach, we should read the schema from the bottom. We will refer to this in more formal terms as our agent model.

First, we can see that the agent always exchanges information with the Game World, which includes geometry, physics, and animations, but also abstractions of it. This information is used at all the levels of our agent model.

From the bottom, we can see that our first concern is how to move in the environment. This is a process that can be split into Motion and Pathfinding (Chapter 3, Navigation). Going up the chain, we can see that the agent perceives the world (Chapter 4, Environment Query System, and 5, Agent Awareness), and, based on this perception, the agent can make a decision (Chapter 2, Behavior Trees and Blackboards). Sometimes, making the best decision at that moment in time, might not lead to a better result in the long run, and so the agent should be able to plan ahead. Often, in video games, an AI system (which is not necessarily an NPC) can control more than one character, and, as a result, it should be able to coordinate a group of characters. Finally, the agent might need to collaborate with other agents. Of course, we won't be able to go deep into each topic in this book, but feel free to take a look online so that you can dive deeper into certain topics.

One final remark: Often, AI in games doesn't use all of these levels at once; some implement just one of them, or mix them up. However, it's important to keep in mind how things are structured before you start playing with them.

主站蜘蛛池模板: 高台县| 特克斯县| 呼和浩特市| 仲巴县| 麻栗坡县| 巴青县| 九江市| 中阳县| 汶上县| 洛宁县| 岢岚县| 辽阳县| 历史| 镇坪县| 常宁市| 万宁市| 红桥区| 铜梁县| 双牌县| 望奎县| 柳江县| 酉阳| 隆安县| 巫山县| 东乌| 敖汉旗| 大同市| 讷河市| 盐城市| 郁南县| 锦屏县| 苗栗市| 鄂伦春自治旗| 琼结县| 八宿县| 乐山市| 九寨沟县| 绥阳县| 潍坊市| 双鸭山市| 财经|