Implementing a self-driving car
What fun is a racing game without competitors? This is one of the most difficult subjects in artificial intelligence for games. It is usually tackled by creating cheater agents that disable certain limitations that are always imposed on the player, such as physics behaviors; this is because these limitations can create erratic or imprecise behaviors when evaluated by AI. In our case, we will approach the problem organically using techniques from a previous chapter.
Getting ready
In this chapter, we will explore how to create an autonomous car using advanced techniques from Chapter 1, Movement, such as following a path and avoiding walls. So, it is important to have grasped the knowledge behind them.
How to do it...
Create an empty GameObject.
Attach the Agent component.
Attach the FollowPath component.
Attach the WallAvoid component.
Create the track using the track pieces with the PathNode component.
Tag the track borders as walls.
Make sure the track is complete.