Some good points here, but a few points remain unmentioned.
AI doesn't have to be hard to program. In Unity I can make a basic AI with only adding One line of code to a C# script and using navMesh. The more complex you make the AI the harder it becomes to program it well, and with added complexity comes the need for more compute time and a lot of it. You can end up with having just one AI needing to get data from ten's of sources before making a decision, some might need to do checks every frame. Multiply that with how many AI's you have in your scene atm and you are starting to spend a lot of your compute time. Look into AI State Machines and behavior trees if anyone is interested.
There is also the human factor, the player. An AI can't be too smart, or else the player might start feeling cheated or that the game is stacked against him/her. It needs to be balanced to a point where it is challenging, rewarding and fun for the most amount of people in your target audience. So hardcore players might find the AI stupid or not challenging enough, but the hardcore might only account for 10% of the target audience.
Log in to comment