Is this the right use case for using Colyseus?

I am currently working on an academic project which requires us to build a monopoly playing agent and an adjudicator platform for the agents to play against each other, a UI Interface to reflect the actions taken by the agents and bunch of other things like logging etc.

I was thinking of the following architecture which consists of two different kind of clients - AI Agents and a UI Client. Is this is the right use case for using Colyseus as the game server? And also the AI agents are typically python programs, so I wondering if there is already a python client available? If not how hard is to write a minimalistic one?

Any help would be appreciated.

0_1540487551151_Game Adjudicator.png

Hi @varunhegde93, welcome!

Wouldn't it be easier to write the AI agents directly in the server, using JavaScript/TypeScript? I don't see the need to have an external service for the AI.

Or, maybe you could make the agents directly in the UI client itself, having multiple connections to the same room/server.


Thanks endel for the response.

The AI agent is built by multiple teams and the goal of this exercise would be to make the different agents compete against each other. So enforcing a language restriction on different teams is not an option. Further the standard implementations of the AI/ML libraries are more easily found in python than in Javascript. For the same reasons I am trying to separate the clients and the game server implementation.