AI can be really tricky in these kinds of games. If you are using a 3d environment you will probably need to set out invisible waypoints or some other datastructure to "guide" the AI. This can take a lot of time to fine-tune.
And yes, making it a fun game is allways the hardest part. I've written two games in pascal and while they both worked great, they were still not well-balanced and still miss that replay value a good game needs.
Good luck (You'll need it)