Multiplayer, in hindsight


Now that the game is in a place where it can at least be exercised a bit I've turned my attention to mutliplayer support and I confess I am discouraged.

I’ve made the rookie mistake of thinking that once I had the single player experience in a reasonable shape I’d swing back and move it to multiplayer. This mistake is doubly embarrassing as I've made it previously on a game I was paid to implement almost a decade ago. o_o To my credit I’ve even anticipated some of the needs here in that I can run the entire thing headless AI vs AI for testing purposes without issue at present. I was cocky and assumed that the path to multiplayer, while likely laborious, would at least be obvious.

Friends, I am here to say that I have clown makeup all over my face. I do not see an immediate path forward using the multiplayer affordances offered by Godot. It feels as if they are in complete contrast to a single player experience. Signals, groups, resources, all of these tools that have been a strength in developing the single player game feel like liabilities now that I am expected to utilize an RPC framework with no support for signals and no out of the box support for resource serialization. I’ve had several false starts already trying to get a shovel in the ground and I am fearing that to make use of Godot multiplayer as it seems to be intended to be used it will be a ground-up re-write. I fear that if I really want to proceed with a multiplayer mode forgoing built in multiplayer support other than the most basic of message passing may be the only realistic option and I will just reimplement it all myself on top of my existing abstractions.

The fault here is my own - I should not have assumed that the multiplayer support would be compatible with other features I’ve mentioned but at the same time I dp find it surprising that they feel so much at odds. Developing for multiplayer vs developing for single player feel like two very different experiences with incompatible philosophies. It's not that I feel one is better than the other just that they do not mix particularly well.

Has anyone else had a similar experience attempting to retrofit multiplayer into a Godot project? Am I missing the mark here?

tl;dr if you're planning on a game that may eventually have multiplayer bake multiplayer in at the early stages of development so you dont implement yourself into a corner.

Get Game On! Mahjong

Leave a comment

Log in with itch.io to leave a comment.