SUGGESTION - ability to join a game and take over AI spot.

with the ammount of people that drop from multiplayer games i feel it is really needed to be able to join an already existing game and be able to take over an AI spot from where someone has left. i know its possible because in civ4 you can do that.
just to be clear i mean.

player A drops > AI takes over > player X joins and controls player A's planets and fleets.

i understand it would mean rewriting how the lobby works and probably a fair bit of coding but the save games arent that huge and with people on fast connections these days when someone trys to join the game could pause and save then the joining player could load the game world and play would resume as normal.

when your playing with random people which is by far the most common scenario if someone crashes you dont know the game bombed to desktop and when one person disapears from the game often others will follow becuase it was a 2v2 or 3v3 and they dont want to play a game where there destined to lose now.

even the FFA games always end up with teams
24,404 views 25 replies
Reply #1 Top
Yeah, this would make games much more playable. I'd really like this.
Reply #3 Top
A way to join games in progress would be nice :)
Reply #4 Top
If it's not possible to make the players join while the game is still going, it could be a function when loading a game. So if a player crashed to desktop, you could even save, stop, and load the game with the guy back.
Reply #5 Top
/signed
Both that a standard Medium AI takes over when someone quits or disconnects, and that a player can join the game in progress if an AI is free to occupy.
PLEASE :)
Reply #6 Top
I'm pretty sure you can already do this, just save, send the save file to the other guy, have him join and he'll join back in the slot where he was before.
Reply #7 Top
I'm pretty sure you can already do this, just save, send the save file to the other guy, have him join and he'll join back in the slot where he was before.


I think the idea is that for a game that is already in progress, the ability to join an on-going in place of an AI (without having to have the saved game file).

Reply #8 Top
Hmmm... Yet another of my posts vanishes...

Anyway I posted the other day I support this idea but for the normal reasons people want it so. I think it would be a great analytical tool for modders to understanding how the AI player personalities actually function.
Reply #9 Top

I'm pretty sure you can already do this, just save, send the save file to the other guy, have him join and he'll join back in the slot where he was before.


you can not tell a random person who drops from your game you will be rehosting the game and loading from a save, you can not find a random person in the lobby to take there place with a save game file either and you can not garuntee if you do reload from a save game that the rest of the players will rejoin your lobby they might decide they didnt start in a good position and just go elsewhere at the first interuption.

what i want is for people to have the ability to join an already existing game that is in play in civ4 you can do that so it is obviously possible, civ4 is far more complicated than this game is it just doesnt have the flashy graphics so theres not really any excuse to say it isnt possible.
Reply #10 Top
Thinking through this, it's really a no-win scenario.

The client would have to download the current save file automatically to rejoin a game in progress. The problem with this is twofold:

1. If anything happens between the sending of the save file (which is a few megabytes in size) and the player join, that data now has to be updated again
2. Latency issues would abound as the host now has to upload a save file to the client

What will happen is that on a slow connection the changes (research, fleet production, movement) will multiply with the slow upload, meaning the upload will never "catch up" and will in fact increase almost exponentially as the players do things while the upload is in progress. This will have a detrimental effect on a lot of connections, considering even the average cable upload speed (at least in the US, I know AU is in a similar situation) is only 32kb/s (256kbps). It's unlikely that upload speed will be able to "outrun" a game where even a tiny change in fleet movement can throw off all your data (and this is very important in multiplayer), and therefore it's impractical.

Civ 4 may not suffer from this problem as it is turn based. You can represent movement from X territory to Y pretty easily in a save file, but when you're talking about a 3 dimensional playing field where a ship's position is never constant...no way.

The only way I can see this happening is that a player receives the latest save file he can, and concurrent changes are added to that save file. Which may suffer from the same problems as above. Or, you just pause the game, but with a slow host connection that might take a while (the saves are pretty big).

If any devs care to correct me on this let me know, but I think that's the nail in the coffin for the idea save the exceptions above.
Reply #11 Top
Just had an idea. I don't know if it's possible or not.

If there was a list of ongoing games that needed more players, a player would choose a game to join. The server pauses the game for the players whilst the new player downloads the save, once the player is in with the save downloaded, away we go. So there isn't an ongoing save file which has to be caught up, there is a pause whilst the save is downloaded.
Reply #12 Top

Just had an idea. I don't know if it's possible or not.

If there was a list of ongoing games that needed more players, a player would choose a game to join. The server pauses the game for the players whilst the new player downloads the save, once the player is in with the save downloaded, away we go. So there isn't an ongoing save file which has to be caught up, there is a pause whilst the save is downloaded.


Great idea; I don't think this would be too large of an annoyance seeing how long games last ;-)

But a option to allow players to do that or not would be nice.
Reply #13 Top
My buddy and I setup a fairly large map (several stars, many planets (~50), and a few AI players too) and saved it in MP...it only took seconds. I don't think there's an enormous amount of data going across the wire, but I could be wrong.

Disclaimer: I have a 8Mpbs cable connection and he has a 15Mbps fiber connections to the net.
Reply #14 Top
Tbh , all things are solved if the ICO allowed onboard filesharing so that anyone who has joined a "savegame" , can get the savegame uploaded to them by the host. And it should also allow people to replace others.

Reply #15 Top
carbon16 im sure i stated in one of my posts the game should pause when a user joins.
user trys to connect, gets connection response accepted, game pauses with the message "new player replacing XXXX" , game autosaves (so everyone is at the same point) , host uploads the save file to the new user, new user loads the game world, the game unpauses and play continues.

just because alot of americans have rather slow upload rates of around 30KB/s doesnt mean the rest of the world does and people with those kinds of uploads probably arent the people hosting anyway.

in europe alot of people have atleast 786kbps (90KB/s) and when you consider the save files seem to only be only a few mb thats only around a minute , on a 4 player medium map that minute goes down to 10-20 seconds
Reply #16 Top
Cool post :)

Not exactly sure if this is the way forward or perhaps something similar but one thing for sure something should be done as OP suggested...

signed



Reply #17 Top

My buddy and I setup a fairly large map (several stars, many planets (~50), and a few AI players too) and saved it in MP...it only took seconds. I don't think there's an enormous amount of data going across the wire, but I could be wrong.


You don't understand. That's all well and good when both players are already getting each change in real time, but to "catch up" is the real problem. Please re-read my post.

Saves seem to be a lot smaller in the final so pause -> send is very much doable. But to say it'll work in real time is ignoring the problem.
Reply #18 Top
You don't understand. That's all well and good when both players are already getting each change in real time, but to "catch up" is the real problem. Please re-read my post.

Saves seem to be a lot smaller in the final so pause -> send is very much doable. But to say it'll work in real time is ignoring the problem.


I read it. Answer me this...do any of us actally KNOW the mechanics IC employed in the current new/saved game functionality? It may well be as you're describing OR it is entirely something else. They also aren't going to give us those details here in the forum either!

My point to this was in games like World in Conflict you can join in at anytime...albiet as "reinforcements". Of course this isn't exactly the same thing we're talking about here, but I don't see the leap going from one to the other being all that difficult to attain.

I've work with coders and I have never once heard them say, "that can't be done!" They have said though, "are you nuts, do you have any idea how hard that would be?", and we get a good giggle out of it! ;-p

Reply #19 Top


I read it. Answer me this...do any of us actally KNOW the mechanics IC employed in the current new/saved game functionality? It may well be as you're describing OR it is entirely something else. They also aren't going to give us those details here in the forum either!


I'm pretty sure it doesn't employ magical pink space ponies to automatically see into the future when downloading save games, but you never know. The problem is that there will always be a N+1 move when you're sending N, and while you may be able to send that information during a game everyone's in because you have the previous "state" to rely on (computer says this ship is moving to here, that data is consistent and goes at the same rate on all clients), that is not the case with the way this idea is being proposed. It would essentially be telling the computer to look into the future because otherwise it would have to download every single click and fleet movement when before it could simply use the "this ship is at X, it is moving to Y, it will take Z time", that's substantially more difficult when you have an outdated model of who is where and then have to grab that new information all in real time! Otherwise, you will end up with quirks like frigates being delayed behind where they should be or research not showing up on time (the classic hallmarks of "lag", which is basically what this would be). The only way this can be done assuming everyone doesn't have T1 connections is with pause.

EDIT: Consider it this way. A LRM frigate takes ten seconds to move from Planet A to Planet B. I would assume the computer doesn't rely on being told exactly where the ship is at any given moment, it approximates because if five seconds have passed that ship is smack-dab in the middle of that phase lane. Uploading a save game right in the middle of that ship moving would mean the computer would have to be told exactly where that ship is to a extremely small margin of error, so that you don't have a synchronization error between the two clients. This is much harder.
Reply #20 Top
thats no different from saving a game with a ship in the middle of a phase gate and then loading the same one.
aslong as the game is paused while the ship is moving it isnt going anywhere its just a coordinate.

by your arguments mmos arent possible either

My suggestion is barely any different from people in a lobby continuing on from a save game thats why there would need to be a pause, auto save for everyone and then the new user is sent the savegame , everyone is at the same point just the same as the lobby when you load a save game instead of start a new one


btw what do you think is happening when someone is lagging and the game freezes for everyone? its waiting for him to catch up i would guess to stop him from going out of sync
Reply #21 Top
I like the idea... now if only the AI actually took over when a player left. The only thing that happens when a player leaves the game is that everything automated will continue working.
Reply #22 Top

thats no different from saving a game with a ship in the middle of a phase gate and then loading the same one.
aslong as the game is paused while the ship is moving it isnt going anywhere its just a coordinate.



Yes. I agree with that, which is why pausing is fine. The problem comes in when the thing is moving at the same time.
Reply #23 Top
/sign.

I think most players wouldn't mind a pause while transfering the map. We just need a response from IC, to see if its even slightly possible. (coding restrictions)
Reply #24 Top
The mechanics of a dynamic multiplayer game are possible (check out World in Conflict or any MMORPG). The question is if it is possible for ICO to continously monitor each game's status (e.g. unit position/movement, planet's held, number of players allowed/in-game, number of slots available, and resources) and have that updated in real time so that if there is a spot open a player can then join and continue without missing a beat. There is a lot more information in SOASE that needs to be continually updated then WiC or even an MMORPG has to keep track of for players to join.

Whether or not they can be implemented in SOASE is another story. Only Ironclad can really tell us if it is possible (hint hint IC).

Reply #25 Top

Thinking through this, it's really a no-win scenario.

The client would have to download the current save file automatically to rejoin a game in progress. The problem with this is twofold:

1. If anything happens between the sending of the save file (which is a few megabytes in size) and the player join, that data now has to be updated again
2. Latency issues would abound as the host now has to upload a save file to the client

What will happen is that on a slow connection the changes (research, fleet production, movement) will multiply with the slow upload, meaning the upload will never "catch up" and will in fact increase almost exponentially as the players do things while the upload is in progress. This will have a detrimental effect on a lot of connections, considering even the average cable upload speed (at least in the US, I know AU is in a similar situation) is only 32kb/s (256kbps). It's unlikely that upload speed will be able to "outrun" a game where even a tiny change in fleet movement can throw off all your data (and this is very important in multiplayer), and therefore it's impractical.

Civ 4 may not suffer from this problem as it is turn based. You can represent movement from X territory to Y pretty easily in a save file, but when you're talking about a 3 dimensional playing field where a ship's position is never constant...no way.

The only way I can see this happening is that a player receives the latest save file he can, and concurrent changes are added to that save file. Which may suffer from the same problems as above. Or, you just pause the game, but with a slow host connection that might take a while (the saves are pretty big).

If any devs care to correct me on this let me know, but I think that's the nail in the coffin for the idea save the exceptions above.


dude, it can work. its like connecting to a game of counter strike. the game is already in progress and you just join in. except i think the host should have an option at the start of that game to allow randoms to join for dropped player, or just the play who dropped is allowed to join, all that will happen is if some one watns to join a connection screen will pop up on every one computer the game will pause and the host click accept newcomer, or reject. and he can also have an option to reject all newcomers if he doesnt want any interuptions.