Rejoin guidelines/assist Lua
Moderator: Moderators
Rejoin guidelines/assist Lua
why
In bigger games, it happens relatively often, that someone drops, and wants to rejoin. This might not always make sense though.
I guess it would be fine in a 4vs4 after 5min in-game, but not so much in a 16vs16 after 40min, as it makes no sense to let 30 people wait for 10+min just so a single player can have fun in this very game still.
in many border-line cases, pause & un-pause fights are breaking out, with lots of arguing and hate.
let's make peace!
what
Some general rules that decide whether rejoin makes sense or not.
This might be only a rough table or formula, or it might be a specific vote that can be casted to decide over rejoin or not, which uses such a rule internally.
example
someone drops
someone still in-game starts a rejoin-vote
if the game is small, and only running since 5min, it would take only 20% yes votes, to choose to wait, and for big games after 40min, maybe 80%.
The Lua thing then might only inform about the outcome, or enforce pause if rejoin was accepted.
In bigger games, it happens relatively often, that someone drops, and wants to rejoin. This might not always make sense though.
I guess it would be fine in a 4vs4 after 5min in-game, but not so much in a 16vs16 after 40min, as it makes no sense to let 30 people wait for 10+min just so a single player can have fun in this very game still.
in many border-line cases, pause & un-pause fights are breaking out, with lots of arguing and hate.
let's make peace!
what
Some general rules that decide whether rejoin makes sense or not.
This might be only a rough table or formula, or it might be a specific vote that can be casted to decide over rejoin or not, which uses such a rule internally.
example
someone drops
someone still in-game starts a rejoin-vote
if the game is small, and only running since 5min, it would take only 20% yes votes, to choose to wait, and for big games after 40min, maybe 80%.
The Lua thing then might only inform about the outcome, or enforce pause if rejoin was accepted.
- BrainDamage
- Lobby Developer
- Posts: 1164
- Joined: 25 Sep 2006, 13:56
Re: Rejoin guidelines/assist Lua
all of this is kinda pointless since if someone uses the gadget i wrote to replace game ends, they can /take your stuff, resume playing instantly while you catch up, and share you back once you're finished
Re: Rejoin guidelines/assist Lua
rejoining needs to be more playerfriendly, it seems many players do not understand what is going on, why the game is seemingly lagging etc.
see http://springrts.com/mantis/view.php?id=2410
http://springrts.com/wiki/LuaCallinReturn
GameProgress() --> "serverFrameNum" ( called every 60 frames, calculating delta between GameFrame and GameProgress can give an ETA about catching up with simulation ) New in 0.83.x
games could just run some Lua that calculates ETA and display that to the player. The player could then be given the choice to cancel or a synced Lua part might force the canceling (if that is possible?)
put it in wiki or something.
see http://springrts.com/mantis/view.php?id=2410
http://springrts.com/wiki/LuaCallinReturn
GameProgress() --> "serverFrameNum" ( called every 60 frames, calculating delta between GameFrame and GameProgress can give an ETA about catching up with simulation ) New in 0.83.x
games could just run some Lua that calculates ETA and display that to the player. The player could then be given the choice to cancel or a synced Lua part might force the canceling (if that is possible?)
problem is, I dont think many modders knows such thing exists...if someone uses the gadget i wrote
put it in wiki or something.
- BrainDamage
- Lobby Developer
- Posts: 1164
- Joined: 25 Sep 2006, 13:56
Re: Rejoin guidelines/assist Lua
I added the call-in myself for that pourposeknorke wrote: http://springrts.com/wiki/LuaCallinReturn
GameProgress() --> "serverFrameNum" ( called every 60 frames, calculating delta between GameFrame and GameProgress can give an ETA about catching up with simulation ) New in 0.83.x
games could just run some Lua that calculates ETA and display that to the player.
it's completely unsynced, and should remain as thatknorke wrote: The player could then be given the choice to cancel or a synced Lua part might force the canceling (if that is possible?)
it's in spring base content, i even made a thread about it, which once was a sticky announcement, now some idiot unstickified it and it got lostknorke wrote:problem is, I dont think many modders knows such thing exists...if someone uses the gadget i wrote
put it in wiki or something.
Re: Rejoin guidelines/assist Lua
I thought so, very nice. Also good that you didnt forgett to document it. I'll probally use it in 0.83.I added the call-in myself for that pourpose
wasnt me. i think.it's in spring base content, i even made a thread about it, which once was a sticky, now some idiot unstickified it and it got lost
Anyway, stickies are not really the places for that. If every gadget/file in base content gets a sticky thread, that would be kinda confusing.
Instead make a wiki page and link to it from http://springrts.com/wiki/Game_and_Unit_development or something.
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
Re: Rejoin guidelines/assist Lua
Or you could stick it in the resources forum.
Re: Rejoin guidelines/assist Lua
What would help is:
* engine message that skips queue - could be lua only - (allows rejoiner gain information about current state and how long is needed to resync)
* way to "take" player without eliminating his slot completely
* way to give units to newly joined player (preferably based on lineage)
Afaik last 2 are gadgetable already with hacks like invisible units.
* engine message that skips queue - could be lua only - (allows rejoiner gain information about current state and how long is needed to resync)
* way to "take" player without eliminating his slot completely
* way to give units to newly joined player (preferably based on lineage)
Afaik last 2 are gadgetable already with hacks like invisible units.
- BrainDamage
- Lobby Developer
- Posts: 1164
- Joined: 25 Sep 2006, 13:56
Re: Rejoin guidelines/assist Lua
you actually reading my posts & links, since no hacks are necessaryLicho wrote:What would help is:
Re: Rejoin guidelines/assist Lua
ETA will be extremely difficult to calculate. The rate of catch-up will of course decrease as the game progresses. The user may never catch up. I've seen some poor noobs disconnect because the game stopped responding (because their cpu was laggin behind) and then they reconnected in hope that it would solve the problem.
It is probably better to just say a percentage of progress (number of frames) for the the catch-up. The poor noob will see the progress stop and then it starts going backwards. The failure is inevitable!
It is probably better to just say a percentage of progress (number of frames) for the the catch-up. The poor noob will see the progress stop and then it starts going backwards. The failure is inevitable!
Re: Rejoin guidelines/assist Lua
I would like to be able to set locally the speed of the watched replay when reconnecting.
Lets say you join ingame as spec. Game runs the replay at 10x speed while the graphical FPS is about 2 so you can hardly control your camera.
Now it would be nicer if you could choose to play the replay at lets say 2x speed so you can see what is actually going on and enjoy watching.
Of course you would take much longer to catch up with the game but since you are spec it doesn't matter that much because you won't have any effect on the game anyway. Instead of "watching" half of the game at 10x speed and the rest at normal speed you would be able watch whole game at 2x speed and enjoy the whole game from start.
Lets say you join ingame as spec. Game runs the replay at 10x speed while the graphical FPS is about 2 so you can hardly control your camera.
Now it would be nicer if you could choose to play the replay at lets say 2x speed so you can see what is actually going on and enjoy watching.
Of course you would take much longer to catch up with the game but since you are spec it doesn't matter that much because you won't have any effect on the game anyway. Instead of "watching" half of the game at 10x speed and the rest at normal speed you would be able watch whole game at 2x speed and enjoy the whole game from start.
Re: Rejoin guidelines/assist Lua
Giving direct message control would also help more advanced features - like ability to communicate with present (indicate you want to take over etc)
-
- Posts: 834
- Joined: 19 May 2009, 21:10
Re: Rejoin guidelines/assist Lua
You catch up and write -> others will see it in real time. So you can inform the players in game. You just don't see it immediately (broadcast is still in the queue, will be displayed at correct sim time).Licho wrote:Giving direct message control would also help more advanced features - like ability to communicate with present (indicate you want to take over etc)
When using autohosts you can also use lobby chat.