Rejoin guidelines/assist Lua

Rejoin guidelines/assist Lua

Requests for features in the spring code.

Moderator: Moderators

Post Reply
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Rejoin guidelines/assist Lua

Post by hoijui »

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.
User avatar
BrainDamage
Lobby Developer
Posts: 1164
Joined: 25 Sep 2006, 13:56

Re: Rejoin guidelines/assist Lua

Post by BrainDamage »

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
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: Rejoin guidelines/assist Lua

Post by knorke »

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?)
if someone uses the gadget i wrote
problem is, I dont think many modders knows such thing exists...
put it in wiki or something.
User avatar
BrainDamage
Lobby Developer
Posts: 1164
Joined: 25 Sep 2006, 13:56

Re: Rejoin guidelines/assist Lua

Post by BrainDamage »

knorke 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.
I added the call-in myself for that pourpose
knorke 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 completely unsynced, and should remain as that
knorke wrote:
if someone uses the gadget i wrote
problem is, I dont think many modders knows such thing exists...
put it in wiki or something.
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 lost
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: Rejoin guidelines/assist Lua

Post by knorke »

I added the call-in myself for that pourpose
I thought so, very nice. Also good that you didnt forgett to document it. I'll probally use it in 0.83.

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
wasnt me. i think. Image
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.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: Rejoin guidelines/assist Lua

Post by Forboding Angel »

Or you could stick it in the resources forum.
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Re: Rejoin guidelines/assist Lua

Post by Licho »

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.
User avatar
BrainDamage
Lobby Developer
Posts: 1164
Joined: 25 Sep 2006, 13:56

Re: Rejoin guidelines/assist Lua

Post by BrainDamage »

Licho wrote:What would help is:
you actually reading my posts & links, since no hacks are necessary
zerver
Spring Developer
Posts: 1358
Joined: 16 Dec 2006, 20:59

Re: Rejoin guidelines/assist Lua

Post by zerver »

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!
User avatar
Rafal99
Posts: 162
Joined: 14 Jan 2006, 04:09

Re: Rejoin guidelines/assist Lua

Post by Rafal99 »

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.
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Re: Rejoin guidelines/assist Lua

Post by Licho »

Giving direct message control would also help more advanced features - like ability to communicate with present (indicate you want to take over etc)
SirMaverick
Posts: 834
Joined: 19 May 2009, 21:10

Re: Rejoin guidelines/assist Lua

Post by SirMaverick »

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)
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).

When using autohosts you can also use lobby chat.
Post Reply

Return to “Feature Requests”