- Unity Artificial Intelligence Programming
- Dr. Davide Aversa Aung Sithu Kyaw Clifford Peters
- 337字
- 2021-06-10 18:57:46
Random and probability in AI
Imagine an enemy bot in a First Person Shooter (FPS) game that can always kill the player with a headshot, an opponent in a racing game that always chooses the best route and overtakes without collision with any obstacle. Such a level of intelligence will make the game so hard that it becomes almost impossible to win and thus frustrating. On the opposite side of the spectrum, imagine an AI enemy that always chooses the same route when it tries to escape from or attack the player. AI controlled entities behaving the same way every time the player encounters them, make the game predictable, easy to win, and therefore boring.
Both of the previous situations affect the fun aspect of the game and make the player feel like the game is not challenging or fair enough anymore. One way to fix this sort of perfect AI and stupid AI is to introduce some intentional mistakes in their behavior. In games, randomness and probabilities are applied in the decision-making process of AI calculations. The following are the main situations when we would want to let our AI take a random decision:
- Non-intentional: In some situations, an NPC might need to make a decision randomly, just because it doesn't have enough information to make a perfect decision, and/or it doesn't really matter what decision it makes. Just making a decision randomly and hoping for the best result is a perfect solution in many real-world situations.
- Intentional: As we discussed in the previous examples, we will need to add some randomness purposely to make them more realistic, and also to match a difficulty level that suits the player. We can use randomness for things such as hit probabilities, add or subtract a certain random damage on top of base damage, or make an NPC hesitate before start shooting. Using randomness and probability, we can add a sense of realistic uncertainty to our game and make our AI system more fair and/or unpredictable.
- 物聯(lián)網(wǎng)與北斗應(yīng)用
- 面向物聯(lián)網(wǎng)的CC2530與傳感器應(yīng)用開發(fā)
- 物聯(lián)網(wǎng)安全技術(shù)
- 圖解手機(jī)元器件維修技巧
- Master Apache JMeter:From Load Testing to DevOps
- 云計(jì)算技術(shù)與標(biāo)準(zhǔn)化
- Web用戶查詢?nèi)罩就诰蚺c應(yīng)用
- Getting Started with tmux
- 深入理解計(jì)算機(jī)網(wǎng)絡(luò)
- 算力網(wǎng)絡(luò):云網(wǎng)融合2.0時(shí)代的網(wǎng)絡(luò)架構(gòu)與關(guān)鍵技術(shù)
- 智能物聯(lián)安防視頻技術(shù)基礎(chǔ)與應(yīng)用
- OSPF協(xié)議原理與功能拓展
- Hands-On Cloud:Native Microservices with Jakarta EE
- 智能家庭網(wǎng)絡(luò):技術(shù)、標(biāo)準(zhǔn)與應(yīng)用實(shí)踐
- SNS網(wǎng)站構(gòu)建