I'm creating an RPG game in Java using the libgdx library on the client side.
Apart from the typical RPG functionalities, I would like my game to also include simple multiplayer functionalities:
- ranking of Level, gold, etc. ranking updated e.g. every half an hour.
- Arena - not real-time, a player fighting in the arena is matched with a random opponent who can be offline, the fight is calculated automatically by the server, the player only 'watches'.
- Guild with chat system.
The player does not move around the map, it is more of a game where everything happens automatically after clicking a button, like 'expedition', 'dungeon', where after entering the character automatically fights - something like the Shakes and Fidget games.
I'm wondering:
- Would HTTP communication be sufficient for such a game? I'm wondering if I should simply expose a REST API and communicate over HTTP or maybe it's better to go with websockets? Messages will not be sent often, once every few seconds - start of combat, end of combat etc.
- On the server side, I would also like to write in Java, is Spring Websocket suitable for creating game servers, or am I mixing technologies? I generally have experience with Spring, but not with game development, do you think creating a REST API/websocket for such an MMORPG game using Spring would be okay? Overall, I don't plan to conquer the world with this game, more as a project after work for fun.