I am currently working on AI for RPG game and wondering what is the best way to synchronize AI on several clients.
I thought of two methods.
First, run the AI on the server computer and broadcast to each clients.
Then server needs to load all the appropriate datas, such as level objects(including path points) to perform a path finding or to interact with environments.
Problem on this method is that data size is too big. It could takes up huge memory on server. And another problem is when AI on server need to communicate with datas on client. For example, when AI need to ray cast(picking) to select target or AI need to know character animation status. These datas are on client so client need to send a result to server when requested because its size is too huge for server to hold. This might affect the reaction rate on AI.
Second method is that run AI on each client. If four AIs are need to be spawned and there are two clients, then each client run two AIs.
The problem on this method is a hacking issues. There is no way to prevent AI hack.
If anyone has better solution for both synchronization and preventing hack, please give me advise.
Thanks in advance.
Can you describe the design and details of your game a bit more? There are many options but which ones are suited to your situation will depend heavily on the nature of the game you're trying to build.