Frogboy Frogboy

Thoughts on Multiplayer from the developers...

Thoughts on Multiplayer from the developers...

I was thinking (happens once in a great while) about how one could do multiplayer in turn based strategy game.

Then it hit me, why not have the game exist not on any of the player's computer but instead reside on the server as part of a database.  This would combine the best features of play by email and RTS together. Let me explain:

Player Joe starts a new game. The game is then added to the Metaverse as an active game. Joe gets a special "master" code for his game. Other players can then join in at any time. Player Joe can set it so that only people who know the guest code can join in or any player can join in. Each turn updates the data on the master server so the data is persistent on the server.  Players who join in at the start get a guest code.

Dropped connection? No problem, just reconnect and continue where you left off, an AI player can take over while you reconnect. Then just enter your guest code and continue.

Long game? No problem, just agree to play X number of years and resume a week later.  If that next week one of the guys can't make it, you can continue on without him (unless he's the game creator i.e. the "dungeon master" so to speak) -- obviously it would be polite to get the missing guy's permission to do that.

And because it's handled by a central server, you could have smart turns. This would be something in between simutenous (sp) turns and individual turns. Smart turns would be such that if two human players can't possibly interact in a given turn with their units, they can move at the same time. Otherwise, any units in areas that conflict would have to go in player order.

And by having the game data on the Metaverse rather than one of the player machines, other players can optionally be able to check out the stats on the game in real time. Almost like box scores in baseball.

But the key thing here is having the persistent server handling it all. It reduces the bandwidth needed and eliminates the whole "disconnect" problem since players can jump back in later on or you can have other players jump in or just exit and continue later with fresh players to pick up where you left off.

These are just some thoughts and there won't be any multiplayer system in GalCiv 1.x and if there is a 2.x it probably wouldn't be in that initially either. But it seems, on paper anyway, that this kind of system is workable.

1,916 views 27 replies
Reply #26 Top

For me, the big thing is a persistent on-line world.

I play multiplayer games pretty regularly and the disconnect issue is just a killer. And in a turn based game that can last many hours, having the game ruined due to connectivity problems is too much of an issue not to be dealt with.

I want to be able to get together with friends and such and just keep the game doing. I think it would also be faster because odds are, our server can transmit the data to clients faster than  the guy serving the game having to send the data the clients.

I do like the idea someone had where you can't go to war without declaring war. Therefore, you could all move at the same time as long as you weren't at war with that plwyer. Then any ships in the same area as someone who you're at war with would have to go in order of turns.

 

Reply #27 Top
Hi brad,

i'm currently developing a turn based strat game myself and have come up against the same sticky situation. There are several ways to go about it, but they all have a downside. how *do* you get 2-4 players to move a suite of units on a map without A) moving them all at once, or B) moving them one at a time and taking forever?

There are two ways to go about it in my mind: the first is simultanious movement with a "planning phase". Every player puts in their orders for the turn and when all players have clicked NEXT TURN, all units move one square, fight or whatever, then move another square. the problem here is that you have no good way to sort out dependencies. GalCiv is like my game in that two units cannot occupy the same square. thus if i move to X,Y and another player *also* moves to X,Y, who really occupies the square when the turn is processed? hmmmm...

the other way is to move each unit in order. in my game (borrowing from Master of Orion a bit), each unit has a speed attribute of 1-100. Units move in order by their *initiative*. if two units have the same speed, they flip for it (or just let the computer go with the default). You would watch as each unit moved, fought, and whatever else they are going to do. If the unit being moved is not yours AND you cannot see it, you just get a status bar update like "moving other players". For two players, this is a GREAT way to do it. For ~4, it gets a bit crazy as you would have to sit and wait for a lot of moves that are not yours and that you can't see anyway in the middle of the game.

The good news is that GalCiv has no external combat screen. There's no "fight scene", just a quick zip from a laser and what's done is done. My game and also for comparison MOO3 do have external combat sequences, so that will certainly speed things up for GalCiv.

And as for the stardock being the MP hub, bad idea. i'd like to be able to play with some friends w/o internet access on a LAN. just MHO.

hope that helps a bit.