Anybody do PBEM (Play by EMail) with MonoGame?

I need to create a PBEM (Play by EMail) for my game. What we’re probably looking at this point is using a OneDrive, GoogleDrive, Azure Blob, to temporarily store ZIP files. The game would have to automatically grab the file from the specified storage. We will probably use Steam’s “Game Notification” to alert the other player that it’s their turn and to automatically download the file from a URL.

Does anybody have any reason to expect that MonoGame would have problems doing this?

Monogame has no networking capabilities, so it’ll just depend on whatever other library you use to download those files.

2 Likes

Yeah, that’s what I thought.

Receive and Read Email from C# / VB.NET applications (gemboxsoftware.com)

Thanks. I think the question that I need to resolve is how much data needs to be sent between players. I would guess that it’s < 1MB. Still, a lot of email servers automatically strip out any attached zip files. Getting around that may be the problem.

You could package your data in something other than a zip file if you’re set on sending it through email. More reliably, you could have your game client upload/download whatever data is necessary to/from an FTP server or some such. At <1MB per active game, this likely wouldn’t cost you much (you can run a simple FTP VPS for like $5/mo with 25GB storage), but would have an ongoing cost.

The bigger issue I would see with sending your game data directly via email is that unless your users are willing to give you unrestricted access to their email (let your game login to their email via API/SMTP/whatever), then they have to download the data each time and use some in-game function to load said data, which I assume is a more clunky experience than you’re going for.

I used an FTP method before, I like that idea as an intermediary solution.

EDIT

Mind you, you could use the FTP as a history archive for move history/undoing for both/all parties…

If you use E-Mail you’d need to carry SMTP user credentials with your exe, and everyone can technically read that and abuse your mail-server - so I would not advise to use a direct e-mail approach.

So at least get some cheap webspace, put a php script there which will handle the smtp feed for sending, that way all user credentials are hidden. But when using a PHP relay anyway you could just it directly and make it simply file based on the same server (and send an e-mail from there when a player finished a move)

1 Like