Create a chess like strategy game with advanced AI and multiplayer support

Hi!

I plan to implement a chess like abstract strategy game. The main purpose of the project is to experiment with different kinds of AI (classical Alpha-Beta and hopefylly something based on machine learning). But I would also like to add multiplayer support. I’m thinking about using Python and Flask for the backend. The main reason for looking at GDevelop is that I wan’t to minimize non-AI related coding (and work in general).

Is this feasible using GDevelop 5 or should I look for somthing else?
Are there any tutorials that describe making a similar game or parts of it?
Is it “easy” to work with advanced AI in GDevelop? Are the tools provided by the engine powerful enough and/or are there easy to use interfaces so that I can offload work to a backend AI engine without rewriting too much?
Is it “easy” (available best practices, APIs or tutorials etc.) to connect the frontend app to a backend multiplayer server?

Best Regards,
Sixten

If you really minimize requests yes an http server can be used for multiplyer.

I don’t know if it is really difficult because I’ve never fiddled too much with AIs but I’ve seen incredible ones. It shouldn’t be that difficult but I wouldn’t recommend making one of you have no exeprience in GDevelop or game development.

I am not sure to see what you mean, I think what you want are custom behaviors.

It shouldn’t be too difficult with http requests tho they can be slow and are blocking so you the game would freeze on each reauest on slow PCs with bad internet.
Websockets are the best way of achieving multiplayer but they require knowledge of JavaScript. You would still be able to make a backend in python with the PIP package “websockets”.
You can also take a look at the Peer to Peer connectivity extension that will come out in the next versions of GDevelop.

I’m thinking about using Flask for user management and things like that. Actual game moves could be sent peer-to-peer using some different protocol. Since it’s not a real time game, I’m not too concerned with performance at this stage.

Do you know of any chess like games implemented with GDevelop 5?

I think I’ve figured this out now. I can just implement my agents in an external Javascript library and then call that library from " JavaScript Code events".

Is there a more proper way to include external content than loading it from within the event hook?

Loading your external content from the JS action is optimal, and a nice workflow too.

Taking into account you’ll be implementing the IA from external files, that depends on you, not GD.

But it’s perfectly possible to build a decent IA only using the native GD events. I made an extremely competent four-in-a-row IA once. You’re intending to do something much more ambitious, but it seems to me the way you’re putting it is the right way.

1 Like