I wanted to know some general guidelines. I'm not worried on the algorithms like pathfinding or aiming (a good bot misses shots sometimes lol). Well, I'm not worried about algorithms for now. First I have to think on wich classes to do and what methods those classes must have.
Actually I know how to do a simple pathfinding algorithm , but i really don't know wich is the simplest way to implement it in my game. Maybe it sounds a funny question but I'm a little worried about that
So maybe it is a good idea see some example before starting hardcoding. Or better, I'd like to do some general discussion on the topic to help me do a todo list.
If that can help someone to help me this is my strategy to develop my game:
1) After several changes to the game i usually start a new project and do some refactoring in some classes and copy-past other codes.
2) I usually try to keep code logically separated and continuosly organize it. (and of course there are more comments than C++ tokens
3) Game actually is something like very modular: a main update method wich calls the updates of sub-classes. The comunication between classes is reduced to the minimum(but i think AI need something very sofisticated and hard to brainstorm).
I have to manage several enemies and allies at once (this is not a RTS, but nether a 1vs1 duel).
Several weapons are needed and so there are differente type of bullets with different speeds. Enemies must be able to dodge shots and predict where player will move for make a realistic fire that try always to hit player in advance
(of course I think I have to do some basics phisics calculation like bullets collision etc.)
thanks.
For example i think every enemy need a different class derived from a IEnemy base class right?.(or better a unique class with some parameters that can be serialized and saved into XML).
I need suggestion like that and different point of view about that topic.
The main reason that make me asking help is that i think a refactoring of AI classes will be harder than other game parts so if I start with a strong base i will save a lot of work. i looked around in the forum without finding what i need.

