Virtual scenarios need conflicts, consequences, and potential rewards to feel real to players. Without these three things, there's no incentive for the player to care what happens to their in-game character. And while there are plenty of game mechanics that deliver on one or more of these conditions, nothing beats an enemy that will seek you out and try to end your session.
Programming an intelligent enemy is no easy task, and often goes hand in hand with long hours and frustration. However, Unity has built-in features, components, and classes that we can use to design and implement AI systems in a more user-friendly way. These tools will push the first playable iteration of Hero Born over the finish line and provide a springboard for more advanced C# topics.
In this chapter, we'll focus on the following topics:
- The Unity navigation system
- Static...