Turning a fully turnbased, PBEM game into server based multiplayer is a massive change. Propably way to big for a 1-man development team.
That being said, there are two improovements that could be make the PBEM basis work closer to a Server Based multiplyer - without changing the games flow at all.
Minor Improovement: Automated Mail sending
Right now players in a PBEM game have to:
1. Find the savegame place on the Computer
2. Put the savegame from teh Email there
3. Load the savegame
4. Play the turn
5. Write a email to send the turn to the next person.
A bit of automation could go a long way to improoving this experience
1-3 can be mostly automated. All you need is:
- A single instance approach similar to Office. The same commandline with arguments is used for every file to open. However, if there already is a instance of Office already running, the new instance will just tell it "user wants us to open file xyz.doc" before quitting.
Normally a big issue is finding the existing instance. But as you would need a communication channel for the filepath anyway, it could also solve this. And you got all the .NET flavors for IPC availible. And Pipes do not seem to trip firewalls on the local machine.
- modify ShadowEmpires.exe to open savegames via commandline and if given a path via IPC
- register ShadowEmpire.exe to open .se1 files like word would. I mean, that is kinda of the reason we had file extensions in the first place.
5 is about as easy to automate. Unfortunately the mailto: protocoll does not support creating maisl with attachments. So You would not get around turning hte game itself into a SMTP client and have the user give their server settings to the programm
The Planetfall way
Saying that Trump Studio has some experience in PBEM via their Age of Wonders IP would be a understatement. They have 2 decades of it.
With AoW: Planetfall they introduced a new Adaptive Multiplayer concept. Now most of the features (like the ability to switch to and from simultaneous turn mode, if all palyers are online) is not that usefull here.
The basic concept however is: Instead of sending the savegame around via Email (wich they could have kept, if the wanted to), they just keep it on a server. The server notifies the player if he can make a turn (Steam Notifications or Emails).
For Shadow Empires it could look like this:
- The server will notify the player (Email, Steam Notification) or his game instance (asuming a existing login) there is a new turn to take
- The game will deal with the plumbing regarding retrieving the savegame from the server.
- the game will load the savegame (maybe after putting it on the disk), like it would any singleplaye savegame
- when the player is finished with his turn, it would upload the new savegame onto the server
For bonus points, the server could do the AI turn calculations (so we got one computer doing that, instead of every single client). And it could also provide previous turns for mere viewing purposes.
< Message edited by zgrssd -- 7/7/2020 4:50:39 PM >